business logic

181 results back to index


pages: 161 words: 44,488

The Business Blockchain: Promise, Practice, and Application of the Next Internet Technology by William Mougayar

Airbnb, airport security, Albert Einstein, altcoin, Amazon Web Services, bitcoin, Black Swan, blockchain, business logic, business process, centralized clearinghouse, Clayton Christensen, cloud computing, cryptocurrency, decentralized internet, disintermediation, distributed ledger, Edward Snowden, en.wikipedia.org, Ethereum, ethereum blockchain, fault tolerance, fiat currency, fixed income, Ford Model T, global value chain, Innovator's Dilemma, Internet of things, Kevin Kelly, Kickstarter, market clearing, Network effects, new economy, peer-to-peer, peer-to-peer lending, prediction markets, pull request, QR code, ride hailing / ride sharing, Satoshi Nakamoto, sharing economy, smart contracts, social web, software as a service, too big to fail, Turing complete, Vitalik Buterin, web application, Yochai Benkler

In 2013, attention started to shift to the “blockchain 2.0” applications: uses of the same technology that underlies Bitcoin's decentralization and security to other applications, ranging from domain name registration to financial contracts to crowdfunding and even games. The core insight behind my own platform, Ethereum, was that a Turing-complete programming language, embedded into the protocol at the base layer, could be used as the ultimate abstraction, allowing developers to build applications with any kind of business logic or purpose while benefiting from the blockchain's core properties. Around the same time, systems such as the decentralized storage platform InterPlanetary File System (IPFS) began to emerge, and cryptographers came out with powerful new tools that could be used in combination with blockchain technology to add privacy, particularly zk-SNARKs, or zero-knowledge Succinct Non-Interactive ARgument Knowledge.

From a software development point of view, one of the biggest paradigm shifts that the blockchain claims is in challenging the function and monopoly of the traditional database as we currently know it. Therefore we need to deeply understand how the blockchain makes us rethink the existing database constructs. The blockchain is changing how we write applications via a new form of scripting languages that can program business logic as smart contracts that are enforced on the blockchain. SOFTWARE, GAME THEORY AND CRYPTOGRAPHY Another way to understand the blockchain is in seeing it as a triad of combustion of the known fields of 1) game theory, 2) cryptography science, and 3) software engineering. Separately, these fields have existed for a long time, but for the first time, they have together intersected harmoniously and morphed inside blockchain technology.

So, blockchains bring with them an economic model, and that is a key feature that will be expanded upon later in this book. 10. Trust Services Layer All blockchains commonly hold trust as an atomic unit of service. In essence, it is a function and a service that is delivered. But trust does not apply only to transactions. It is extended to data, services, processes, identity, business logic, terms of an agreement, or physical objects. It applies to almost anything that can be digitized as a (smart) asset with an inherent or related value attached to it. Now, imagine the possible mashup of innovations that will spring out on top of these 10 powerful features and characteristics.


Backbone.js Cookbook by Vadim Mirgorod

Airbnb, business logic, create, read, update, delete, en.wikipedia.org, Firefox, Google Chrome, MVC pattern, QR code, rolodex, Ruby on Rails, web application

So, our application should provide additional functionalities to the end user, such as the following: ‰‰ ‰‰ ‰‰ ‰‰ ‰‰ The ability to see a list of buyers and use it when generating an invoice The ability to manage buyers (create, read, update, and delete) The ability to see a list of bank accounts and use it when generating an invoice The ability to manage his/her own bank accounts (create, read, update, and delete) The ability to edit personal details and use them when generating an invoice Of course, we may want to have more functions, but this is enough for demonstrating how to design an application using the MVC pattern. 3. Next, we architect an application using the MVC pattern. After we have defined the features of our application, we need to understand what is more related to the model (business logic) and what is more related to the view (presentation). Let's split the functionality into several parts. 4. Then, we learn how to define models. Models present data and provide data-specific business logic. Models can be related to each other. In our case, they are as follows: ‰‰ ‰‰ InvoiceModel InvoiceItemModel 9 Understanding Backbone ‰‰ BuyerModel ‰‰ SellerModel ‰‰ BankAccountModel 5.

A controller allows users to interact with an application. In MVC, each view can have a different controller that is used to do following: ‰‰ Map a URL to a specific view ‰‰ Fetch models from a server ‰‰ Show and hide views ‰‰ Handle user input Defining business logic with models and collections Now, it is time to design business logic for the Billing Application using the MVC and OOP approaches. In this recipe, we are going to define an internal structure for our application with model and collection objects. Although a model represents a single object, a collection is a set of models that can be iterated, filtered, and sorted.

See model backbone-mongodb extension downloading 224 Backbone.Mousetrap extension 136 Backbone objects events, handling 117, 118 using, with mixins 210, 211 Backbone Query about 78 downloading 78 Backbone.QueryCollection 79 Backbone.Relational 87 Backbone relational extension downloading 87 Backbone.RelationalModel 89 Backbone.Router used, for switching views 110-113 Backbone.Router object 18, 25 Backbone.stickit extension advanced usage 132 model getters/setters, overriding 132 specific HTML event, listening to 133 used, for bi-directional binding 128-132 view element updates, overriding 132 Backbone.sync() method 206 260 Backbone.Validation extension 50, 54 Backbone.View 171 Backbone.View object 18 Backgrid documentation URL 175 Backgrid example 167 Backgrid extension 175 Backgrid.Grid 171 bidirectional binding performing, with Backbone.stickit 128-131 Billing Application business logic, designing 11 designing, MVC pattern used 8-11 Bootstrap framework downloading 160 used, for customizing form 158-160 built-in events about 119 add 119 change 119 change:[attribute] 119 destroy 119 error 119 invalid 119 remove 119 reset 119 route 119 route:[name] event 119 sort 119 sync 119 built-in validators acceptance 50 equalTo 52 length 51 max 51 maxLength 52 min 51 minLength 51 oneOf 52 pattern 53 range 51 rangeLength 52 required 50 using 50 bulk operations performing, on grid models 172, 173 business logic, for Billing Application BankAccountModel properties, defining 12 BuyerModel properties, defining 12 designing, with models and collections 11-13 InvoiceItemModel methods, defining 12 InvoiceItemModel properties, defining 12 InvoiceModel methods, defining 13 InvoiceModel properties, defining 13 SellerModel properties, defining 12 C callbacks binding, to transition events 47, 48 Cascading Style Sheets (CSS) 103 chain() method 78 change:[attribute] event 119 changedAttributes() method 118 change event 119 changePage() method 228 changeView() method 113 clear() method 33 clone() method 30, 68 CoffeeScript 47 collection about 93 binding, to select list 134-136 binding, to view 122-128 chaining 77, 78 common operations 65 creating 66 existing models, adding 70 index, getting 68 iterating through 75 model, adding 69 model, getting from by ID 69 model, getting from by index 67 model, removing 71 models, filtering 74 multiple models, adding 70 No SQL queries, running 78, 79 one-to-many relationship, implementing 86-89 rendering, in view 101, 102 sorting 73 various types model, storing 83-85 working, as queue 72 working, as stack 72 combining operators, No SQL operators $and 81 $nor 81 $not 81 $or 81 commit() method 152 comparator about 73 model pair, comparing 74 compatibility ensuring, search engine used 245-247 compiled templates using 148 Cross-site scripting enabling 226 D data fetching, polling technique used 201-205 data grid building 167-170 deepEqual() 218 delegateEvents() method 110 destroy event 119 destroy() method 187, 201 Document Object Model (DOM) 106, 226 DOM events handling, in view 106-110 E each() method 75, 218 Ender.js 98 equalTo validator 52 error event 119 error messages customizing 155 events callback, unbinding 117 delegating, manually 110 listening, on objects 117 managing 116 undelegating, manually 110 events, Backbone objects handling 117, 118 261 event triggering avoiding, while working with objects 119 every() method 76 executePolling() method 205 extend() method 24, 211 F fetch() method 186, 220 form customizing, Bootstrap framework used 158-160 defining 149-151 using without model 152 validation, adding 153, 154 form events handling 156-158 form templates overriding 161 Foursquare 6 G getContext() method 178 get() method about 33 using 69 getters or setters overriding 37-40 GitHub 211 Google Boot 246 Googlebot 247 Google Chrome Heap Profiler using, to detect memory leak 251-256 Groupon Now!


Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services by Robert Daigneau

Amazon Web Services, business intelligence, business logic, business process, continuous integration, create, read, update, delete, en.wikipedia.org, fault tolerance, loose coupling, machine readable, MITM: man-in-the-middle, MVC pattern, OSI model, pull request, RFC: Request For Comment, Ruby on Rails, software as a service, web application

The receiver decides how the document should be processed based upon its content and type. Domain Layer [DDD] Domain logic is “business logic.” Therefore, a Domain Layer is that part of an application or system which contains business logic. This layer may include Domain Models and Table Modules [POEAA]. A Domain Layer may also be divided further. It may, for example, have a Service Layer [POEAA] containing web services that control the activities of Domain Objects. Domain Model [POEAA] An object model where each class encapsulates the data and behavior (i.e., business logic) of significant entities in the problem domain. Event Message [EIP] A message which carries data about a topic of interest to the receiver.

Most discussions on these topics were rife with ambiguity, hyperbole, misinformation, and arguments that appealed to emotion rather than reason. Still, as a developer who had struggled with distributed object technologies, I was fascinated by web services. I saw them as a pragmatic way to integrate systems and reuse common business logic. Since then, REST has gained significant momentum, WS* services have established a solid foothold, and SOA was proclaimed dead [Manes]. Through it all, my fascination with web services never waned. As mobile, cloud, and Software-as-a-Service (SaaS) platforms cause software to become increasingly distributed, the importance of web services will only continue to increase.

• How can generic functions like authentication, validation, caching, and logging be supported on the client or service? 1 2 What Are Web Services? C HAPTER 1 F ROM O BJECTS TO W EB S ERVICES • What changes to a service cause clients to break? • What are the common ways to version a service? • How can services be designed to support the continuing evolution of business logic without forcing clients to constantly upgrade? These are just a few of the questions that must be answered. This book will help you find solutions that are appropriate for your situation. In this chapter, you’ll learn what services are and how web services address the shortcomings of their predecessors.


Mastering Blockchain, Second Edition by Imran Bashir

3D printing, altcoin, augmented reality, autonomous vehicles, bitcoin, blockchain, business logic, business process, carbon footprint, centralized clearinghouse, cloud computing, connected car, cryptocurrency, data acquisition, Debian, disintermediation, disruptive innovation, distributed ledger, Dogecoin, domain-specific language, en.wikipedia.org, Ethereum, ethereum blockchain, fault tolerance, fiat currency, Firefox, full stack developer, general-purpose programming language, gravity well, information security, initial coin offering, interest rate swap, Internet of things, litecoin, loose coupling, machine readable, MITM: man-in-the-middle, MVC pattern, Network effects, new economy, node package manager, Oculus Rift, peer-to-peer, platform as a service, prediction markets, QR code, RAND corporation, Real Time Gross Settlement, reversible computing, RFC: Request For Comment, RFID, ride hailing / ride sharing, Satoshi Nakamoto, seminal paper, single page application, smart cities, smart contracts, smart grid, smart meter, supply-chain management, transaction costs, Turing complete, Turing machine, Vitalik Buterin, web application, x509 certificate

Platform for smart contracts: A blockchain is a platform on which programs can run to execute business logic on behalf of the users. Not all blockchains have a mechanism to execute smart contracts; however, this is a very desirable feature, and it is available on newer blockchain platforms such as Ethereum and MultiChain. Smart Contracts Blockchain technology provides a platform for running smart contracts. These are automated, autonomous programs that reside on the blockchain network and encapsulate the business logic and code needed to execute a required function when certain conditions are met. For example, think about an insurance contract where a claim is paid to the traveler if the flight is canceled.

Blockchain has once again given this vision of decentralization to the world, and now concerted efforts are being made to harness this technology and take advantage of the benefits that it can provide. Computing power and decentralization Decentralization of computing or processing power is achieved by a blockchain technology such as Ethereum, where smart contracts with embedded business logic can run on the blockchain network. Other blockchain technologies also provide similar processing-layer platforms, where business logic can run over the network in a decentralized manner. The following diagram shows a decentralized ecosystem overview. At the bottom layer, the internet or Meshnets provide a decentralized communication layer. On the next layer up, a storage layer uses technologies such as IPFS and BigchainDB to enable decentralization.

Smart contracts A smart contract is a decentralized program. Smart contracts do not necessarily need a blockchain to run; however, due to the security benefits that blockchain technology provides, blockchain has become a standard decentralized execution platform for smart contracts. A smart contract usually contains some business logic and a limited amount of data. The business logic is executed if specific criteria are met. Actors or participants in the blockchain use these smart contracts, or they run autonomously on behalf of the network participants. More information on smart contracts will be provided in Chapter 9, Smart Contracts. Decentralized Organizations DOs are software programs that run on a blockchain and are based on the idea of actual organizations with people and protocols.


pages: 419 words: 102,488

Chaos Engineering: System Resiliency in Practice by Casey Rosenthal, Nora Jones

Amazon Web Services, Asilomar, autonomous vehicles, barriers to entry, blockchain, business continuity plan, business intelligence, business logic, business process, cloud computing, cognitive load, complexity theory, continuous integration, cyber-physical system, database schema, DevOps, fail fast, fault tolerance, hindsight bias, human-factors engineering, information security, Kanban, Kubernetes, leftpad, linear programming, loose coupling, microservices, MITM: man-in-the-middle, no silver bullet, node package manager, operational security, OSI model, pull request, ransomware, risk tolerance, scientific management, Silicon Valley, six sigma, Skype, software as a service, statistical model, systems thinking, the scientific method, value engineering, WebSocket

Index A above-the-line systems, Putting the Principles into Practice, Conclusion accidental complexity, Accidental Complexity adaptive capacity, Engineering Adaptive Capacity adoptionfour considerations of, Adoption obstacles to, Obstacles to Adoption obtaining management buy-in, Adoption organization-wide progression of, Who Bought into Chaos Engineering organization-wide spread of, How Much of the Organization Participates in Chaos Engineering perquisites to, Prerequisites After phasedefined, Creating Foresight summary of, Hypothesize Agile movement, Economic Pillars of Complexity Applied to Software alerting, Monitoring and alerting Allspaw, John, Human Factors, People in the Loop-Conclusion Alquraan, Ahmed, Fault Injection in the Network Alvaro, Peter, Human Factors, The Substitution Myth, The Experiment Selection Problem (and a Solution)-Conclusion Amazon Web Services (AWS)Christmas Eve 2012 outage, Chaos Monkey Is Born early days of, Management Principles as Code Antifragility, Antifragility application logiccontinuous verification for, Correctness fault injection testing, Fault Injection in Applications mismatch with business logic, Example 1: Mismatch Between Business Logic and Application Logic-Example 1: Mismatch Between Business Logic and Application Logic Aschbacher, Nathan, Evolution, Let’s Get Cyber-Physical-Conclusion automated canaries, Types of CV Systems B backup and restorein older systems, Design Patterns Common in Older Systems security Game Days, Security Game Days Barker, James, Moving your organization forward Beck, Kent, Economic Pillars of Complexity Before phasecognitive interviews, Effectively Partnering Internally-Understand Operating Procedures defined, Creating Foresight discussion of scope, Discuss Scope experiment design, Designing the Experiment-Tool Support for Chaos Experiment Design goal of, Steps of the Chaos Engineering Cycle hypothesis creation, Hypothesize-Hypothesize role determination, Hypothesize summary of, Hypothesize below-the-line systems, Putting the Principles into Practice, Conclusion blind resiliency testing, Blind Resiliency Testing Blue Teams, Security Chaos Engineering and Current Methods bootcamp concept, The hypothesis, All You Need Is Altitude and a Direction bootstrapping, Reboot everything Borg, Scope of Tests at Google “breaking stuff”, Breaking Stuff, Chaos Engineering and Resilience Brooks, Frederick, Confronting Complexity bullwhip effect, Contemplating Complexity bureaucratic organizations, Safely Organizing the Chaos bus factor, People outages business concernsbenefits of collaborative mindset, Open Minds, Open Science, and Open Chaos-Conclusion Chaos Maturity Model (CMM), Chaos Maturity Model-Putting It All Together return on investment (ROI), ROI of Chaos Engineering-Conclusion business continuity plans (BCPs), Business continuity plans business logiccontinuous verification for, Correctness mismatch with application logic, Example 1: Mismatch Between Business Logic and Application Logic-Example 1: Mismatch Between Business Logic and Application Logic C cache inconsistency, Avoid Cache Inconsistency Cahoon, Jason, Principles in Action, Google DiRT: Disaster Recovery Testing-Conclusion call graph tracing, Observability: The Opportunity canary testing, Types of CV Systems capacitycapacity management, Capacity management role in fault tolerance, Getting to Basic Fault Tolerance Capital Oneachievements of, A Capital One Case Study approach to Chaos Engineering at, Principles in Action case studyblind resiliency testing, Blind Resiliency Testing chaos experiments in CI/CD, Chaos Experiments in CI/CD designing experiments, Things to Watch Out for While Designing the Experiment evangelism, Evangelism team structure, Team Structure tooling, Tooling transition to Chaos Engineering, Transition to Chaos Engineering case studies (see use cases) Chaos Automation Platform (ChAP)application of Advanced Principles, The Advanced Principles in ChAP benefits of, ChAP as Continuous Verification demonstrating ROI for, Alternative ROI Example limiting blast radius in, Minimize Blast Radius overview of, Tool Support for Chaos Experiment Design, CV in the Wild: ChAP running experiments, ChAP: Running Experiments selecting experiments, ChAP: Selecting Experiments Chaos Community Day, Community Is Born, The Future of “The Principles” Chaos Engineering (see also Principles of Chaos Engineering)applying to databases, Applying Chaos Engineering-Fault Injection in the Filesystem applying to sociotechnical systems, Humanistic Chaos-If You’re Not Failing, You’re Not Learning benefits of, Safety, Conclusion, Degree of Variation characteristics of, Fast Evolution, The Systemic Perspective, What Chaos Engineering Is-Antifragility conflicting guidance on, Principles in Action, Human Factors core philosophy of, Google DiRT: Disaster Recovery Testing defined, Formalizing the Discipline, What Chaos Engineering Is, Chaos Engineering and Resilience evaluation of, Chaos Maturity Model Failure Mode and Effects Analysis (FMEA) and, FMEA and Chaos Engineering foundational models for, Safety, Economic Pillars of Complexity Applied to Software goals of, Formalizing the Discipline, Breaking Stuff, Chaos Engineering and Resilience, ROI of Chaos Engineering, The Rise of Cyber-Physical Systems history of, Introduction: Birth of Chaos-Fast Evolution Human and Organizational Performance (HOP) and, HOP Meets Chaos Engineering-Chaos Engineering and HOP in Practice in IT and cloud-dominated ecosystems, Let’s Get Cyber-Physical role in complex systems, Setting the Stage, Encountering Complex Systems steps of experimentation, What Chaos Engineering Is, Tooling, Steps of the Chaos Engineering Cycle-Hypothesize team structure, Team Structure Chaos Kong, Going Big, Automation of the platforms Chaos Maturity Model (CMM)Adoption, Adoption-Obstacles to Adoption benefits of, Business Factors, Chaos Maturity Model development of, Chaos Maturity Model mapping the properties, Putting It All Together Sophistication, Sophistication-Automation of the platforms Chaos Monkeyas low-hanging fruit of Chaos Engineering, Vary Real-World Events birth of, Chaos Monkey Is Born, Adoption initial use of, Automation of the platforms popularity of, Why Do We Need Chaos Engineering?

Chaos Kong took a similar approach at the macroscopic level, turning off entire regions. As the tooling grows more sophisticated, it moves up into application logic, affecting requests between services. Above that, we see even more sophisticated experiments when the variable affects business logic, for example, delivering a plausible but unexpected response to a service. The natural progression of experimentation is Infrastructure -> Application -> Business Logic. Putting It All Together Drawing the two properties, Adoption and Sophistication, as axes orthogonal to each other provides us with a map (see Figure 15-1). Starting in the lower-left quadrant of this map we have Game Days run by individual SREs or other interested folks.

Unfortunately, even if all of the components of a complex system are provable correct, the system as a whole can still emit undesirable behavior. Business This is often implicit in assumptions made apparent in a user interface. In order for a business to be competitive, it will often have to innovate. If the business logic is innovative, then it is not practical to rigorously specify it since it will likely change in response to conditions in an uncertain environment. Business logic therefore is the most difficult to verify, and mismatches between business, application, and infrastructure logic are an inevitable possibility in any situation with resource constraints. If the guarantees of the three layers above are out-of-sync, then issues of correctness will manifest over time.


pages: 328 words: 77,877

API Marketplace Engineering: Design, Build, and Run a Platform for External Developers by Rennay Dorasamy

Airbnb, Amazon Web Services, barriers to entry, business logic, business process, butterfly effect, continuous integration, DevOps, digital divide, disintermediation, fault tolerance, if you build it, they will come, information security, Infrastructure as a Service, Internet of things, Jeff Bezos, Kanban, Kubernetes, Lyft, market fragmentation, microservices, minimum viable product, MITM: man-in-the-middle, mobile money, optical character recognition, platform as a service, pull request, ride hailing / ride sharing, speech recognition, the payments system, transaction costs, two-pizza team, Uber and Lyft, uber lyft, underbanked, web application

For example, an API product to retrieve a Customer profile could leverage a number of middleware components to assemble the response. The response from one system could be interrogated and transformed to construct the request for another. It is extremely important to differentiate between application and business logic. Routing a request to a middleware service to create a customer is an example of application logic. The process to create the customer record is an example of business logic. As the Marketplace is a new channel to the enterprise, it should leverage centrally owned and controlled business processes. Figure 8-7Logic microservice orchestration The northbound interface of this component is typically the swagger definition which is published on the API Gateway.

I have since apologized to the annoyed engineers who initially suggested the use of gRPC and have rightfully attributed its discovery and introduction to them. With that being said, I retain the claim for “weaponizing” the technology and taking it from a R&D construct to an operational environment. The Power of Port-Forward As our Business Logic components could leverage several integration microservices to fulfill a specific function, it became increasingly more challenging to assemble the solution. DevOps Continuous Integration (CI) pipelines can be leveraged for code deployments to the server. CI processes are great for transitioning between environments, but for initial development tasks, I consider using a CI pipeline like having a conversation with someone on a remote planet.

Each component fit into a specific layer and, like a military chain of command, a strict protocol was enforced – a component was only allowed to receive requests from the immediate layer above and could only relay requests to the layer below. Although the Architecture diagrams were great, they did not translate well from a development and execution perspective. Integrating into a new backend, adding or updating business logic required changes to various layers which slowed down delivery and increased operational overhead. Adding in new elements into the architecture also caused significant angst and architectural conjecture when solutioning. Based on the battle scars of trying to compartmentalize components into layers, we have deliberately adopted a fairly “loose” architectural pattern.


pages: 420 words: 79,867

Developing Backbone.js Applications by Addy Osmani

Airbnb, anti-pattern, business logic, create, read, update, delete, don't repeat yourself, Firefox, full text search, Google Chrome, Khan Academy, Kickstarter, loose coupling, MVC pattern, node package manager, pull request, Ruby on Rails, side project, single page application, web application

The answer largely comes down to where the application logic and workflow is coded. In the case of an event aggregator, the third party object is there only to facilitate the pass-through of events from an unknown number of sources to an unknown number of handlers. All workflow and business logic that needs to be kicked off is put directly into the object that triggers the events and the objects that handle the events. In the case of the mediator, though, the business logic and workflow is aggregated into the mediator itself. The mediator decides when an object should have its methods called and attributes updated based on factors that the mediator knows about. It encapsulates the workflow and process, coordinating multiple objects to produce the desired system behaviour.

The rise of arbitrary code on the client-side which can talk to the server however it sees fit has meant an increase in client-side complexity. Good architecture on the client has gone from an afterthought to essential - you can’t just hack together some jQuery code and expect it to scale as your application grows. Most likely, you would end up with a nightmarish tangle of UI callbacks entwined with business logic, destined to be discarded by the poor soul who inherits your code. Thankfully, there are a growing number of JavaScript libraries that can help improve the structure and maintainability of your code, making it easier to build ambitious interfaces without a great deal of effort. Backbone.js has quickly become one of the most popular open-source solutions to these issues and in this book we will take you through an in-depth walkthrough of it.

At its core are the three MVC components we would expect - the Model, View and Controller architecture. In Rails: Models represent the data in an application and are typically used to manage rules for interacting with a specific database table. You generally have one table corresponding to one model with much of your application’s business logic living within these models. Views represent your user interface, often taking the form of HTML that will be sent down to the browser. They’re used to present application data to anything making requests from your application. Controllers offer the glue between models and views. Their responsibility is to process requests from the browser, ask your models for data and then supply this data to views so that they may be presented to the browser.


pages: 255 words: 55,018

Architecting For Scale by Lee Atchison

Amazon Web Services, business logic, business process, cloud computing, continuous integration, DevOps, Internet of things, microservices, platform as a service, risk tolerance, software as a service, web application

To implement an improved piece of business functionality, an individual developer must make changes within the single application, and all developers making changes must make them within the same single application. Developers can easily step on one another’s toes, and make conflicting changes that result in problems and outages. In a service-oriented architecture, individual services are created that encompass a specific subset of business logic. These individual services are interconnected to provide the entire set of business logic for the application. The Monolith Application Figure 11-1 shows an application that is a large, single entity with a complex, indecipherable infrastructure. This is how most applications begin to look if they are constructed and grow as monolithic applications.

How should you collect, process, and store these credit cards and the payments they represent? A good business strategy would be to put the credit card processing in a different service, separate from the rest of the system. Putting critical business logic such as credit card processing into its own service is valuable for several reasons: Legal/regulatory requirements There are legal and regulatory requirements around how you store credit cards that require you to treat them in different ways from other business logic and other business data. Separating this into a distinct service makes it easier to treat this data differently from the rest of your business data. Security You might need additional firewalls for security reasons around these servers.

This sort of data integration would require tighter coordination between Service A and Service B than is desired, and it can cause problems when data maintenance and schema migration activities need to occur. In general, the accessing of Service B’s data directly by Service A without involving Service B’s business logic in that process can cause serious data versioning and data corruption issues. It should be strictly avoided. Figure 12-2. Incorrect way to share data As you can see, determining data division lines is an important characteristic in determining service division lines. Does it make sense for a given service to be the “owner” of its data and provide access to that data only via external service interfaces?


pages: 196 words: 58,122

AngularJS by Brad Green, Shyam Seshadri

business logic, combinatorial explosion, continuous integration, Firefox, Google Chrome, Kickstarter, MVC pattern, node package manager, single page application, systems thinking, web application, WebSocket

This certainly does have the negative side effects that folks talk about when describing the issue labeled as structure/behavior. There’s a simple acid test we can use to figure out if our system suffers from this coupling: can we create a unit test for our app logic that doesn’t require the DOM to be present? In Angular, yes we can write controllers containing our business logic without having references to the DOM.The problem was never in the event handlers, but rather in the way we needed to write JavaScript previously. Notice that in all the controllers we’ve written so far, here and elsewhere in this book, there are no references to the DOM or DOM events anywhere.

So spend some extra time thinking about your model, what the attributes of your object are going to be, and how you are going to retrieve it from the server and save it. The view will get updated automatically through the use of data bindings, so the focus should always be on the model. The controller holds the business logic: how you retrieve your model, what kinds of operations you perform on it, what kind of information your view needs from the model, and how you transform the model to get what you want. The responsibility of validation, making server calls, bootstrapping your view with the right data, and mostly everything in between belongs on your controller.

It should mostly be restricted to the following: Displaying your model Defining the ways the user can interact with your application (clicks, input fields, and so on) Styling the app, and figuring out how and when some elements are displayed (show or hide, hover, and so on) Filtering and formatting your data (both input and output) Realize that the template in Angular is not necessarily the view part of the Model View Controller design paradigm. Instead, the view is the compiled version of the template that gets executed. It is a combination of the template and the model. What should not go into the template is any kind of business logic or behavior; this information should be restricted to the controller. Keeping the template simple allows a proper separation of concerns, and also ensures that you can get the most code under test using only unit tests. Templates will have to be tested with scenario tests. But, you might ask, where does DOM manipulation go?


pages: 422 words: 86,414

Hands-On RESTful API Design Patterns and Best Practices by Harihara Subramanian

blockchain, business logic, business process, cloud computing, continuous integration, create, read, update, delete, cyber-physical system, data science, database schema, DevOps, disruptive innovation, domain-specific language, fault tolerance, information security, Infrastructure as a Service, Internet of things, inventory management, job automation, Kickstarter, knowledge worker, Kubernetes, loose coupling, Lyft, machine readable, microservices, MITM: man-in-the-middle, MVC pattern, Salesforce, self-driving car, semantic web, single page application, smart cities, smart contracts, software as a service, SQL injection, supply-chain management, web application, WebSocket

As a platform or a framework, it's good that it addresses a few technical cross-cutting concerns, such as auditing, load-balancing, authentication, and health checks, so that service or API developers can focus on business logic without worrying too much about those technical concerns, also called non-functional requirements. Light 4j provides various handler logic and separates those non-functional requirements from the business context, to help the API developers to focus on developing business logic. Learning about Light Rest 4j Light Rest 4j is a framework that is built on top of Light 4j, and designed to speed up RESTful API development and deployment.

While layered systems bring additional latency and overhead as a drawback, there are trade-offs that are the benefits of layers and layered system designs, as follows: Encapsulates legacy services Introduces intermediaries Limits system complexity Improves scalability Code on demand In distributed computing, code on demand (COD) is any technology that enables the server to send the software code to the clients to be executed on the client computer upon request from the client's software. Some well-known examples of the COD paradigm on the web are Java applets, the Adobe ActionScript language for the Flash player, and JavaScript. The following can also be called the advantages of COD: COD is the optional constraint of REST and intends to allow business logic within the client web browser, applets, JavaScript, and ActionScript (Flash). I think video on demand sites are good examples of COD, as the video data files are downloaded and played according to the client system's specifications. Only one optional constraint according to REST architectural style and it is COD.

As design patterns provide generic, time-tested, proven, and reusable solutions to familiar yet recurring design problems, API design patterns are essential for software designers to learn and adapt in their RESTful API applications. API design patterns provide a description or templates to solve specific, recurring API design problems that any software architects and API designers would like to adopt in their API designs. Adopting patterns provides much flexibility to developers and helps them focus on business logic implementation and deliver the service with high quality. As part of this chapter, we will learn the following common yet essential API design patterns, along with a few sample pieces of code as well. However, please note that there is no specific order to the following patterns and each pattern addresses the RESTful constraints.


pages: 378 words: 67,804

Learning Android by Marko Gargenta

business logic, create, read, update, delete, database schema, Firefox, loose coupling, slashdot, SQL injection, web application

As it stands right now, the SimpleCursorAdapter is capable only of mapping straight from a database value to layout view. This doesn’t work for our needs, because we need to add some business logic in between the data and the view. To do this, we’ll create our own adapter. TimelineAdapter TimelineAdapter is our custom adapter, shown in Example 10-6. Although SimpleCursorAdapter did a straightforward mapping of data in the database to views on the screen, we had an issue with the timestamp. The job of TimelineAdapter is to inject some business logic to convert the Unix timestamp to relative time. The method in SimpleCursorAdapter that creates a displayable view from input data is bindView(), so we’ll override that method and ask it to massage the data before it is displayed.

ViewBinder: A Better Alternative to TimelineAdapter Instead of creating a new TimelineAdapter that is a subclass of SimpleCursorAdapter and overriding its bindView() method, we could attach the business logic directly to the existing SimpleCursorAdapter. This approach is more efficient because we are not overriding bindView() and we do not require a separate custom adapter class. To attach business logic to an existing SimpleCursorAdapter, use its setViewBinder() method. We will need to supply the method with an implementation of ViewBinder. ViewBinder is an interface that specifies setViewValue(), where the actual binding of a particular date element to a particular view happens.

Since there may be quite a bit of data, we will use ScrollView to wrap our text and provide scroll bars. The second iteration uses the much more scalable and efficient ListView and Adapter approach. In this step, you will learn how adapters and lists work. Finally, we will create a custom Adapter to handle some additional business logic. At this point, we are going under the hood of an adapter and adding custom processing. You’ll understand the purpose and usage of adapters better after this exercise. Basic TimelineActivity Layout In this first iteration, we are creating a new layout for the TimelineActivity. This layout initially uses a TextView to display all the data that we have in the database.


Refactoring: Improving the Design of Existing Code by Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts

business logic, conceptual framework, database schema, index card, MVC pattern, no silver bullet, place-making, sorting algorithm

Duplicate Observed Data You have domain data available only in a GUI control, and domain methods need access. Copy the data to a domain object. Set up an observer to synchronize the two pieces of data. Motivation A well-layered system separates code that handles the user interface from code that handles the business logic. It does this for several reasons. You may want several interfaces for similar business logic; the user interface becomes too complicated if it does both; it is easier to maintain and evolve domain objects separate from the GUI; or you may have different developers handling the different pieces. Although the behavior can be separated easily, the data often cannot.

This idea underpinned the relationship between the graphical user interface (GUI) and domain objects in Smalltalk-80. 302 The gold at the heart of MVC is the separation between the user interface code (the view, these days often called the presentation) and the domain logic (the model). The presentation classes contain only the logic needed to deal with the user interface. Domain objects contain no visual code but all the business logic. This separates two complicated parts of the program into pieces that are easier to modify. It also allows multiple presentations of the same business logic. Those experienced in working with objects use this separation instinctively, and it has proved its worth. But this is not how most people who work with GUIs do their design. Most environments with client-server GUIs use a logical two-tier design: the data sits in the database and the logic sits in the presentation classes.

One-way links are easier, but sometimes you need to Change Unidirectional Association to Bidirectional to support a new function. Change Bidirectional Association to Unidirectional removes unnecessary complexity should you find you no longer need the two-way link anymore. I've often run into cases in which GUI classes are doing business logic that they shouldn't. To move the behavior into proper domain classes, you need to have the data in the domain class and support the GUI by using Duplicate Observed Data. I normally don't like duplicating data, but this is an exception that is usually impossible to avoid. One of the key tenets of object-oriented programming is encapsulation.


Designing Web APIs: Building APIs That Developers Love by Brenda Jin, Saurabh Sahni, Amir Shevat

active measures, Amazon Web Services, augmented reality, Big Tech, blockchain, business logic, business process, cognitive load, continuous integration, create, read, update, delete, exponential backoff, Google Hangouts, if you build it, they will come, Lyft, machine readable, MITM: man-in-the-middle, premature optimization, pull request, Salesforce, Silicon Valley, Snapchat, software as a service, the market place, uber lyft, web application, WebSocket

Designing for a Great Developer Experience | 51 Make Troubleshooting Easy Another best practice for designing APIs is making troubleshooting easy for developers. This can be done through returning meaningful errors as well as by building tooling. Meaningful errors What’s in an error? An error can occur in many places along your code path, from an authorization error during an API request, to a business logic error when a particular entity doesn’t exist, to a lowerlevel database connection error. When designing an API, it is help‐ ful to make troubleshooting as easy as possible by systematically organizing and categorizing errors and how they are returned. Incorrect or unclear errors are frustrating and can negatively affect adoption of your APIs.

Map out the vari‐ ous high-level categories of errors that occur during the course of an API request, from the beginning of the request to any service boundaries within your architecture. Table 4-2 provides a brief example to get you started. Table 4-2. Group errors into high-level categories Error category System-level error Examples Database connection issue Backend service connection issue Fatal error Business logic error Rate-limited Request fulfilled, but no results were found Business-related reason to deny access to information API request formatting error Required request parameters are missing Combined request parameters are invalid together Authorization error OAuth credentials are invalid for request Token has expired After grouping your error categories throughout your code path, think about what level of communication is meaningful for these errors.

Table 4-3 offers examples of how you might begin to organize your errors as you design your API. Table 4-3. Organize your errors into status codes, headers, machinereadable codes, and human-readable strings Error category HTTP status HTTP headers Error code (machine-readable) System-level 500 error Business logic 429 error -- -- RetryAfter rate_limit_exceeded API request formatting error Auth error 400 -- 401 -- Error message (humanreadable) -- “You have been rate-limited. See Retry-After and try again.” missing_required_parameter “Your request was missing a {user} parameter.” “Your ClientId is invalid_request invalid.”


Python Web Development With Django by Jeff Forcier

business logic, create, read, update, delete, database schema, Debian, don't repeat yourself, duck typing, en.wikipedia.org, Firefox, full text search, functional programming, Guido van Rossum, loose coupling, MVC pattern, revision control, Ruby on Rails, Silicon Valley, slashdot, SQL injection, web application

Controlling Which Stories Are Viewed Our database contains both publishable (3 and 4 from STATUS_CHOICES previously shown) and not-yet-publishable (statuses 1 and 2) stories.We want a convenient way to have only the former viewable on the site’s public pages, although of course making sure the full set is editable in the admin. Because this is a matter of business logic rather than presentation style, it should be implemented in our model. We could make it happen via {% if...%} tags in our templates, but that solution would end up being needlessly brittle, verbose, and repetitive. (If you don’t believe this, we encourage you to try it—the negatives become apparent before you’re through!) Based on your authors’ collective experience, it’s always a good idea to keep business logic out of your templates because over time they turn into spaghetti! We add this capability to our Story model via a custom Manager.

If you added 'title' after the comma, and you had two posts titled “A” and “B” with the same timestamp, post “A” would come first. Timestamp Formatting Via a Template Filter That timestamp is handy, but its ISO8601 format is a little nerdy. Let’s humanize it a bit by using a cool feature of the Django template system: filters. Because this is a presentation detail, not a data structure or business logic detail, the appropriate place for it is in the template. Open your archive.html file and change the “post.timestamp” line to <p>{{ post.timestamp|date }}</p> To apply a filter to a variable, you simply tack it on to the end of the variable name— inside the curly brackets—using a vertical bar, or “pipe,” character.

In the course of building this skeletal blog app you’ve seen a number of Django’s elegant, laborsaving features: n n n n The built-in Web server, which makes your development work more self-contained and automatically reloads your code if you edit it The pure-Python approach to data model creation, which saves you from having to write or maintain SQL code or XML description files The automatic admin application, which provides full-fledged content-editing features even for nontechnical users The template system, which can be used to produce HTML, CSS, JavaScript, or any textual output format 75 76 Chapter 2 Django for the Impatient: Building a Blog n n Template filters, which can alter the presentation of your data (such as dates) without messing with your application’s business logic The URLconf system, which gives you great flexibility in URL design while keeping application-specific portions of URLs in the application, where they belong Just to give you an idea of what’s ahead, the following are some things we could proceed to do to our blog using Django’s built-in features: n n n Publish Atom or RSS feeds of our latest posts (see Chapter 11) Add a search feature so that users can locate blog posts containing specific terms (see the CMS example app in Chapter 8,“Content Management System”) Adopt Django’s “generic views” to avoid having to write any code in views.py at all (see the Pastebin example app in Chapter 10,“Pastebin”) You’ve completed your whirlwind tour of Django basics.


pages: 39 words: 10,453

Designing Great Web APIs: Creating Business Value Through Developer Experience by James Higginbotham

business logic, business process, cloud computing, create, read, update, delete, Internet of things, software as a service, web application

This mimics how we use the Web: we go to a homepage, click the login link, enter our credentials, then navigate to various areas of the application. Using hypermedia enables our clients to be more flexible and reduces the amount of business logic we have to code into them. Instead, they look for the existence of specific links within a response payload and offer (or hide) specific actions based on the server’s determination of what is and isn’t allowed. If the business logic needs to change in a workflow, the server simply adds or removes the appropriate hypermedia links that are used to guide the client’s behavior. Some REST purists believe that hypermedia is a requirement for an API to be labeled REST.

In addition to modern browsers, there has been explosive growth in mobile devices such as phones and tablets. These devices have access to the Internet from most locations and offer GPS location and app-store distribution. Applications no longer have to be web pages in a browser. Instead, they can use APIs to access data and business logic to get things done. Finally, the Internet of Things (IoT) is moving the world of devices, previously requiring human intervention, into autonomous replacements that combine the physical world with the world of software. As a result, APIs enable IoT devices to broadcast their telemetry data and receive commands from other systems.


pages: 2,054 words: 359,149

The Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities by Justin Schuh

address space layout randomization, Albert Einstein, Any sufficiently advanced technology is indistinguishable from magic, bash_history, business logic, business process, database schema, Debian, defense in depth, en.wikipedia.org, Firefox, information retrieval, information security, iterative process, Ken Thompson, loose coupling, MITM: man-in-the-middle, Multics, MVC pattern, off-by-one error, operational security, OSI model, RFC: Request For Comment, slashdot, SQL injection, web application

This presentation logic could be an XSLT stylesheet written by a designer that instructs the server how to render the data into HTML. Business Logic The programs that make up a Web application have to deal with the vagaries of a HTTP/HTML-based user interface as well as the actual business logic that drives the site. Business logic is a somewhat nebulous term, but it generally refers to procedures and algorithms an application performs that directly relate to business items and processes. For example, in a banking Web site, business logic includes tasks such as looking up bank accounts, enforcing rules for money transfers, and verifying a request for a credit limit increase. Business logic doesn’t include tasks related to the Web site infrastructure or interface, such as expiring a user’s token, making sure a user is authenticated to the Web site, formatting HTML output, and handling missing form input in a user request.

(Web services and SOAP are discussed more in Chapter 18.) The Web tier is essentially the Web server. This tier is typically responsible for handling user requests, dispatching requests to the business logic, handling the results from the business logic, and rendering results into HTML for end users. The Web tier is composed of Web server software; application code such as ASP, PHP, or Java servlets; and HTML and any accompanying presentation logic. The business tier handles the business logic of a Web application. This tier handles requests from the Web tier to perform business functions. It’s often implemented by using an application server that hosts business objects.

Business logic doesn’t include tasks related to the Web site infrastructure or interface, such as expiring a user’s token, making sure a user is authenticated to the Web site, formatting HTML output, and handling missing form input in a user request. Another related concept is business objects, which encapsulate business logic in an object-oriented framework. For example, a banking site might define business objects such as Customer, Account, and Transfer, and define methods that carry out business logic, such as Account.getStatement() and Transfer.Validate(). N-Tier Architectures Many enterprise Web applications are constructed with multiple tiers, in which Web site functionality is divided into separate components and distributed across multiple servers, as shown in Figure 17-3.


Reactive Messaging Patterns With the Actor Model: Applications and Integration in Scala and Akka by Vaughn Vernon

A Pattern Language, business intelligence, business logic, business process, cloud computing, cognitive dissonance, domain-specific language, en.wikipedia.org, fault tolerance, finite state, functional programming, Internet of things, Kickstarter, loose coupling, remote working, type inference, web application

Message Routing In Chapter 4, “Messaging with Actors,” you were introduced to the basic idea of Message Routers (140) and why they should be used, both in your local actor system and beyond, for integration purposes. Routers allow you to decouple the message source from the message destination, and you can place business logic in any given Message Router (140) to determine how the routing should take place. There’s nothing inherently wrong with a Message Router (140) being responsible for the business logic, but depending on the type of router used, you can limit the amount of business logic needed. Since routing can be used both within an Akka cluster and across clusters for integration, remember that routing to remote routees is at your disposal.

* * * Amazon.com Designs with Actor Model Principles In an interview with Association for Computing Machinery (ACM), Amazon.com CTO Werner Vogels comments on service orientation in Amazon’s architecture [ACM-Amazon]: This was way before service-oriented was a buzzword. For us service orientation means encapsulating the data with the business logic that operates on the data, with the only access through a published service interface. No direct database access is allowed from outside the service, and there’s no data sharing among the services. As you will see in the “How the Actor Model Helps” section, these very principles of “encapsulating the data with the business logic...and there’s no data sharing among the services” are central to the Actor model. * * * Since scalability is necessary and must never be an afterthought, there had better be some way to deal with the network’s impact on distributed systems.

In Chapter 5, “Messaging Channels,” I expand on the basic channel mechanism and explore several kinds of channels, each with a specific advantage when dealing with various application and integration challenges. Chapter 6, “Message Construction,” shows you how each message must convey the intent of the sender’s reason to communicate with the receiver. Chapter 7, “Message Routing,” shows you how to decouple the message source from the message destination and how you might place appropriate business logic in a router. In Chapter 8, “Message Transformation,” you’ll dig deeper into various kinds of transformations that messages may undergo in your applications and integrations. In Chapter 9, “Message Endpoints,” you will see the diverse kinds of endpoints, including those for persistent actors and idempotent receivers.


pages: 133 words: 42,254

Big Data Analytics: Turning Big Data Into Big Money by Frank J. Ohlhorst

algorithmic trading, bioinformatics, business intelligence, business logic, business process, call centre, cloud computing, create, read, update, delete, data acquisition, data science, DevOps, extractivism, fault tolerance, information security, Large Hadron Collider, linked data, machine readable, natural language processing, Network effects, pattern recognition, performance metric, personalized medicine, RFID, sentiment analysis, six sigma, smart meter, statistical model, supply-chain management, warehouse automation, Watson beat the top human players on Jeopardy!, web application

Of course, one of the primary capabilities offered by abstraction tools is the ability to normalize and interpret the data into a uniform structure, which can be further worked with. The key here is to make sure that whatever abstraction technology is employed deals with current and future data sets efficiently. Business logic. A critical component of the Big Data analytics process is logic, especially business logic, which is responsible for processing the data. Currently, MapReduce reigns supreme in the realm of Big Data business logic. MapReduce was designed to handle the processing of massive amounts of data through moving the processing logic to the data and distributing the logic in parallel to all nodes. Another factor that adds to the appeal of MapReduce is that developing parallel processing code is very complex.

See Business intelligence (BI) Big Data and Big Data analytics analysis categories application platforms best practices business case development challenges classifications components defined evolution of examples of 4Vs of goal setting introduction investment in path to phases of potential of privacy issues processing role of security (See Security) sources of storage team development technologies (See Technologies) value of visualizations Big Science BigSheets Bigtable Bioinformatics Biomedical industry Blekko Business analytics (BA) Business case best practices data collection and storage options elements of introduction Business intelligence (BI) as Big Data analytics foundation Big Data analytics team incorporation Big Data impact defined extract, transform, and load (ETL) information technology and in-memory processing limitations of marketing campaigns risk analysis storage capacity issues unstructured data visualizations Business leads Business logic Business objectives Business rules C Capacity of storage systems Cassandra Census data CERN Citi Classification of data Cleaning Click-stream data Cloud computing Cloudera Combs, Nick Commodity hardware Common Crawl Corpus Communication Competition Compliance Computer security officers (CSOs) Consulting firms Core capabilities, data analytics team Costs Counterintelligence mind-set CRUD (create, retrieve, update, delete) applications Cryptographic keys Culture, corporate Customer needs Cutting, Doug D Data defined growth in volume of value of See also Big Data and Big Data analytics Data analysis categories challenges complexity of as critical skill for team members data accuracy evolution of importance of process technologies Database design Data classification Data discovery Data extraction Data integration technologies value creation Data interpretation Data manipulation Data migration Data mining components as critical skill for team members defined examples methods technologies Data modeling Data protection.


pages: 193 words: 46,550

Twisted Network Programming Essentials by Jessica McKellar, Abe Fettig

business logic, continuous integration, WebSocket

The Components of Twisted Cred Before we get into the usage examples, there are a few terms that you should familiarize yourself with: Credentials Information used to identify and authenticate a user. Common credentials are a username and password, but they can be any data or object used to prove a user’s identity, such as a certificate or challenge/response protocol. Objects that provide credentials implement twisted.cred.credentials.ICredentials. Avatar A business logic object in a server application that represents the actions and data available to a user. For example, an avatar for a mail server might be a mailbox 81 object, an avatar for a web server might be a resource, and an avatar for an SSH server might be a remote shell. Avatars implement an interface that inherits from zope.interface.Interface.

Authentication in Twisted Applications So far these Twisted Cred examples have used servers outside the Twisted application infrastructure discussed in Chapter 6. Twisted makes it easy to integrate authentication into applications deployed through twistd using the AuthOptionMixin class, and this is in fact where Twisted Cred really shines for providing a standard interface for swapping in and out authentication mechanisms decoupled from the business logic of your ap‐ plication. As a concrete example, let’s convert our authenticating echo server from Example 9-1 to a Twisted application. First, delete the realm, portal, and reactor code, which twistd and the plugin will handle instead, from that server file: -realm = Realm() -myPortal = portal.Portal(realm) -checker = checkers.InMemoryUsernamePasswordDatabaseDontUse() -checker.addUser("user", "pass") -myPortal.registerChecker(checker) -reactor.listenTCP(8000, EchoFactory(myPortal)) -reactor.run() Then, create a plugin for this application using the same template from Example 6-4: in the directory containing the server application, create a twisted directory containing a plugins directory containing a file echo_cred_plugin.py.

An implementor of imap4.IMailbox, which represents an individual mailbox. Users can check, add messages to, and expunge messages from their mailboxes. The mailbox must understand how a message is stored—in our case, in the Maildir format. 3. An implementor of imap4.IAccount, which is the avatar—the business logic object in the Twisted Cred model. Through this mail account, users can manage and list their mailboxes. Example 13-4 shows a minimal IMAP server implementation. Example 13-4. IMAP Maildir server, imapserver.py import email import os import random from StringIO import StringIO import sys from zope.interface import implements IMAP Clients and Servers | 133 from from from from twisted.cred import checkers, portal twisted.internet import protocol, reactor twisted.mail import imap4, maildir twisted.python import log class IMAPUserAccount(object): implements(imap4.IAccount) def __init__(self, userDir): self.dir = userDir def _getMailbox(self, path): fullPath = os.path.join(self.dir, path) if not os.path.exists(fullPath): raise KeyError, "No such mailbox" return IMAPMailbox(fullPath) def listMailboxes(self, ref, wildcard): for box in os.listdir(self.dir): yield box, self.


pages: 739 words: 174,990

The TypeScript Workshop: A Practical Guide to Confident, Effective TypeScript Programming by Ben Grynhaus, Jordan Hudgens, Rayon Hunte, Matthew Thomas Morgan, Wekoslav Stefanovski

Ada Lovelace, Albert Einstein, business logic, Charles Babbage, create, read, update, delete, don't repeat yourself, Donald Knuth, fault tolerance, Firefox, full stack developer, functional programming, Google Chrome, Hacker News, higher-order functions, inventory management, Kickstarter, loose coupling, node package manager, performance metric, QR code, Ruby on Rails, SQL injection, type inference, web application, WebSocket

You have added some behavior while keeping everything that already was. Now, you can replace the original method with the new improved one. What you will get with this approach is this: the original method won't know or care about the cross-cutting concerns of the application, instead focusing on its own business logic – the application can "upgrade" the method at runtime with one that has all the necessary business logic as well as all the required additions. This kind of transparent "upgrade" is often termed a decoration, and the method that does the decorating is called a decorator method. What has been shown here is just one form that a decoration can take.

Introduction So far, we've learned some of the basics of TypeScript, how to set up a project, and the use of definition files. Now we will delve into the topic of functions, which are going to be the most important tools in your arsenal. Even object-oriented programming paradigms depend heavily on functions as a basic building block of business logic. Functions, sometimes called routines or methods, are part of every high-level programming language. The ability to reuse segments of code is critical, but functions provide an even more important role than that in that they can be given different arguments, or variables, to act against and produce different results.

The aim of this activity is to demonstrate the uses of class and method decorators in order to address a cross-cutting concern of your application, without changing the functionality of the given class. You should have a detailed statistic of the life cycles of your objects, without adding any complexity to the business logic. The following steps should help you with the solution: Note Before you begin, make sure you have set up the correct compiler options as mentioned in the Setting Up Compiler Options section. The code file for this activity can also be downloaded from https://packt.link/UK49t. Create a class called Person with public properties named firstName, lastName, and birthday.


pages: 462 words: 172,671

Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin

business logic, continuous integration, database schema, disinformation, domain-specific language, don't repeat yourself, Donald Knuth, en.wikipedia.org, Eratosthenes, finite state, G4S, Ignaz Semmelweis: hand washing, iterative process, place-making, Rubik’s Cube, web application

The information sent with the exception can distinguish the errors. Use different classes only if there are times when you want to catch one exception and allow the other one to pass through. Define the Normal Flow If you follow the advice in the preceding sections, you’ll end up with a good amount of separation between your business logic and your error handling. The bulk of your code will start to look like a clean unadorned algorithm. However, the process of doing this pushes error detection to the edges of your program. You wrap external APIs so that you can throw your own exceptions, and you define a handler above your code so that you can deal with any aborted computation.

Listing 11-2 shows the corresponding implementation class for the Bank bean. Listing 11-2 The corresponding EJB2 Entity Bean Implementation package com.example.banking; import java.util.Collections; import javax.ejb.*; public abstract class Bank implements javax.ejb.EntityBean { // Business logic… public abstract String getStreetAddr1(); public abstract String getStreetAddr2(); public abstract String getCity(); public abstract String getState(); public abstract String getZipCode(); public abstract void setStreetAddr1(String street1); public abstract void setStreetAddr2(String street2); public abstract void setCity(String city); public abstract void setState(String state); public abstract void setZipCode(String zip); public abstract Collection getAccounts(); public abstract void setAccounts(Collection accounts); public void addAccount(AccountDTO accountDTO) { InitialContext context = new InitialContext(); AccountHomeLocal accountHome = context.lookup(”AccountHomeLocal”); AccountLocal account = accountHome.create(accountDTO); Collection accounts = getAccounts(); accounts.add(account); } // EJB container logic public abstract void setId(Integer id); public abstract Integer getId(); public Integer ejbCreate(Integer id) { … } public void ejbPostCreate(Integer id) { … } // The rest had to be implemented but were usually empty: public void setEntityContext(EntityContext ctx) {} public void unsetEntityContext() {} public void ejbActivate() {} public void ejbPassivate() {} public void ejbLoad() {} public void ejbStore() {} public void ejbRemove() {} } I haven’t shown the corresponding LocalHome interface, essentially a factory used to create objects, nor any of the possible Bank finder (query) methods you might add.

.*; public abstract class Bank implements javax.ejb.EntityBean { // Business logic… public abstract String getStreetAddr1(); public abstract String getStreetAddr2(); public abstract String getCity(); public abstract String getState(); public abstract String getZipCode(); public abstract void setStreetAddr1(String street1); public abstract void setStreetAddr2(String street2); public abstract void setCity(String city); public abstract void setState(String state); public abstract void setZipCode(String zip); public abstract Collection getAccounts(); public abstract void setAccounts(Collection accounts); public void addAccount(AccountDTO accountDTO) { InitialContext context = new InitialContext(); AccountHomeLocal accountHome = context.lookup(”AccountHomeLocal”); AccountLocal account = accountHome.create(accountDTO); Collection accounts = getAccounts(); accounts.add(account); } // EJB container logic public abstract void setId(Integer id); public abstract Integer getId(); public Integer ejbCreate(Integer id) { … } public void ejbPostCreate(Integer id) { … } // The rest had to be implemented but were usually empty: public void setEntityContext(EntityContext ctx) {} public void unsetEntityContext() {} public void ejbActivate() {} public void ejbPassivate() {} public void ejbLoad() {} public void ejbStore() {} public void ejbRemove() {} } I haven’t shown the corresponding LocalHome interface, essentially a factory used to create objects, nor any of the possible Bank finder (query) methods you might add. Finally, you had to write one or more XML deployment descriptors that specify the object-relational mapping details to a persistence store, the desired transactional behavior, security constraints, and so on. The business logic is tightly coupled to the EJB2 application “container.” You must subclass container types and you must provide many lifecycle methods that are required by the container. Because of this coupling to the heavyweight container, isolated unit testing is difficult. It is necessary to mock out the container, which is hard, or waste a lot of time deploying EJBs and tests to a real server.


Django Book by Matt Behrens

Benevolent Dictator For Life (BDFL), book value, business logic, create, read, update, delete, database schema, distributed revision control, don't repeat yourself, duck typing, en.wikipedia.org, Firefox, full text search, loose coupling, MITM: man-in-the-middle, MVC pattern, revision control, Ruby on Rails, school choice, slashdot, SQL injection, web application

If you follow this philosophy, it’s easy to make changes to one particular piece of the application without affecting the other pieces. In view functions, for instance, we discussed the importance of separating the business logic from the presentation logic by using a template system. With the database layer, we’re applying that same philosophy to data access logic. Those three pieces together – data access logic, business logic, and presentation logic – comprise a concept that’s sometimes called the Model-View-Controller (MVC) pattern of software architecture. In this pattern, “Model” refers to the data access layer, “View” refers to the part of the system that selects what to display and how to display it, and “Controller” refers to the part of the system that decides which view to use, depending on user input, accessing the model as needed.

The first thing to note is that we split it over four Python files (models.py, views.py, urls.py) and an HTML template (latest_books.html). # models.py (the database tables) from django.db import models class Book(models.Model): name = models.CharField(max_length=50) pub_date = models.DateField() # views.py (the business logic) from django.shortcuts import render from models import Book def latest_books(request): book_list = Book.objects.order_by('-pub_date')[:10] return render(request, 'latest_books.html', {'book_list': book_list}) # urls.py (the URL configuration) from django.conf.urls.defaults import * import views urlpatterns = patterns('', (r'^latest/$', views.latest_books), ) # latest_books.html (the template) <html><head><title>Books</title></head> <body> <h1>Books</h1> <ul> {% for book in book_list %} <li>{{ book.name }}</li> {% endfor %} </ul> </body></html> Again, don’t worry about the particulars of syntax; just get a feel for the overall design.

The main thing to note here is the separation of concerns: The models.py file contains a description of the database table, represented by a Python class. This class is called a model. Using it, you can create, retrieve, update and delete records in your database using simple Python code rather than writing repetitive SQL statements. The views.py file contains the business logic for the page. The latest_books() function is called a view. The urls.py file specifies which view is called for a given URL pattern. In this case, the URL /latest/ will be handled by the latest_books() function. In other words, if your domain is example.com, any visit to the URL http://example.com/latest/ will call the latest_books() function.


pages: 509 words: 92,141

The Pragmatic Programmer by Andrew Hunt, Dave Thomas

A Pattern Language, Broken windows theory, business logic, business process, buy low sell high, c2.com, combinatorial explosion, continuous integration, database schema, domain-specific language, don't repeat yourself, Donald Knuth, Ford Model T, Free Software Foundation, general-purpose programming language, George Santayana, Grace Hopper, higher-order functions, if you see hoof prints, think horses—not zebras, index card, Kaizen: continuous improvement, lateral thinking, loose coupling, Menlo Park, MVC pattern, off-by-one error, premature optimization, Ralph Waldo Emerson, revision control, Schrödinger's Cat, slashdot, sorting algorithm, speech recognition, systems thinking, the Cathedral and the Bazaar, traveling salesman, urban decay, Y2K

We document knowledge in specifications, we make it come alive in running code, and we use it to provide the checks needed during testing. Unfortunately, knowledge isn't stable. It changes—often rapidly. Your understanding of a requirement may change following a meeting with the client. The government changes a regulation and some business logic gets outdated. Tests may show that the chosen algorithm won't work. All this instability means that we spend a large part of our time in maintenance mode, reorganizing and reexpressing the knowledge in our systems. Most people assume that maintenance begins when an application is released, that maintenance means fixing bugs and enhancing features.

Among other problems, the user interface needs to be intuitive and the algorithms you use to determine optimal packing are very complex. You could prototype a user interface for your end users in a GUI tool. You code only enough to make the interface responsive to user actions. Once they've agreed to the layout, you might throw it away and recode it, this time with the business logic behind it, using the target language. Similarly, you might want to prototype a number of algorithms that perform the actual packing. You might code functional tests in a high-level, forgiving language such as Perl, and code low-level performance tests in something closer to the machine. In any case, once you'd made your decision, you'd start again and code the algorithms in their final environment, interfacing to the real world.

This example is in C++. 27. Metaprogramming No amount of genius can overcome a preoccupation with detail • Levy's Eighth Law Details mess up our pristine code—especially if they change frequently. Every time we have to go in and change the code to accommodate some change in business logic, or in the law, or in management's personal tastes of the day, we run the risk of breaking the system—of introducing a new bug. So we say "out with the details!" Get them out of the code. While we're at it, we can make our code highly configurable and "soft"—that is, easily adaptable to changes.


pages: 1,302 words: 289,469

The Web Application Hacker's Handbook: Finding and Exploiting Security Flaws by Dafydd Stuttard, Marcus Pinto

business logic, call centre, cloud computing, commoditize, database schema, defense in depth, easy for humans, difficult for computers, Firefox, information retrieval, information security, lateral thinking, machine readable, MITM: man-in-the-middle, MVC pattern, optical character recognition, Ruby on Rails, SQL injection, Turing test, Wayback Machine, web application

We will examine the security implications of these and other recent trends in the appropriate locations throughout this book. Despite all the changes that have occurred within web applications, some categories of "classic" vulnerabilities show no sign of diminishing. They continue to arise in pretty much the same form as they did in the earliest days of the web. These include defects in business logic, failures to properly apply access controls, and other design issues. Even in a world of bolted-together application components and everything-as-a-service, these timeless issues are likely to remain widespread. Summary In a little over a decade, the World Wide Web has evolved from purely static information repositories into highly functional applications that process sensitive data and perform powerful actions with real-world consequences.

The application design may deliberately sacrifice security in favor of speed, perhaps in the mistaken belief that traders are trusted users, or that the browser extension includes its own defenses. Recalling the core security problem discussed in Chapter 2, and the earlier sections of this chapter, we know that the concept of a client-side component defending its business logic is impossible. Browser extensions can capture data in various ways — via input forms and in some cases by interacting with the client operating system's filesystem or registry. They can perform arbitrarily complex validation and manipulation of captured data before submission to the server. Furthermore, because their internal workings are less transparent than HTML forms and JavaScript, developers are more likely to assume that the validation they perform cannot be circumvented.

In many cases, this is the quickest and easiest way to start testing the component, but you may encounter several limitations. The data being transmitted may be obfuscated or encrypted, or may be serialized using schemes that are specific to the technology being used. By looking only at the traffic generated by the component, you may overlook some key functionality or business logic that can be discovered only by analyzing the component itself. Furthermore, you may encounter obstacles to using your intercepting proxy in the normal way; however, normally these can be circumvented with some careful configuration, as described later in this chapter. Second, you can target the component itself directly and attempt to decompile its bytecode to view the original source, or interact dynamically with the component using a debugger.


pages: 231 words: 71,248

Shipping Greatness by Chris Vander Mey

business logic, corporate raider, don't be evil, en.wikipedia.org, fudge factor, Google Chrome, Google Hangouts, Gordon Gekko, Jeff Bezos, Kickstarter, Lean Startup, minimum viable product, performance metric, recommendation engine, Skype, slashdot, sorting algorithm, source of truth, SQL injection, Steve Jobs, Superbowl ad, two-pizza team, web application

If you’ve ever used Microsoft Access at a moderately advanced level, you’ve encountered SQL. The business logic is the brains of your operation. It’s where all the tricky calculations happen and where the IF {Charlie said no;} THEN {kill Charlie;} type statements go. Your engineers will build this in Java or C++ or something similar. The presentation layer is generally HTML and JavaScript. It formats the output of your business logic so the data looks pretty. JavaScript allows users to interact in real time. AJAX (Asynchronous JavaScript and XML) is nothing more than allowing JavaScript to submit mini-page requests to your business logic, rather than requiring the user to submit a whole form.

Instead of the server returning HTML and JavaScript, it returns just a tiny bit of data in the form of XML. So AJAX has nothing to do with a three-tier architecture. It is possible to flatten this three-tier architecture into two tiers and allow your engineering team to write one file that contains both business logic and presentation logic. Shudder to think. Some frameworks will even hook up with databases in such a way that the database can return XML that can be used directly by frontend JavaScript! These and other great time savers are lovely initially but will haunt you for years after, just like that bad job you did on the grout in the shower.

They’re great for internal projects but will probably not survive the sale of your business. The Second S: Services A service-oriented architecture (SOA) doesn’t have much to do with a three-tier architecture—but you had better believe you want one! An SOA breaks down the middle tier that contains your business logic into a collection of independent services. These services may run on the same server, but they are built, versioned, and run independently. Figure 9-2 shows an example SOA. Figure 9-2. A system architecture organized around services In the SOA shown in Figure 9-2, your engineering team will put the system that figures out Charlie’s response into the answer service.


pages: 180 words: 37,187

AngularJS Essentials by Rodrigo Branas

business logic, Firefox, MVC pattern, node package manager, single page application, web application

The topics that we'll be covering in this chapter are: • Introduction to AngularJS • Understanding the architectural concepts • Setting up the framework • Organizing the code Introduction to AngularJS Created by Miško Hevery and Adam Abrons in 2009, AngularJS is an open source, client-side JavaScript framework that promotes a high-productivity web development experience. It was built on the belief that declarative programming is the best choice to construct the user interface, while imperative programming is much better and preferred to implement an application's business logic. To achieve this, AngularJS empowers traditional HTML by extending its current vocabulary, making the life of developers easier. The result is the development of expressive, reusable, and maintainable application components, leaving behind a lot of unnecessary code and keeping the team focused on the valuable and important things.

It also takes advantage of the directives mechanism, which is a type of extension of the HTML vocabulary that brings the ability to perform programming language tasks such as iterating over an array or even evaluating an expression conditionally. Behind the view, there is the controller. At first, the controller contains all the business logic implementation used by the view. However, as the application grows, it becomes really important to perform some refactoring activities, such as moving the code from the controller to other components (for example, services) in order to keep the cohesion high. The connection between the view and the controller is done by a shared object called scope.

Low cohesion applications contain plenty of duplicated code and are hard to unit test because it is difficult to isolate the behavior, which is usually hidden inside the component. It also reduces the reuse opportunities, demanding much more effort to implement the same thing several times. In the long term, the productivity decreases while the maintenance costs are raised. With AngularJS, we are able to create services, isolating the business logic of every component of our application. Also, we can use the framework's dependency injection mechanism to easily supply any component with a desired dependency. The framework also comes with a bunch of built-in services, which are very useful in daily development. In this chapter, we'll be covering the following topics: • Dependency injection • Creating services • Using AngularJS built-in services Dependency Injection and Services Dependency injection In order to create testable and well-designed applications, we need to take care about the way their components are related to each other.


pages: 419 words: 130,627

Last Man Standing: The Ascent of Jamie Dimon and JPMorgan Chase by Duff McDonald

"World Economic Forum" Davos, Alan Greenspan, AOL-Time Warner, bank run, Bear Stearns, Blythe Masters, Bonfire of the Vanities, book value, business logic, centralized clearinghouse, collateralized debt obligation, conceptual framework, corporate governance, credit crunch, Credit Default Swap, credit default swaps / collateralized debt obligations, Exxon Valdez, financial innovation, fixed income, G4S, Glass-Steagall Act, Greenspan put, housing crisis, interest rate swap, Jeff Bezos, John Meriwether, junk bonds, Kickstarter, laissez-faire capitalism, Long Term Capital Management, margin call, market bubble, Michael Milken, money market fund, moral hazard, negative equity, Nelson Mandela, Northern Rock, profit motive, proprietary trading, Renaissance Technologies, risk/return, Rod Stewart played at Stephen Schwarzman birthday party, Saturday Night Live, sovereign wealth fund, statistical model, Steve Ballmer, Steve Jobs, technology bubble, The Chicago School, too big to fail, Vanguard fund, zero-coupon bond, zero-sum game

“There are three things that have to make sense,” he said. “And they are not in order of importance. One is the business logic. There should be clear business logic to it. The second is the price. Sometimes there is a price [at] which you cannot make it pay for shareholders. And the third is the ability to execute. [You have to be able to] see clearly getting done what you need to get done, whether it’s management or systems or marketing or culture or something like that. If those things make sense, you can then weigh and balance them. Meaning, if you have exceptional business logic and an easy ability to execute, you could pay a higher price. And conversely, if those things are a little more complex, you want a margin of error by getting a lower price.”

A thoughtful man who luxuriates in rigorous analysis, he was being asked to put his own company at risk because another firm had played too fast and too loose. Another firm, it bears repeating, that he’d passed on buying just six months before. Recall Dimon’s three components of a successful deal: business logic, the ability to execute, and price. In this instance, the business logic was a mixed bag. Buying Bear would give JPMorgan Chase a few assets it wanted but would also saddle it with some it most certainly did not. The ability to execute was totally unknown, especially on such short notice. Bear’s customers could continue to bolt, as could valuable employees.

That kind of growth will get you a higher value for your shareholders, by the way. M&A is risky and tough, so the discipline is different. You really need to think about the landscape, to ask yourself what’s changing.” In any event, at the time, JPMorgan Chase stood out as having the strongest business logic with Bank One. (FleetBoston had been number one in a theoretical merger of equals before it was sold.) In this era of intense consolidation, the two CEOs spent a lot of time discussing “what ifs” about the future of industry. The fit between the companies seemed solid on paper. JPMorgan Chase could expand its branch banking business in the process, reducing its dependency on its volatile trading and investment banking franchises.


pages: 719 words: 181,090

Site Reliability Engineering: How Google Runs Production Systems by Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy

"Margaret Hamilton" Apollo, Abraham Maslow, Air France Flight 447, anti-pattern, barriers to entry, business intelligence, business logic, business process, Checklist Manifesto, cloud computing, cognitive load, combinatorial explosion, continuous integration, correlation does not imply causation, crowdsourcing, database schema, defense in depth, DevOps, en.wikipedia.org, exponential backoff, fail fast, fault tolerance, Flash crash, George Santayana, Google Chrome, Google Earth, if you see hoof prints, think horses—not zebras, information asymmetry, job automation, job satisfaction, Kubernetes, linear programming, load shedding, loose coupling, machine readable, meta-analysis, microservices, minimum viable product, MVC pattern, no silver bullet, OSI model, performance metric, platform as a service, proprietary trading, reproducible builds, revision control, risk tolerance, side project, six sigma, the long tail, the scientific method, Toyota Production System, trickle-down economics, warehouse automation, web application, zero day

Framework modules address the various SRE concerns enumerated earlier, such as: Instrumentation and metrics Request logging Control systems involving traffic and load management SRE builds framework modules to implement canonical solutions for the concerned production area. As a result, development teams can focus on the business logic, because the framework already takes care of correct infrastructure use. A framework essentially is a prescriptive implementation for using a set of software components and a canonical way of combining these components. The framework can also expose features that control various components in a cohesive manner. For example, a framework might provide the following: Business logic organized as well-defined semantic components that can be referenced using standard terms Standard dimensions for monitoring instrumentation A standard format for request debugging logs A standard configuration format for managing load shedding Capacity of a single server and determination of “overload” that can both use a semantically consistent measure for feedback to various control systems Frameworks provide multiple upfront gains in consistency and efficiency.

Requirements of the Cloud Environment in Perspective Cloud environments introduce a unique combination of technical challenges: If the environment uses a mixture of transactional and nontransactional backup and restore solutions, recovered data won’t necessarily be correct. If services must evolve without going down for maintenance, different versions of business logic may act on data in parallel. If interacting services are versioned independently, incompatible versions of different services may interact momentarily, further increasing the chance of accidental data corruption or data loss. In addition, in order to maintain economy of scale, service providers must provide only a limited number of APIs.

Therefore, structure your engineering teams such that a central infrastructure team provides a data validation framework for multiple product engineering teams. The central infrastructure team maintains the out-of-band data validation framework, while the product engineering teams maintain the custom business logic at the heart of the validator to keep pace with their evolving products. Knowing That Data Recovery Will Work When does a light bulb break? When flicking the switch fails to turn on the light? Not always—often the bulb had already failed, and you simply notice the failure at the unresponsive flick of the switch.


pages: 31 words: 9,168

Designing Reactive Systems: The Role of Actors in Distributed Architecture by Hugh McKee

Amazon Web Services, business logic, fault tolerance, Internet of things, microservices

This report is targeted toward decision makers in the enterprise and provides some high-level insight into how actors and actor systems can be used to create lightweight business systems that evolve quickly, that can scale, and that can run without stopping. Inside, you’ll read how the Actor model’s proven approach to concurrent computation is the best way to build distributed systems correctly from the start, allowing your teams to focus on the business logic of your applications instead of wiring together low-level protocols, in turn helping you accelerate time-to-market while keeping infrastructure costs low. Chapter 2. Actors, Humans, and How We Live Imagine a world where most people are glued to small, hand-held devices that let them send messages to other humans across oceans and continents... wait, we already live in this world!

If a problem is escalated to the actor system, its default recovery process is to restart the worker (or terminate the worker when more serious problems occur). This supervisory approach frees up the worker from handling its own errors, which means that it is focused completely on performing its tasks. This allows for creating actors with much less error handling code that clutters and hides the main business logic. Figure 4-1. Actors form hierarchies Actors Watching Actors, Watching Actors... In addition to this supervision strategy, the actor system provides a way for one actor to monitor another actor. If the watched actor is terminated, the watcher actor is sent an “actor terminated” message.


pages: 680 words: 157,865

Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design by Diomidis Spinellis, Georgios Gousios

Albert Einstein, barriers to entry, business intelligence, business logic, business process, call centre, continuous integration, corporate governance, database schema, Debian, domain-specific language, don't repeat yourself, Donald Knuth, duck typing, en.wikipedia.org, fail fast, fault tolerance, financial engineering, Firefox, Free Software Foundation, functional programming, general-purpose programming language, higher-order functions, iterative process, linked data, locality of reference, loose coupling, meta-analysis, MVC pattern, Neal Stephenson, no silver bullet, peer-to-peer, premature optimization, recommendation engine, Richard Stallman, Ruby on Rails, semantic web, smart cities, social graph, social web, SPARQL, Steve Jobs, Stewart Brand, Strategic Defense Initiative, systems thinking, the Cathedral and the Bazaar, traveling salesman, Turing complete, type inference, web application, zero-coupon bond

These are translated to in-memory data and passed to some business logic for intelligent processing. The output module translates these data objects for display, into HTML, JavaScript, CSS, and so on. Here, on the top of the figure, is an application’s n-tier stack running on its infrastructure. Before the advent of applications in its Platform, Facebook operated wholly under the same architecture. Importantly, in both architectures, the business logic (including Facebook’s privacy) is effectively executed according to rules established in some data component of the system. More voluminous and relevant data means the business logic may deliver more personally tailored content, so the experience of browsing books to review, read, or purchase on http://fettermansbooks.com (or any such application) would be powerfully augmented by a user’s social data from Facebook.

GUI changes require a code release, whether the changes are implemented in straight Java code or in XML files. Why keep two languages in your head—Java plus the XML schema—instead of just Java? Besides, XML makes a clumsy programming language. GUI builders had burned all of us before. Nobody wanted to end up with business logic woven into action listeners embedded in JPanels. Reluctantly, we settled on a pure Swing GUI, but with some ground rules. Over a series of lunches at our local Applebee’s, we hashed out a novel way of using Swing without getting mired in it. UI and UI Model The typical layered architecture goes “Presentation,” “Domain,” and “Persistence.”

For instance, the maximum length of a last name will show up as a column width in the database, possibly a validation rule in the domain, and as a property setting on a JTextField in the UI. At the same time, the presentation embeds logic such as “if this checkbox is selected, then enable these four other text fields.” It sounds like a statement about the UI, but it really captures a bit of business logic: when the customer is a member of the Portrait Club, the application needs to capture their club number and expiration date. So within the typical three-layer architecture, one type of information is spread out across layers, whereas another type of important information is stuck inside GUI control logic.


pages: 282 words: 88,320

Brick by Brick: How LEGO Rewrote the Rules of Innovation and Conquered the Global Toy Industry by David Robertson, Bill Breen

barriers to entry, Blue Ocean Strategy, business logic, business process, Clayton Christensen, creative destruction, crowdsourcing, Day of the Dead, Dean Kamen, digital divide, disruptive innovation, financial independence, game design, global supply chain, Jeff Bezos, Kickstarter, Mark Zuckerberg, Minecraft, Rubik’s Cube, Silicon Valley, Steve Jobs, subscription business, systems thinking, The Wisdom of Crowds, Wall-E, work culture

As for the younger designers who remained, they couldn’t be expected to roust that classic LEGO look by simply riffing off Andersen’s fire truck. “There were so many people who hadn’t been around when the core was building with LEGO bricks,” recalled Paal Smith-Meyer, who heads the company’s new business group. “They didn’t know who the core consumer was and they didn’t understand the core business logic. It was very, very hard.” Nevertheless, resetting the company’s direction around classic play experiences such as LEGO City proved both clarifying and liberating. The hot air had leaked out of the previous management regime’s overinflated declaration that LEGO would be the world’s strongest brand among families with children.

Recalling the stirring debut of the original Mindstorms, LEGO decided to tap the talents of the world’s most creative Mindstorms customers by inviting a handful of them to codevelop the new kit. Such a move was unprecedented at LEGO. Although LEGO had invited expert adult fans to contribute ideas and prototypes for Factory sets, never before had it allowed outsiders into a secret project’s core development process. Nevertheless, the business logic for inviting customers to codesign the future of Mindstorms was inescapable. “It was obviously relevant to engage them,” said Nipper. “They knew stuff that we didn’t.” So began the LEGO Group’s disciplined bid to amplify one of the past decade’s most talked-about business innovations—tapping the “wisdom of the crowd” to create breakthrough products.

A nondisclosure agreement provided little real protection, since the source of a leak is often hard to identify. And the remedy—in this case, suing one of your most influential and respected customers—is unpalatable. Before Lund and Smith-Meyer took the irreversible step of inviting outside innovators into the inner sanctum of the Mindstorms development team, the pair sought to map out the core business logic for cocreating Mindstorms. First, they bet that tapping into outside experts’ knowledge and insights would radically increase the odds of breaking out a hit kit. Second, by engaging expert customers—people who were semicelebrities in the Mindstorms world—those customers could in turn act as persuasive ambassadors for the next generation of Mindstorms.


pages: 960 words: 125,049

Mastering Ethereum: Building Smart Contracts and DApps by Andreas M. Antonopoulos, Gavin Wood Ph. D.

air gap, Amazon Web Services, bitcoin, blockchain, business logic, continuous integration, cryptocurrency, Debian, digital divide, Dogecoin, domain-specific language, don't repeat yourself, Edward Snowden, en.wikipedia.org, Ethereum, ethereum blockchain, fault tolerance, fiat currency, Firefox, functional programming, Google Chrome, information security, initial coin offering, intangible asset, Internet of things, litecoin, machine readable, move fast and break things, node package manager, non-fungible token, peer-to-peer, Ponzi scheme, prediction markets, pull request, QR code, Ruby on Rails, Satoshi Nakamoto, sealed-bid auction, sharing economy, side project, smart contracts, transaction costs, Turing complete, Turing machine, Vickrey auction, Vitalik Buterin, web application, WebSocket

A really large monolithic smart contract may cost a lot of gas to deploy and use. Therefore, some applications may choose to have off-chain computation and an external data source. Keep in mind, however, that having the core business logic of the DApp be dependent on external data (e.g., from a centralized server) means your users will have to trust these external resources. Frontend (Web User Interface) Unlike the business logic of the DApp, which requires a developer to understand the EVM and new languages such as Solidity, the client-side interface of a DApp can use standard web technologies (HTML, CSS, JavaScript, etc.).

For example, a frontend can be developed as a web app that runs on a centralized server, or as a mobile app that runs on your device. The backend and storage can be on private servers and proprietary databases, or you can use a smart contract and P2P storage. There are many advantages to creating a DApp that a typical centralized architecture cannot provide: Resiliency Because the business logic is controlled by a smart contract, a DApp backend will be fully distributed and managed on a blockchain platform. Unlike an application deployed on a centralized server, a DApp will have no downtime and will continue to be available as long as the platform is still operating. Transparency The on-chain nature of a DApp allows everyone to inspect the code and be more sure about its function.

In the Ethereum ecosystem as it stands today, there are very few truly decentralized apps — most still rely on centralized services and servers for some part of their operation. In the future, we expect that it will be possible for every part of any DApp to be operated in a fully decentralized way. Backend (Smart Contract) In a DApp, smart contracts are used to store the business logic (program code) and the related state of your application. You can think of a smart contract replacing a server-side (aka “backend”) component in a regular application. This is an oversimplification, of course. One of the main differences is that any computation executed in a smart contract is very expensive and so should be kept as minimal as possible.


The Art of Readable Code by Dustin Boswell, Trevor Foucher

Albert Einstein, business logic, don't repeat yourself, Donald Knuth, off-by-one error, web application

Consider this thought experiment: someone new just joined your team, she’s sitting next to you, and you need to get her familiar with the codebase. As you’re giving her a tour of the codebase, you might point out certain files or classes and say things like: “This is the glue code between our business logic and the database. None of the application code should use this directly.” “This class looks complicated, but it’s really just a smart cache. It doesn’t know anything about the rest of the system.” After a minute of casual conversation, your new team member will know much more than she would from reading the source by herself.

What we discussed in this chapter is a simple and particular case of when to extract a method. Chapter 11. One Task at a Time Code that does multiple things at once is harder to understand. A single block of code might be initializing new objects, cleansing data, parsing inputs, and applying business logic, all at the same time. If all that code is woven together, it will be harder to understand than if each “task” is started and completed on its own. Key Idea Code should be organized so that it’s doing only one task at a time. Said another way, this chapter is about “defragmenting” your code.

Instead, we can handle the USA and non-USA cases separately: var first_half, second_half; if (country === "USA") { first_half = town || city || "Middle-of-Nowhere"; second_half = state || "USA"; } else { first_half = town || city || state || "Middle-of-Nowhere"; second_half = country || "Planet Earth"; } return first_half + ", " + second_half; In case you aren’t familiar with JavaScript, a || b || c is idiomatic and evaluates to the first “truthy” value (in this case, a defined, nonempty string). This code has the benefit that it’s very easy to inspect the preference list and update it. Most of the if statements have been swept away, and the business logic is represented by fewer lines of code. A Larger Example In a web-crawling system we built, a function named UpdateCounts() was called to increment various statistics after each web page was downloaded: void UpdateCounts(HttpDownload hd) { counts["Exit State" ][hd.exit_state()]++; // e.g.


pages: 290 words: 119,172

Beginning Backbone.js by James Sugrue

Airbnb, business logic, continuous integration, don't repeat yourself, Firefox, Google Chrome, loose coupling, MVC pattern, node package manager, single page application, web application, Y Combinator

Model View Presenter As you can see from the name its name, the Model View Presenter (MVP) pattern differs only in the replacement of the controller with a presenter. The presenter is responsible for the interaction between the view and the model and contains all the business logic for the view. 5 Chapter 1 ■ An Introduction to Backbone.js The important distinction is that a higher level of decoupling is introduced, where the presenter communicates with the view through an interface. The addition of this interface means that it is easier to test the business logic independently of the real view, and the logic for your application can be written before any UI code has been written. Also, there is typically no direct link between the view and the model, with the presenter passing on the data and acting as a true intermediary between both.

Mission Statement To put it really simply, Backbone helps developers manage a data model in their client-side web app with as much discipline and structure as you would get in traditional server-side application logic. To appreciate how important this is for JavaScript developers, we need to look at the history of how web sites and applications have traditionally been developed and how Backbone fits into this evolution. Server-Side Logic Up until 2005, web sites were pretty static, with all the real business logic implemented in the server side, using languages such as PHP, Java, and .NET. While these sites were far from the dynamic experiences we are accustomed to today, this approach allowed front-end developers to have very clean code bases, with HTML for structure, CSS for presentation, and perhaps a little JavaScript for things such as form field validation and pop-up windows.

Even though Thorax is opinionated, with the requirement that Handlebars templates are utilized, it provides a really simple way of binding models and collections to views. And as with Marionette, nested views and rendering are dealt with by the framework and allow developers to focus on the core business logic. This chapter should be enough to get you started with either Marionette or Thorax. If you choose to base your Backbone application on either framework, you’ll see that there is a lot to discover. No matter which one you choose, your applications will be more structured and scalable as a result. 229 Chapter 11 Best Practices with Backbone In the previous chapters we’ve seen how to use Backbone, along with some useful add-ons, to create high-quality web applications.


pages: 355 words: 81,788

Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith by Sam Newman

Airbnb, business logic, business process, continuous integration, Conway's law, database schema, DevOps, fail fast, fault tolerance, ghettoisation, inventory management, Jeff Bezos, Kubernetes, loose coupling, microservices, MVC pattern, price anchoring, pull request, single page application, single source of truth, software as a service, source of truth, sunk-cost fallacy, systems thinking, telepresence, two-pizza team, work culture

This can be mitigated through the use of views, which we’ll discuss shortly, but it’s not a total solution. Figure 4-1. Multiple services all directly accessing the same database Another issue is that it becomes unclear as to who “controls” the data. Where is the business logic that manipulates this data? Is it now spread across services? That in turn implies a lack of cohesion of business logic. As we discussed previously, when thinking about a microservice as being a combination of behavior and state, encapsulating one or more state machines. If the behavior that changes this state is now spread around the system, making sure this state machine can be properly implemented is a tricky issue.

The company in question is Music Corp, a large multi-national organization that somehow remains in business, despite it focusing almost entirely on selling CDs. We’ve decided to move Music Corp kicking and screaming into the 21st century, and as part of that we’re assessing the existing system architecture. In Figure 1-1, we see a simple three-tiered architecture. We have a web-based user interface, a business logic layer in the form of a monolithic backend, and data storage in a traditional database. These layers, as is common, are owned by different teams. Figure 1-1. Music Corp’s systems as a traditional three-tiered architecture We want to make a simple change to our functionality: we want to allow our customers to specify their favorite genre of music.

All the limitations of database views will apply, however; changing the monolith to make calls to the new Invoice service directly is greatly preferred. Figure 4-11. Projecting Invoice data back into the monolith as a view Where to use it This one is a little more clear-cut. If your newly extracted service encapsulates the business logic that changes some data, that data should be under the new service’s control. The data should be moved from where it is, over into the new service. Of course, the process of moving data out of an existing database is far from a simple process. In fact, this will be the focus of the remainder of this chapter.


pages: 725 words: 168,262

API Design Patterns by Jj Geewax

Amazon Web Services, anti-pattern, bitcoin, blockchain, business logic, cognitive load, continuous integration, COVID-19, database schema, en.wikipedia.org, exponential backoff, imposter syndrome, Internet of things, Kubernetes, lateral thinking, loose coupling, machine readable, microservices, natural language processing, Paradox of Choice, ride hailing / ride sharing, social graph, sorting algorithm

This pattern is, quite simply, about taking lots of self-contained data points and helping to shuffle them between an API service and an external storage system without an application server acting as the middleman. If you do indeed need the ability to connect multiple resources together and manipulate those resources in any meaningful way, this middleman is no longer just a middleman; it’s become an important piece of business logic. The custom import and export methods are not intended to contain or implement any special business logic; they’re designed to be simple data movers. This leads us to the next major drawback: it’s easy to confuse import and export with backup and restore functionality (after all, they both typically involve shuffling data between an API and a storage system).

Many of these failed requests will be due to client-side errors such as invalid request messages, while others might be due to failed preconditions and constraints being enforced on the API server. All of these types of errors share an important attribute: the problem is with the request itself violating some constraints or going against the API’s business logic. Put differently, if we replayed the same invalid request again, we should get the same error response. After all, the business logic typically doesn’t change from one moment to another. An entire other category of errors is quite different. Sometimes a request leads to an error response that is completely transient. This type of error has absolutely nothing to do with the request itself and is instead the result of some problem internal to the API.

When the COVID-19 pandemic hit, I suddenly had rather different priorities in terms of considering the audio/visual needs of my local church, both while we were worshiping remotely and considering how we might meet in person again. This involved learning about protocols such as VISCA, NDI, and OSC (for cameras and audio mixers) as well as more software-oriented integration with Zoom, VLC, PowerPoint, Stream Deck, and more. These projects don’t have huge amounts of business logic. Almost all the code is integration code, which is at once frustrating and hugely empowering. It’s frustrating because of protocols that are obscurely documented or aren’t really designed for the kind of usage I’m trying to achieve, or are just inconsistent with each other. It’s empowering because once you’ve cracked the integration aspect, you can write useful apps really easily, standing on the shoulders of multiple giants.


Scala in Action by Nilanjan Raychaudhuri

business logic, continuous integration, create, read, update, delete, database schema, domain-specific language, don't repeat yourself, duck typing, en.wikipedia.org, failed state, fault tolerance, functional programming, general-purpose programming language, higher-order functions, index card, Kanban, MVC pattern, type inference, web application

In this application you can easily represent that using case classes: case class Location(stateCode: Option[String], zipCode: Option[String]) case class Req(productId: String, location: Location, claim: Claim) Except for Generic claim, the pricing for each claim is determined by specific business logic, and all the calculations start with some base prices associated with the product. To determine the final price of a product and the claim, you have to provide the request information and the base price. You can capture that with a type variable called PC (Pricing Criteria): type PC = Tuple2[Req, Option[Double]] Here the Option[Double] represents the base price of the product. The following code example implements the business logic associated with each Full and Partial claim: def handleFullClaim: PartialFunction[PC, PC] = { case (c@Req(id, l, Full(claimId)), basePrice) => ... } def handlePartialClaim: PartialFunction[PC, PC] = { case (c@Req(id, l, Partial(claimId, percentage)), basePrice) => ... } Similarly, the final price to the provider is also influenced by the location of the claim.

In smaller projects, it’s reasonable to have the wiring of dependencies implemented like the PricingSystem and the TestPricingSystem, but for large projects it may become difficult to manage them. For large projects it makes more sense to use a DI framework (section 10.5.2 shows how to use off-the-shelf DI) that allows you to completely separate object creation and injection from business logic. 10.4.3. Structural typing Structural typing in Scala is the way to describe types by their structure. The previous section created the Calculators trait as a namespace for all the calculators, and CalculatePriceService used it to get to individual calculators. The contract between these two traits is the two abstract vals: costPlusCalculator and externalPriceSourceCalculator, because CalculatePriceService doesn’t care about anything else.

Using a dependency injection framework: Spring Scala’s abstract members, self type and mixin provide more abstraction techniques than are available in Java, but DI frameworks provide the following additional services that aren’t available in these abstraction techniques: They create a clean separation between object initialization and creation from the business logic. These frameworks provide a separate lifecycle to create dependencies as part of the application initialization. This way, your wiring between components becomes transparent from the code. These frameworks help you to work with various other frameworks. For example, if you’re planning to use existing Java web frameworks, then a DI framework will help to inject your Scala objects as dependencies.


pages: 226 words: 17,533

Programming Scala: tackle multicore complexity on the JVM by Venkat Subramaniam

augmented reality, business logic, continuous integration, domain-specific language, don't repeat yourself, functional programming, higher-order functions, loose coupling, semantic web, type inference, web application

The rest of the code will deal with sending requests to the Yahoo service and receiving the responses using the StockPriceFinder we wrote earlier. Once we get those responses, we will have to compute the value of each stock and the net assets—that’s our business logic. I’m sure you’d like to keep the code cohesive by separating the business logic from the code that manipulates the GUI components. So, let’s first take a look at the singleton object NetAssetStockPriceHelper that will handle the business logic and act as a liaison between the GUI and StockPriceFinder: Download UsingScala/NetAssetStockPriceHelper.scala import scala.actors._ import Actor._ object NetAssetStockPriceHelper { val symbolsAndUnits = StockPriceFinder.getTickersAndUnits def getInitialTableValues : Array[Array[Any]] = { val emptyArrayOfArrayOfAny = new Array[Array[Any]](0,0) Download at Boykma.Com Report erratum Prepared exclusively for sam kaplan this copy is (P1.0 printing, June 2009) 203 P UTTING A GUI ON THE N ET A SSET A PPLICATION (emptyArrayOfArrayOfAny /: symbolsAndUnits) { (data, element) => val (symbol, units) = element data ++ Array(List(symbol, units, "?"


pages: 420 words: 61,808

Flask Web Development: Developing Web Applications With Python by Miguel Grinberg

business logic, database schema, Firefox, full text search, information security, Minecraft, platform as a service, web application

On the server, a request that includes the data from the user arrives and Flask dispatches it to the view function that handles registration requests. This view function needs to talk to the database to get the new user added and then generate a response to send back to the browser. These two types of tasks are formally called business logic and presentation logic, respectively. Mixing business and presentation logic leads to code that is hard to understand and maintain. Imagine having to build the HTML code for a large table by concatenating data obtained from the database with the necessary HTML string literals. Moving the presentation logic into templates helps improve the maintainability of the application.

The topic of social features is completed with this chapter. In the next chapter, you will learn how to expose the application functionality as an API that clients other than web browsers can use. Chapter 14. Application Programming Interfaces In recent years, there has been a trend in web applications to move more and more of the business logic to the client side, producing an architecture that is known as Rich Internet Application (RIA). In RIAs, the server’s main (and sometimes only) function is to provide the client application with data retrieval and storage services. In this model, the server becomes a web service or Application Programming Interface (API).

End-to-end tests of the type that the Flask test client and Selenium can carry out are sometimes necessary, but due to the increased complexity to write them, they should be used only for functionality that cannot be tested in isolation. The application code should be organized so that it is possible to push as much of the business logic as possible into database models or other auxiliary classes that are independent of the context of the application and thus can be tested easily. The code that exists in view functions should be simple and just act as a thin layer that accepts requests and invokes the corresponding actions in other classes or functions that encapsulate the application logic.


pages: 540 words: 103,101

Building Microservices by Sam Newman

airport security, Amazon Web Services, anti-pattern, business logic, business process, call centre, continuous integration, Conway's law, create, read, update, delete, defense in depth, don't repeat yourself, Edward Snowden, fail fast, fallacies of distributed computing, fault tolerance, index card, information retrieval, Infrastructure as a Service, inventory management, job automation, Kubernetes, load shedding, loose coupling, microservices, MITM: man-in-the-middle, platform as a service, premature optimization, pull request, recommendation engine, Salesforce, SimCity, social graph, software as a service, source of truth, sunk-cost fallacy, systems thinking, the built environment, the long tail, two-pizza team, web application, WebSocket

The concept of continuous delivery showed how we can more effectively and efficiently get our software into production, instilling in us the idea that we should treat every check-in as a release candidate. Our understanding of how the Web works has led us to develop better ways of having machines talk to other machines. Alistair Cockburn’s concept of hexagonal architecture guided us away from layered architectures where business logic could hide. Virtualization platforms allowed us to provision and resize our machines at will, with infrastructure automation giving us a way to handle these machines at scale. Some large, successful organizations like Amazon and Google espoused the view of small teams owning the full lifecycle of their services.

Instead of a client initiating requests asking for things to be done, it instead says this thing happened and expects other parties to know what to do. We never tell anyone else what to do. Event-based systems by their nature are asynchronous. The smarts are more evenly distributed — that is, the business logic is not centralized into core brains, but instead pushed out more evenly to the various collaborators. Event-based collaboration is also highly decoupled. The client that emits an event doesn’t have any way of knowing who or what will react to it, which also means that you can add new subscribers to these events without the client ever needing to know.

Some types of UI may need a minimal server-side footprint, while others may need a lot more. If you need an API authentication and authorization layer, this can sit between our BFFs and our UIs. We’ll explore this more in Chapter 9. The danger with this approach is the same as with any aggregating layer; it can take on logic it shouldn’t. The business logic for the various capabilities these backends use should stay in the services themselves. These BFFs should only contain behavior specific to delivering a particular user experience. A Hybrid Approach Many of the aforementioned options don’t need to be one-size-fits-all. I could see an organization adopting the approach of fragment-based assembly to create a website, but using a backends-for-frontends approach when it comes to its mobile application.


pages: 283 words: 78,705

Principles of Web API Design: Delivering Value with APIs and Microservices by James Higginbotham

Amazon Web Services, anti-pattern, business intelligence, business logic, business process, Clayton Christensen, cognitive dissonance, cognitive load, collaborative editing, continuous integration, create, read, update, delete, database schema, DevOps, fallacies of distributed computing, fault tolerance, index card, Internet of things, inventory management, Kubernetes, linked data, loose coupling, machine readable, Metcalfe’s law, microservices, recommendation engine, semantic web, side project, single page application, Snapchat, software as a service, SQL injection, web application, WebSocket

."}, { "rel":"approve", "url":"..."} ], "authors": [ ... ], ... } Hypermedia controls have big implications for API-driven workflows that use context-driven hypermedia controls. They help to reduce the amount of business logic that has to be repeated in the client to mimic intended server behavior. Without them, the client would need to be coded to know what actions are allowed based on the status of the article and the role of the user. Instead, the client may be coded to look for specific hypermedia links that indicate if specific buttons are displayed or disabled for the end user, avoiding the need to keep in sync with the server-side business logic. This ensures the API is evolvable without breaking client code. There are four primary hypermedia control types offered by REST-based APIs: ■ Index hypermedia controls: Offer a list of all available API operations, typically as an API homepage ■ Navigation hypermedia controls: Includes pagination links within payload responses or by using the Link header ■ Relationship hypermedia controls: Links that indicate relationships with other resources or for master-detail relationships ■ Context-driven hypermedia controls: Server state that informs the client what actions are available It is important to note that any API style that does not encourage a unique URL per resource is unable to take advantage of hypermedia controls.

It describes the absence or presence of links as indicators of what operations the client may perform. Since the server understands both the user executing the operation and the authorization requirements of the operation itself, it is better positioned to determine what the client is able to do. Without this constraint, clients are required to re-implement the same server-side business logic and keep that logic in sync at all times. It is important to note that Dr. Fielding has expressed a preference to use the term hypermedia controls rather than HATEAOS. Through the remainder of the book, the term hypermedia controls will be used in place of HATEOAS for clarity. Below is an example HAL-based response for an article within a content management system that offers hypermedia links to valid operations based on the status of the article and the user’s role as an author: { "articleId":"12345", "status":"draft", "_links": [ { "rel":"self", "url":"..."}, { "rel":"update", "url":"..."}, { "rel":"submit", "url":"..."} ], "authors": [ ... ], ... } Once the author is ready to submit the article for editorial review, the editor would retrieve the article and receive the following actions based on the submitted status of the article and the editor’s role: { "articleId":"12345", "status": "submitted", "_links": [ { "rel":"self", "url":"..."}, { "rel":"reject", "url":"..."}, { "rel":"approve", "url":"..."} ], "authors": [ ... ], ... } Hypermedia controls have big implications for API-driven workflows that use context-driven hypermedia controls.


pages: 296 words: 41,381

Vue.js by Callum Macrae

Airbnb, business logic, single page application, single source of truth, source of truth, web application, WebSocket

Vue evaluates simple expressions inside v-if: <div id="app"> <p v-if="hours < 12">Good morning!</p> <p v-if="hours >= 12 && hours < 18">Good afternoon!</p> <p v-if="hours >= 18">Good evening!</p> </div> <script> new Vue({ el: '#app', data: { hours: new Date().getHours() } }); </script> Writing code in this manner, with the business logic in the JavaScript and the view logic in the template, means that we can tell at a glance exactly what will be displayed when on the page. This is a much better approach than having the code responsible for deciding whether to show or hide the element in some JavaScript far away from the element in question.

passing into components with slot element, Passing Content into Components with Slots running through preprocessors, Preprocessors setting dynamically, Setting HTML Dynamically HTML5 history API, HTML5 History Mode(see also history mode) I inline style binding, Inline Style Binding-Scoped CSS with vue-loaderarray syntax, Array Syntax providing multiple values in an array, Multiple Values inputs and events, Inputs and Events-Event Modifiers inserted hook, Custom Directives installation and setup, Installation and Setup-vue-loader and webpack interpolationcombining with directives to display text, Templates, Data, and Directives using filters with, Filters using to pass data into templates, Templates, Data, and Directives J JavaScriptanimations, JavaScript Animations business logic in, Templates, Data, and Directives prerequisites for using Vue.js, Who This Book Is For running through preprocessors, Preprocessors jQuery, Vue.js vs., Why Vue.js? JSX, JSX-Summary, Routingimporting components, JSX spread operator, JSX vs. templates, in React and Vue, JSX Versus Templates K kebab case, Casing of Props key, specifying with v-for, Components and v-for keyboard events, key event modifiers, Event Modifiers keyboard modifier keys, event modifiers for, Event Modifiers L leave transitions, CSS Transitions life-cycle hooks, Life-Cycle Hookscomparison in Vue and React, Life-Cycle Hooks in mixins and components, Merging Mixins and Components listeners object, mount() Options location.pathname, Templates, Data, and Directives looping in templates, Looping in Templates(see also v-for directive) M mapActions function, Action Helpers, Namespaced Modules mapGetters, Getter Helpers, Namespaced Modules mapMutations method, Mutation Helpers, Namespaced Modules mapState helper function, State Helpers, Namespaced Modulescombining with existing computed properties, State Helpers in modules, Modules .meta modifier key event modifier, Event Modifiers meta property (routes), Navigation Guards methods, Methodscomponent, Data, Methods, and Computed Properties deciding when to use, vs. data object or computed properties, Computed Properties differences from computed properties, Computed Properties private methods in mixins, Merging Mixins and Components this in, this mixins, Mixins-Merging Mixins and Componentsmerging with components, Merging Mixins and Components private properties in, Merging Mixins and Components mocking and stubbing data, Mocking and Stubbing Data, Working with Events mocks, mount() Options modifier keys, event modifiers for, Event Modifiers modifiers (event), Event Modifierschaining, Event Modifiers mouse event modifiers, Event Modifiers modules (CSS), in React vs.


pages: 448 words: 84,462

Testing Extreme Programming by Lisa Crispin, Tip House

business logic, c2.com, continuous integration, data acquisition, database schema, Donner party, Drosophila, fail fast, hypertext link, index card, job automation, systems thinking, web application

Struts managed the form, the actions, the information that goes in and out of the session, and the errors. The automated acceptance tests used mock objects for forms, requests, responses, and sessions. When a user pushes a button such as Submit, the Struts form calls a "button push" action, and the test methods emulate this with a mock object and the action. The action is where the business logic is located, and at that point the system code is called. The tests could verify that a Save button led to the correct validating and persisting data in the database and could emulate series of button pushes and verify that data persists between sessions. This team designed their code specifically for ease of testing.

You now have a library of methods or modules that can be reused in new tests. Automating and executing acceptance tests for a story normally takes the team between 20% and 30% of the time spent on developing that story. If your team spent a lot more time than this, stop and look at your approach. Does your application have too much business logic in the user interface layer? Does it take too long to script automated tests with the tool you're using? Do team members need more training in test automation techniques? Brainstorm ways to reduce the time spent creating and maintaining automated tests. Regression Testing Run all the executable acceptance tests as a regression test on every new build in your test environment.

If your team consistently spends 30% or more of development time doing test automation tasks, see what you can do to improve testability. Summary If your project presents special challenges, take a look at our road hazard survival kit for tools and techniques that can help. If your application has a user interface, keep it as thin as possible. Shift business logic to the layers below the user interface. The database design is a key factor in testability. Use XP principles to find the simplest design that could possibly work. Since the team, not just the tester, is responsible for test automation, programmers also feel the pain of automating tests for systems not designed for testability.


pages: 779 words: 116,439

Test-Driven Development With Python by Harry J. W. Percival

business logic, continuous integration, database schema, Debian, DevOps, don't repeat yourself, duck typing, Firefox, loose coupling, MVC pattern, off-by-one error, platform as a service, pull request, web application, WebSocket

As we go through the chapter, we’ll also spend a bit of time tidying up our unit tests, and making sure each of them only tests one thing at a time. Moving Validation Logic into a Form In Django, a complex view is a code smell. Could some of that logic be pushed out to a form? Or to some custom methods on the mod‐ el class? Or maybe even to a non-Django module that represents your business logic? Forms have several superpowers in Django: • They can process user input and validate it for errors. • They can be used in templates to render HTML input elements, and error messages too. • And, as we’ll see later, some of them can even save data to the database for you. You don’t have to use all three form superpowers in every form.

Tips Thin views If you find yourself looking at complex views, and having to write a lot of tests for them, it’s time to start thinking about whether that logic could be moved elsewhere: possibly to a form, like we’ve done here. Another possible place would be a custom method on the model class. And—once the complexity of the app demands it—out of Django-specific files and into your own classes and functions, that capture your core business logic. Each test should test one thing The heuristic is to be suspicious if there’s more than one assertion in a test. Some‐ times two assertions are closely related, so they belong together. But often your first draft of a test ends up testing multiple behaviours, and it’s worth rewriting it as several tests.

Mainly these involve trying to identify the boundaries of your system—the points at which your code interacts with external systems, like the database or the filesystem, or 402 | Chapter 22: Fast Tests, Slow Tests, and Hot Lava www.it-ebooks.info the Internet, or the UI—and trying to keep them separate from the core business logic of your application. Ports and Adapters/Hexagonal/Clean Architecture Integrated tests are most useful at the boundaries of a system—at the points where our code integrates with external systems, like a database, filesystem, or UI components. Similarly, it’s at the boundaries that the downsides of test isolation and mocks are at their worst, because it’s at the boundaries that you’re most likely to be annoyed if your tests are tightly coupled to an implementation, or to need more reassurance that things are integrated properly.


pages: 190 words: 52,865

Full Stack Web Development With Backbone.js by Patrick Mulder

Airbnb, business logic, create, read, update, delete, Debian, functional programming, Kickstarter, MVC pattern, node package manager, Ruby on Rails, side project, single page application, web application, WebSocket

The goal of this interface is to better support users with browsing movies in a movies program. Based on the wireframe of Munich Cinema, an important principle of Backbone.js was explained: decoupling state from the user interface. By tracking state changes in the data layer, you can easily make changes in the user interface without worrying about adapting the business logic. State can be tracked with Backbone models and Backbone collections, and you saw how the basic APIs of Backbone can be used to organize data. We then used a monitor to inspect events around data changes. Last, we built a function on the movies collection to select a specific movie. In the next chapter, we will bind the data to layer to a user interface.

What we want in many situations are a number of 145 blueprints that help us to make faster choices. This is especially useful if you regularly build new applications, or if your team has to maintain multiple projects. Although frameworks help you with making development faster and easier, they often enforce a higher coupling between your business logic and implementing technology. In other words, if the framework changes, your application might need quite a few changes, too. In the Backbone.js ecosystem, a number of frameworks exist: Marionette This framework by Derick Bailey provides components to render collections to combine multiple views and boilerplate to manage events from different parts of an application.


pages: 538 words: 138,544

The Story of Stuff: The Impact of Overconsumption on the Planet, Our Communities, and Our Health-And How We Can Make It Better by Annie Leonard

air freight, banking crisis, big-box store, blood diamond, Bretton Woods, business logic, California gold rush, carbon footprint, carbon tax, clean water, Community Supported Agriculture, cotton gin, dematerialisation, employer provided health coverage, energy security, European colonialism, export processing zone, Firefox, Food sovereignty, Ford paid five dollars a day, full employment, global supply chain, Global Witness, income inequality, independent contractor, Indoor air pollution, intermodal, Jeff Bezos, job satisfaction, Kickstarter, liberation theology, McMansion, megaproject, Nelson Mandela, new economy, oil shale / tar sands, peak oil, planned obsolescence, Ralph Nader, renewable energy credits, Silicon Valley, special economic zone, supply-chain management, systems thinking, TED Talk, the built environment, trade liberalization, trickle-down economics, union organizing, Wall-E, Whole Earth Review, Zipcar

Quote appears on the Water Footprint website: waterfootprint.org/?page=files/home. 67. Bergkamp and Sadoff, “Water in a Sustainable Economy,” p. 114. 68. “Dublin Statements and Principles,” Global Water Partnership (gwpforum.org/servlet/PSP?iNodeID=1345). 69. Ray Anderson, “The business logic of sustainability,” TED talk filmed February 2009, posted May 2009 (ted.com/talks/ray_anderson_on_the_business_ logic_of_sustain ability.html). 70. Dirty Metals: Mining, Communities, and the Environment, Earthworks and Oxfam America, 2004, p. 4 (nodirtygold.org/pubs/DirtyMetals.pdf). 71. “Bingham Canyon Mine,” Wikipedia (wikipedia.org/wiki/Bingham_Canyon_Mine). 72.

Joel Makower, “Calculating the Gross National Trash,” March 17, 2009 (readjoel.com/joel_makower/2009/03/calculating-the-gross-national-trash.html). 12. Makower, “Industrial Strength Solution.” 13. Ibid. 14. “A Natural Step Network Case Study: Interface, Atlanta, Georgia,” The Natural Step (naturalstep.org/en/usa/interface-atlanta-georgia-usa). 15. Ray Anderson, “The business logic of sustainability,” TED talk filmed February 2009, posted May 2009 (ted.com/talks/ray_anderson_on_the_business_ logic_of_sustain ability.html). 16. Ibid. 17. Ibid. 18. Charles Fishman, “Sustainable Growth—Interface, Inc.” Fast Company, December 18, 2007 (fastcompany.com/magazine/14/sustaing.html). 19. Kate Fletcher, Sustainable Fashion and Textiles (London: Earthscan, 2008), p. 158. 20.


pages: 671 words: 228,348

Pro AngularJS by Adam Freeman

business logic, business process, create, read, update, delete, en.wikipedia.org, Google Chrome, information retrieval, inventory management, MVC pattern, place-making, premature optimization, revision control, Ruby on Rails, single page application, web application

You will see a larger example of this in Chapter 6 when I start to build a more complex and realistic AngularJS application; there is a lot of initial setup and configuration required, but then the features start to quickly snap into place. Creating a Controller The controller defines the business logic required to support a view, although the term business logic isn’t helpful. The best way of describing a controller is to explain what kinds of logic it doesn’t contain—and what’s left goes into the controller. Logic that deals with storing or retrieving data is part of the model. Logic that deals with formatting the data to display to the user is part of the view.

Fortunately, the Batarang extension for Google Chrome makes it easy to explore and monitor the model (and some other AngularJS features). See Chapter 1 for details of the Batarang extension. Creating and Using Controller Behaviors Controllers define behaviors on the scope. Behaviors are functions that operate on the data in the model to implement the business logic in the application. The behaviors defined by a controller support a view to display data to the user and to update the model based on user interactions. To demonstrate a simple behavior, I am going to change the label displayed to the right of the header in todo.html so that it displays only the number of incomplete to-do items.

These are not coding errors but rather problems with the overall shape of the web app that prevent the project team from getting the benefits that AngularJS and the MVC pattern can provide. Putting the Logic in the Wrong Place The most common problem is logic put into the wrong component such that it undermines the MVC separation of concerns. Here are the three most common varieties of this problem: • Putting business logic in views, rather than in controllers • Putting domain logic in controllers, rather than in model • Putting data store logic in the client model when using a RESTful service These are tricky issues because they take a while to manifest themselves as problems. The application still runs, but it will become harder to enhance and maintain over time.


pages: 1,758 words: 342,766

Code Complete (Developer Best Practices) by Steve McConnell

Ada Lovelace, Albert Einstein, Buckminster Fuller, business logic, call centre, classic study, continuous integration, data acquisition, database schema, don't repeat yourself, Donald Knuth, fault tolerance, General Magic , global macro, Grace Hopper, haute cuisine, if you see hoof prints, think horses—not zebras, index card, inventory management, iterative process, Larry Wall, loose coupling, Menlo Park, no silver bullet, off-by-one error, Perl 6, place-making, premature optimization, revision control, Sapir-Whorf hypothesis, seminal paper, slashdot, sorting algorithm, SQL injection, statistical model, Tacoma Narrows Bridge, the Cathedral and the Bazaar, the scientific method, Thomas Kuhn: the structure of scientific revolutions, Turing machine, web application

Programmers who program "into" a language first decide what thoughts they want to express, and then they determine how to express those thoughts using the tools provided by their specific language. Example of Programming into a Language In the early days of Visual Basic, I was frustrated because I wanted to keep the business logic, the UI, and the database separate in the product I was developing, but there wasn't any built-in way to do that in the language. I knew that if I wasn't careful, over time some of my Visual Basic "forms" would end up containing business logic, some forms would contain database code, and some would contain neither—I would end up never being able to remember which code was located in which place. I had just completed a C++ project that had done a poor job of separating those issues, and I didn't want to experience déjà vu of those headaches in a different language.

Late-wave environments provide numerous programming language choices, comprehensive error checking for code written in those languages, powerful debugging tools, and automatic, reliable performance optimization. The compilers are nearly bug-free. The tools are well documented in vendor literature, in third-party books and articles, and in extensive Web resources. Tools are integrated, so you can do UI, database, reports, and business logic from within a single environment. If you do run into problems, you can readily find quirks of the tools described in FAQs. Many consultants and training classes are also available. In early-wave environments—Web programming in the mid-1990s, for example—the situation is the opposite. Few programming language choices are available, and those languages tend to be buggy and poorly documented.

Debuggers might not exist at all, and compiler optimizers are still only a gleam in some programmer's eye. Vendors revise their compiler version often, and it seems that each new version breaks significant parts of your code. Tools aren't integrated, and so you tend to work with different tools for UI, database, reports, and business logic. The tools tend not to be very compatible, and you can expend a significant amount of effort just to keep existing functionality working against the onslaught of compiler and library releases. If you run into trouble, reference literature exists on the Web in some form, but it isn't always reliable and, if the available literature is any guide, every time you encounter a problem it seems as though you're the first one to do so.


Android Developer Tools Essentials: Android Studio to Zipalign by Mike Wolfson, Donn Felker

business logic, Debian, performance metric, pez dispenser

The files contain information defining the widgets you wish to display and detailed information about them (for example, orientation, spacing, or the specific location of an element on the screen). The advantage of placing the layout into XML is that it separates the presentation of your application from the business logic. Your layout definitions are separate from your application code, so you can modify the layout without needing to change your source code or recompile. You can create different layouts for multiple device orientations, screen sizes, or locations. It is worth noting that almost everything you do in XML can also be done in Java code, or by using a combination of both.

Hierarchy View: good detail Fixing Problems Using Lint ADT includes a static code analysis tool designed to check source code for potential issues and identify optimization opportunities. It automatically analyzes source code for a variety of criteria. You have likely encountered it before, as it is involved in other aspects of Android development, including writing the business logic (Java classes). Lint is launched by pressing the little red button on the far right of the Graphical Editor toolbar (), which we discussed in the previous chapter (Chapter 12). This number indicates the number of issues Lint has identified. Clicking it will launch the Lint tool (Figure 13-17).


pages: 1,380 words: 190,710

Building Secure and Reliable Systems: Best Practices for Designing, Implementing, and Maintaining Systems by Heather Adkins, Betsy Beyer, Paul Blankinship, Ana Oprea, Piotr Lewandowski, Adam Stubblefield

air gap, anti-pattern, barriers to entry, bash_history, behavioural economics, business continuity plan, business logic, business process, Cass Sunstein, cloud computing, cognitive load, continuous integration, correlation does not imply causation, create, read, update, delete, cryptocurrency, cyber-physical system, database schema, Debian, defense in depth, DevOps, Edward Snowden, end-to-end encryption, exponential backoff, fault tolerance, fear of failure, general-purpose programming language, Google Chrome, if you see hoof prints, think horses—not zebras, information security, Internet of things, Kubernetes, load shedding, margin call, microservices, MITM: man-in-the-middle, NSO Group, nudge theory, operational security, performance metric, pull request, ransomware, reproducible builds, revision control, Richard Thaler, risk tolerance, self-driving car, single source of truth, Skype, slashdot, software as a service, source of truth, SQL injection, Stuxnet, the long tail, Turing test, undersea cable, uranium enrichment, Valgrind, web application, Y2K, zero day

In addition, some organizations may have to consider their particular regulatory or contractual requirements when designing authorization policies. This code can be difficult to implement correctly, and its complexity can rapidly compound if many services each implement their own authorization logic. In our experience, it’s helpful to separate the complexities of authorization decisions from core API design and business logic with frameworks like the AWS or GCP Identity & Access Management (IAM) offerings. At Google, we also extensively use a variation of the GCP authorization framework for internal services.15 The security policy framework allows our code to make simple checks (such as “Can X access resource Y?”) and evaluate those checks against an externally supplied policy.

For example, OpenAPI has API versioning as a built-in feature. Protocol buffers, used for declaring gRPC interfaces, have well-documented guidelines on how to update message definitions to retain backward compatibility. In contrast, an API built on free-form JSON strings can be hard to understand unless you inspect its implementation code and core business logic. This unconstrained approach may lead to security or reliability incidents. For example, if a client and a server are updated independently, they may interpret an RPC payload differently, which could cause one of them to crash. The lack of an explicit API specification also makes evaluating the security posture of the service difficult.

Tink prevents many mistakes that could result in low-level cryptographic vulnerabilities, but does not prevent mistakes based on using the wrong crypto API (or not using crypto at all). Similarly, a secure-by-construction web framework prevents XSS vulnerabilities, but does not prevent security bugs in an application’s business logic. Conclusion Reliability and security benefit, in a deep and intertwined way, from understandable systems. Although “reliability” is sometimes treated as synonymous with “availability,” this attribute really means upholding all of a system’s critical design guarantees—availability, durability, and security invariants, to name a few.


pages: 262 words: 60,248

Python Tricks: The Book by Dan Bader

anti-pattern, business logic, data science, domain-specific language, don't repeat yourself, functional programming, Hacker News, higher-order functions, linked data, off-by-one error, pattern recognition, performance metric

After all, what I just mentioned sounded quite abstract, and it might be difficult to see how decorators can benefit you in your day-to-day work as a Python developer. Let me try to bring some clarity to this question by giving you a somewhat real-world example: Imagine you’ve got 30 functions with business logic in your report-generating program. One rainy Monday morning your boss walks up to your desk and says: “Happy Monday! Remember those TPS reports? I need you to add input/output logging to each step in the report generator. XYZ Corp needs it for auditing purposes. Oh, and I told them we can ship this by Wednesday.”

Fields stored on classes are mutable, and new fields can be added freely, which you may or may not like. It’s possible to provide more access control and to create read-only fields using the @property decorator,19 but once again, this requires writing more glue code. Writing a custom class is a great option whenever you’d like to add business logic and behavior to your record objects using methods. However, this means that these objects are technically no longer plain data objects. class Car: def __init__(self, color, mileage, automatic): self.color = color self.mileage = mileage self.automatic = automatic >>> car1 = Car('red', 3812.4, True) >>> car2 = Car('blue', 40231.0, False) # Get the mileage: >>> car2.mileage 40231.0 # Classes are mutable: >>> car2.mileage = 12 >>> car2.windshield = 'broken' # String representation is not very useful # (must add a manually written __repr__ method): >>> car1 <Car object at 0x1081e69e8> collections.namedtuple – Convenient Data Objects The namedtuple class available in Python 2.6+ provides an extension of the built-in tuple data type.20 Similar to defining a custom class, using namedtuple allows you to define reusable “blueprints” for your records that ensure the correct field names are used.


pages: 628 words: 107,927

Node.js in Action by Mike Cantelon, Marc Harter, Tj Holowaychuk, Nathan Rajlich

Amazon Web Services, business logic, Chris Wanstrath, create, read, update, delete, Debian, en.wikipedia.org, Firefox, Google Chrome, machine readable, MITM: man-in-the-middle, MVC pattern, node package manager, p-value, pull request, Ruby on Rails, SQL injection, web application, WebSocket

This simple concept of configurable middleware is used throughout the Connect community, and it’s used for all core Connect middleware to maintain consistency. Now let’s write a middleware component with a little more involved logic. Let’s create a router to map incoming requests to business logic! 6.5.2. Building a routing middleware component Routing is a crucial web application concept. Put simply, it’s a method of mapping incoming request URLs to functions that employ business logic. Routing comes in many shapes and sizes, ranging from highly abstract controllers used by frameworks like Ruby on Rails to simpler, less abstract, routing based on HTTP methods and paths, such as the routing provided by frameworks like Express and Ruby’s Sinatra.

In order to use Node’s built-in functionality, each test case had to include a lot of boilerplate to set up the test (such as deleting all items) and to keep track of progress (the “completed” counter). All this boilerplate shifts the focus away from the primary concern of writing test cases, and it’s better left to a dedicated framework that can do the heavy lifting while you focus on testing business logic. Let’s look at how you can make things easier using nodeunit, a third-party unit-testing framework. 10.1.2. Nodeunit Using a unit-testing framework simplifies unit testing. Frameworks generally keep track of how many tests have run and they make it easy to run multiple test scripts. A number of excellent testing frameworks have been created by the Node community.


pages: 982 words: 221,145

Ajax: The Definitive Guide by Anthony T. Holdener

AltaVista, Amazon Web Services, business logic, business process, centre right, Citizen Lab, Colossal Cave Adventure, create, read, update, delete, database schema, David Heinemeier Hansson, en.wikipedia.org, Firefox, full text search, game design, general-purpose programming language, Guido van Rossum, information retrieval, loose coupling, machine readable, MVC pattern, Necker cube, p-value, Ruby on Rails, SimCity, slashdot, social bookmarking, sorting algorithm, SQL injection, Wayback Machine, web application

Then the user interface waits for new input from the user, and the pattern starts over again. Calls Request Business logic Controller Return forward Forward Client Response View Update Uses Model Figure 2-5. The Model-View-Controller design pattern For web applications, the view module is in charge of building the XHTML whenever there is a user request. The controller is all of the navigation code that runs the application, and it can be both client- and server-side scripting. The model is the data access module for the design pattern, handling most data access requests and all business logic. I said most because if there is a user request for an XML response, for example, the view module alone may respond through an XML transformation or something similar.

They function like traditional desktop applications by changing the browser from a thin to a fat client, through the use of JavaScript. A truly robust RIA usually incorporates the MVC design pattern into its model for stability and reliability, as shown in Figure 2-6. 30 | Chapter 2: From Web Sites to Web Applications RIA Calls Request Business logic Controller Return forward Forward Client Response View Update Uses Model Figure 2-6. An RIA implementation on top of MVC RIA applications are getting a bigger and bigger push, as more people realize that their traditional desktop applications can be ported to the Web. This way of thinking has many merits: • Ajax web applications require no installation, updating, or distribution, as everything is served up by a web server. • Ajax web applications are less prone to virus attacks (generally). • Ajax web applications can be accessed anywhere, and if they are built properly, you can run them on any operating system.

Zope 2 is the code base that most programmers are familiar with, as it is behind many open source CMSs and ERP5 (http://www.erp5.com/), an open source Enterprise Resource Planning (ERP) package. The problem with Zope 2 is that a lot of “magic” code must go along with every distribution. Zope 2 also does a poor job of separating business logic from the presentation layer. Zope 3 is a rewrite of Zope that attempts to fix the problems that exist in Zope 2 while keeping true to the roots that make Zope popular. It is taking a different approach, though, mixing components of various origins to create a faster, stronger, and more reliable Ajax web development framework.


Seeking SRE: Conversations About Running Production Systems at Scale by David N. Blank-Edelman

Affordable Care Act / Obamacare, algorithmic trading, AlphaGo, Amazon Web Services, backpropagation, Black Lives Matter, Bletchley Park, bounce rate, business continuity plan, business logic, business process, cloud computing, cognitive bias, cognitive dissonance, cognitive load, commoditize, continuous integration, Conway's law, crowdsourcing, dark matter, data science, database schema, Debian, deep learning, DeepMind, defense in depth, DevOps, digital rights, domain-specific language, emotional labour, en.wikipedia.org, exponential backoff, fail fast, fallacies of distributed computing, fault tolerance, fear of failure, friendly fire, game design, Grace Hopper, imposter syndrome, information retrieval, Infrastructure as a Service, Internet of things, invisible hand, iterative process, Kaizen: continuous improvement, Kanban, Kubernetes, loose coupling, Lyft, machine readable, Marc Andreessen, Maslow's hierarchy, microaggression, microservices, minimum viable product, MVC pattern, performance metric, platform as a service, pull request, RAND corporation, remote working, Richard Feynman, risk tolerance, Ruby on Rails, Salesforce, scientific management, search engine result page, self-driving car, sentiment analysis, Silicon Valley, single page application, Snapchat, software as a service, software is eating the world, source of truth, systems thinking, the long tail, the scientific method, Toyota Production System, traumatic brain injury, value engineering, vertical integration, web application, WebSocket, zero day

It’s up to each SRE organization to determine how much risk they can assume as one factor in finding the split between a context- versus control-based model. I believe there is a difference between information and context. In systems monitoring, information could just be a bunch of availability metrics I jam into a dashboard and email to the team. A typical engineer receiving such an email would ignore it because, 1) they are in charge of writing business logic for a service, and 2) they lack the expertise to digest and understand resource and availability metrics presented as time series. At Netflix we have hundreds of thousands of operational metrics available to us. In order to support a context-driven model to improve availability, we have to bring specific domain knowledge to bear on the data.

Our backend, as originally envisioned, consists of many small services — a pattern now called microservices — which together provide the content for the Spotify clients. The microservices themselves are programs that do one thing and do it well. During these first two years, work was distributed between dev and ops as follows: developers took care of the business logic in the form of client features or backend services, whereas ops owned everything else, including detecting problems in production as well as taking care of office technology. This was a startup, and as you might imagine, almost everything was done manually, like deployment of backend services and desktop client rollouts.

Key Learnings Some of our key learnings from this early period were: Including an ops engineer from the get-go influenced the engineering culture and proved highly beneficial as we grew. You should introduce an operational mindset into the engineering culture as early as possible. Aside from business logic architecture, ensure that an infrastructural architecture is in place, as early as possible. Beta and Release: 2008–2009 Three ops engineers ~10 backend engineers 1 data center 10–20 backend services 4 clients: Windows, Mac, iPhone, libspotify Prelude In this section, we’ll talk about how our “Ops by default” philosophy shifted and how that links up with our core engineering values: Ops by default Bringing in operations into regular discussions of scalability and reliability with developers from the start was pivotal to creating the foundation of our engineering approach.


pages: 234 words: 63,522

Puppet Essentials by Felix Frank

business logic, cloud computing, Debian, DevOps, domain-specific language, Infrastructure as a Service, platform as a service, web application

In most cases, however, the landscape of servers and other computing nodes is rather heterogeneous, at least in subtle ways. Even in unified networks, there are likely multiple generations of machines, with small or larger differences required for their respective configurations. For example, a common task for Puppet is to handle the configuration of system monitoring. Your business logic will likely dictate warning thresholds for gauges such as the system load value. However, those thresholds can rarely be static. On a two-processor virtual machine, a system load of 10 represents a crippling overload, while the same value can be absolutely acceptable for a busy DBMS server that has cutting-edge hardware of the largest dimensions.

This code sample has some notable aspects: • Since you are essentially wrapping multiple resource types, the titles of all inner resources are derived from the instance title (or name) of the current defined type instance; actually, this is a safe practice for all defined types • You can hardcode parts of your business logic; in this example, we dispensed with the support for non-RSA SSH keys and define users as the default group • Resources inside defined types can and should manage ordering among themselves (using the chaining arrow -> in this case) Using defined types as macros Some source code requires many repetitive tasks.


Demystifying Smart Cities by Anders Lisdorf

3D printing, artificial general intelligence, autonomous vehicles, backpropagation, behavioural economics, Big Tech, bike sharing, bitcoin, business intelligence, business logic, business process, chief data officer, circular economy, clean tech, clean water, cloud computing, computer vision, Computing Machinery and Intelligence, congestion pricing, continuous integration, crowdsourcing, data is the new oil, data science, deep learning, digital rights, digital twin, distributed ledger, don't be evil, Elon Musk, en.wikipedia.org, facts on the ground, Google Glasses, hydroponic farming, income inequality, information security, Infrastructure as a Service, Internet of things, Large Hadron Collider, Masdar, microservices, Minecraft, OSI model, platform as a service, pneumatic tube, ransomware, RFID, ride hailing / ride sharing, risk tolerance, Salesforce, self-driving car, smart cities, smart meter, software as a service, speech recognition, Stephen Hawking, Steve Jobs, Steve Wozniak, Stuxnet, Thomas Bayes, Turing test, urban sprawl, zero-sum game

For an overview of the different aspects of data management see Table 4-4.Table 4-4Data management Organization Data Level Responsibility Process CDO Business Conceptual Definitions, processes, guidelines Data governance Data owner Business Logical Solution ownership, definitions Data governance Data steward Business Logical Operational at the data level MDM Data analyst Business/IT Logical/physical Operational at the data level, data user MDM/data quality Database administrator IT Physical Operational at the physical level MDM/data quality Summary In this chapter, we have taken a deeper look into the different forces that affect how we use data in the city.


pages: 145 words: 40,897

Gamification by Design: Implementing Game Mechanics in Web and Mobile Apps by Gabe Zichermann, Christopher Cunningham

airport security, business logic, future of work, game design, gamification, Ian Bogost, lateral thinking, minimum viable product, pattern recognition, power law, Ruby on Rails, SimCity, social graph, social web, systems thinking, urban planning, web application

A System for Tracking Scores and Levels Now that we have a basic game design in hand—with points, levels, and badges clearly defined—we can begin to modify Altered Beast. We’ll start by implementing a general framework to award and track points and levels. Once that’s in place, we can add business logic based on our game design. Creating a Level Model Let’s begin by adding a few basic models and methods to award player points. To do this, we’ll need to define a Levels model to track the available levels. We’ll also need to modify the Player model to track points and levels. The Levels model defines hierarchical ranks, which players achieve by earning points.

This describes the “User has many Levels” relationship so that we can access attributes in a very readable way—for example, by writing things like user.level.display_name. Now, we have a score and a level_id attribute defined on the User model. This would be a sufficient framework to allow us to jump right into coding business logic, but there is one problem. Although we have an attribute to track a player’s score, we have no way to log the activities that generated that score. This makes it hard to audit how players achieved a given score, limiting our ability to explain to players how they earned their points. Let’s add one more model to log events that generate points, so that we have a history of how a player achieved her current score.


pages: 386 words: 113,709

Why We Drive: Toward a Philosophy of the Open Road by Matthew B. Crawford

1960s counterculture, Airbus A320, airport security, augmented reality, autonomous vehicles, behavioural economics, Bernie Sanders, Big Tech, Boeing 737 MAX, British Empire, Burning Man, business logic, call centre, classic study, collective bargaining, confounding variable, congestion pricing, crony capitalism, data science, David Sedaris, deskilling, digital map, don't be evil, Donald Trump, driverless car, Elon Musk, emotional labour, en.wikipedia.org, Fellow of the Royal Society, Ford Model T, gamification, gentrification, gig economy, Google Earth, Great Leap Forward, Herbert Marcuse, hive mind, Ian Bogost, income inequality, informal economy, Internet of things, Jane Jacobs, labour mobility, Lyft, mirror neurons, Network effects, New Journalism, New Urbanism, Nicholas Carr, planned obsolescence, Ponzi scheme, precautionary principle, Ralph Nader, ride hailing / ride sharing, Ronald Reagan, Sam Peltzman, security theater, self-driving car, sharing economy, Shoshana Zuboff, Silicon Valley, smart cities, social graph, social intelligence, Stephen Hawking, surveillance capitalism, tacit knowledge, tech worker, technoutopianism, the built environment, The Death and Life of Great American Cities, the High Line, time dilation, too big to fail, traffic fines, Travis Kalanick, trolley problem, Uber and Lyft, Uber for X, uber lyft, Unsafe at Any Speed, urban planning, Wall-E, Works Progress Administration

The contest for control between humans and computers often looks like no contest at all, as a political reality. Viewed through the lens of press releases and credulous journalism, the logic of automation is joined, in the public mind, to the moral logic of safety, which similarly admits no limit to its expansion.28 These two are symbiotic in the sense that safetyism provides legitimation to the business logic of ever more automation. Together they are unimpeachable in the minds of all right-thinking people, and to question Team Progress is to invite being labeled pro-death. If we confine ourselves to factual questions about the likely safety gains to be had from self-driving cars, it seems to me the most prudent position would be to join the agnosticism of the human factors researchers.29 As Casner et al. say, “In the coming decades, we will all participate in driving research as an enormous uncontrolled experiment takes place on our streets and highways.”

He oscillates between a determination to seize control back from the automation, and second-guessing himself. Maybe the computer knows best? In the case of the 737 MAX, this second-guessing was in fact appropriate, because pilots were underinformed—and for reasons that in retrospect are not surprising, given the business logic of selling airplanes. (The deployment of driverless cars on public roads has in some cases revealed a similarly cavalier attitude about public safety, likely due to the imperative of being “first to market.”11) How much trust does the pilot place in things beyond his own comprehension? The greater the complexity of the plane’s control systems, the more such trust is an element of his everyday flying.

Alternatively, we may accept technocratic competence as a legitimate claim to rule, even if it is inscrutable. But then we are in a position of trust. This would be to move away from the originating insight of liberalism: power corrupts. Such a move toward trust seems unlikely, given that people are waking up to the business logic that often stands behind the promise of technocratic competence and good will. Let us consider a couple of recent cases of “smart” road infrastructure development. When Kansas City was ripping up its Main Street to install a trolley line, Cisco convinced city officials that this was a perfect opportunity to install various sensors and a fiber-optic cable, to monitor traffic.


pages: 58 words: 12,386

Big Data Glossary by Pete Warden

business intelligence, business logic, crowdsourcing, fault tolerance, functional programming, information retrieval, linked data, machine readable, natural language processing, recommendation engine, web application

It can be used in a very similar way to Flume, keeping its high throughput, but with a more flexible system for creating multiple clients and an underlying architecture that’s more focused on parallelization. Kafka relies on ZooKeeper to keep track of its distributed processing. Azkaban The trickiest part of building a working system using these new data tools is the integration. The individual services need to be tied together into sequences of operations that are triggered by your business logic, and building that plumbing is surprisingly time consuming. Azkaban is an open source project from LinkedIn that lets you define what you want to happen as a job flow, possibly made up of many dependent steps, and then handles a lot of the messy housekeeping details. It keeps track of the log outputs, spots errors and emails about errors as they happen, and provides a friendly web interface so you can see how your jobs are getting on.


pages: 408 words: 63,990

Build Awesome Command-Line Applications in Ruby: Control Your Computer, Simplify Your Life by David B. Copeland

business logic, Chris Wanstrath, Compatible Time-Sharing System, database schema, en.wikipedia.org, full stack developer, machine readable, Multics, Ruby on Rails, systems thinking, web application

Let’s see it in action: ​$ bin/todo -f ~/todo.txt new -f "A new task" "Another task"​ ​Global:​ ​-f - /Users/davec/todo.txt​ ​Command:​ ​-f - true​ ​-p -​ ​args - A new task,Another task​ We can see that :f in global_options contains the file specified on the command line; that options[:f] is true, because we used the command-specific option -f; and that options[:priority] is missing, since we didn’t specify that on the command line at all. Once we’ve done this, we can add our business logic to each of the c.action blocks, using global_options, options, and args as appropriate. For example, here’s how we might implement the logic for the to-do app list command: ​c.action do |global_options,options,args|​ ​ todos = read_todos(global_options[:filename])​ ​ if options[:s] == 'name'​ ​ todos = todos.sort { |a,b| a <=> b }​ ​ end​ ​ todos.each do |todo|​ ​ puts todo​ ​ end​ ​end​ We’ve used very few lines of code yet can parse a sophisticated user interface.

By manipulating the environment, setting up test-specific infrastructure, and mocking system calls, we can simulate almost anything that might happen when our app runs. Toward the end, when we learned about unit testing, we talked briefly about refactoring. Refactoring is difficult without tests, but with a good suite of tests, we can safely change the internal design of our code. We got a taste of that when we extracted our business logic out of bin/todo and put it into lib/todo/task.rb so we could unit test it. In the next chapter, we’ll learn some patterns and techniques for organizing our code so that it’s easy to maintain, test, and enhance. Footnotes [45] Cucumber supports other human languages as well, from Arabic to Vietnamese


pages: 232 words: 71,237

Kill It With Fire: Manage Aging Computer Systems by Marianne Bellotti

anti-pattern, barriers to entry, business logic, cloud computing, cognitive bias, computer age, continuous integration, create, read, update, delete, Daniel Kahneman / Amos Tversky, data science, database schema, Dennis Ritchie, DevOps, fault tolerance, fear of failure, Google Chrome, Hans Moravec, iterative process, Ken Thompson, loose coupling, microservices, minimum viable product, Multics, no silver bullet, off-by-one error, platform as a service, pull request, QWERTY keyboard, Richard Stallman, risk tolerance, Schrödinger's Cat, side project, software as a service, Steven Levy, systems thinking, web application, Y Combinator, Y2K

You may need to rethink hooks or stored procedures. One software language often has any number of minor languages that facilitate specific functions. There are command processors like bash or JCL that trigger jobs, templating languages to build interfaces, querying languages to access data, and so on. How well is business logic separated out between these layers? Does logic stay where it is sensible, or is it injected to where it is convenient? Most web development projects, for example, run on Linux machines. Therefore, it is not uncommon for web applications to include shell scripts as part of their code base—particularly as part of the setup/installation routine.

Numbers 3-Arm Sweater award, 166 4+1 architectural view model, 173–176 18F, 144 20 percent projects, 99 A abstraction, 39, 64, 102, 146, 157, 204 abstract syntax tree, 71 Accelerated Mobile Pages (AMP), 8 ACM (Association for Computing Machinery), 30 Adobe Acrobat, 67 ADS-B (automatic dependent surveillance), 204 affinity mapping, 139–140 agile development, 75, 181 air cover, 161 alignable and nonalignable difference, 3–4, 9, 18, 21, 22 Amazon, 69, 204, 208 ambiguity, 34, 83, 90, 152 AOL, 13 application programming interface (API), 64, 66, 102, 108 Ariely, Dan, 163 artificial consistency, 35, 101 ASR-33 Teletype, 26 Association for Computing Machinery (ACM), 30 AT&T, 13, 23–25 automatic dependent surveillance (ADS-B), 204 automation, 69, 99, 206–207 B baudot code, 20 Beats 1, 204 Bell Labs, 21, 23 Bell Systems, 23 Berkeley Software Distribution (BSD), 25 biases confirmation, 138 gambler’s fallacy, 169 self-serving, 60 Big Data, 15 blue-green deploys, 56–57, 184 breaking change, 170–171, 179 Brooks, Fred, 33, 140, 213 bullet journaling, 186–187 business logic, 65 C Canaday, Rudd, 23 Castelfranchi, Cristiano, 168 cellphones, 8 data usage, 14 DynaTAC 800, 5 HTC Dream, 7 IBM Simon, 5 iPhone, 6 Nokia, 198 Nokia N95, 6 size, 5–7 chaos experiments. See failure drills chief information officer (CIO), 15 CloudFlare, 204 Code Yellow, 116–122, 156, 193 Collins Aerospace, 204 column width, 18 commercial cloud, 3, 15, 69, 86 Committee on Data Systems Languages (CODASYL), 29 compiler design, 71 complexity, 41, 46–50, 61, 103, 108, 137, 146, 173, 207 compliance, 90 configuration management, 65 containerization, 65 continuous integration, 72, 183 contract testing, 110 control flow graphs, 72 conventions, 106 Conway, Melvin, 140, 144 Conway’s law, 98, 140–141, 149–152, 156, 159 costs, 9 coupling, 46–50, 56, 64, 66, 85, 101, 103, 173 cross-compatibility, 64, 69 D databases, 36 data contracts, 102–110, 171 data flow graphs, 72 Deep Impact probe, the, 198 Dekker, Sidney, 145, 167 delays, 211 Department of Justice, 24 Department of Treasury, 15 Department of Veterans Affairs, 68 dependencies, 68, 111, 115 graphs, 71 management, 64 deprecations, 179 development environments, 72 development view, 173 DevOps, 150, 218 diagnosis-policies-actions, 184–187 drift, 145–146 E ECMA Office Open XML specification, 61 encoding, 20 enterprise architects, 77 enterprise service buses (ESB), 7–8 Etsy, 166 Excel, 61 F FAA (Federal Aviation Administration), 204 Facebook, 114 failovers, 55 failure drills, 114, 153, 172, 178 Falcone, Rino, 168 Feathers, Michael, 55 feature parity, 79 Federal Aviation Administration (FAA), 204 feedback loops, 210–211, 218–219 filetypes PDF, 67 fixed-point, 70 Flickr, 102 floating-point, 70 flows, 210 Fog Creek Software, 33 Ford, Neal, 105 formal methods, 109 Alloy, 110 Petri nets, 110 TLA+, 110 formal specification, 109–110 Fowler, Chad, 33 frameworks Angular.js, 150 Node.js, 36, 68 React.js, 36, 150 Vue.js, 150 G garbage collection, 44, 206 Gawker Media, 204 Glidden, Carlos, 19 GNU, 25 Google, 113, 117–118, 169, 205, 207 Chrome 119 GPS, 202–204 Groupon, 102 H Hadoop, 15 hard cutoff, 57 hardware lifecycles, 196 Harvard Business Review, 140 Harvard’s Kennedy School for Government, 162 Hölzle, Urs, 119 hooks, 65 HTTPS (HyperText Transfer Protocol Secure), 114 human factors, 145 I IBM, 19, 140, 198 Simon, 5 incentives, 34, 122, 140–144, 148–156, 163–165 incident commander, 121 incident response, 109, 188 InsightMaker, 212 Instagram, 204 International Telegraph Alphabet No. 1.


Team Topologies: Organizing Business and Technology Teams for Fast Flow by Matthew Skelton, Manuel Pais

anti-pattern, business logic, business process, call centre, cognitive load, continuous integration, Conway's law, database schema, DevOps, different worldview, Dunbar number, holacracy, information security, Infrastructure as a Service, Internet of things, Jeff Bezos, Kanban, Kickstarter, knowledge worker, Kubernetes, Lean Startup, loose coupling, meta-analysis, microservices, Norbert Wiener, operational security, platform as a service, pull request, remote working, systems thinking, two-pizza team, web application

There were, of course, valid historical reasons for the predominance of monolithic databases (such as the rise in specialism of people and teams on technical stack layers) up until DevOps and microservices gained traction. Factors such as project orientation, cost cutting via outsourcing, or junior teams without sufficient experience have contributed to the perpetuation of this (now recognizable) anti-pattern. Monolithic databases couple the applications that depend on them and become magnets for small-business logic changes at the database level (more on this in Chapter 6). Yet, to avoid them, organizations need not only good architectural practices but also actual team structures and composition that align with this new way of thinking. Sportswear company Adidas went through an interesting transformation where they explicitly looked at Conway’s law as a driver for organization design.

We’ve seen extreme cases where, because there were no stable teams and all changes were made via temporary projects (mostly outsourced), applications became deeply coupled at the database level (shared data and procedures). This later impeded adoption of commodity systems for certain parts of the business since the latter could not be decoupled from the rest of the business logic. Instead of freeing up in-house engineers to work on differentiating features that meet evolving customer needs, accruing technical debt like this curtails an organization’s ability to move faster and make a difference against competitors. So, how can the reverse Conway maneuver help steer team organization to obtain the desired software architecture?


pages: 593 words: 118,995

Relevant Search: With Examples Using Elasticsearch and Solr by Doug Turnbull, John Berryman

business logic, cognitive load, commoditize, crowdsourcing, data science, domain-specific language, Dr. Strangelove, fail fast, finite state, fudge factor, full text search, heat death of the universe, information retrieval, machine readable, natural language processing, premature optimization, recommendation engine, sentiment analysis, the long tail

The scores across all fields are then combined either by summing them or taking the value of the highest-scoring field. Finally, the relevance engineer may choose to apply an additional multiplicative or additive boost based on the numerical value of a field or the numerical value of a function that itself uses values from one or more fields. This is where the “business logic” of search often comes into play. In our example movie search, it’s probably advantageous to boost more-popular movies because they tend to sell better than older movies. Therefore, you can declare the final score to be the score across all fields (last paragraph) multiplied by whatever value is in the popularity field.

On the other hand, you might have little nudge or tie-breaker boosts—nice-to-have, lower-priority boosts that nudge relevance up or down. These two phases, shown in figure 7.6, are highly interdependent. Figure 7.6. Two activities of score shaping are signal modeling (measuring pieces of ranking information) and the ranking function (combining the influence of different signals to implement business logic). How much your boost nudges or overrides might depend exactly on the precision of the signal. Perhaps it’s a text-based relevancy nudge. Or a nudge based on multiplying a carefully crafted function. You’re always traversing both layers, optimizing signals, thinking how they’ll be used, and modifying the ranking function accordingly.

Naïve recency boost for news articles Figure 7.5. Tuned recency boost: a less aggressive recency boost for analysts Figure 7.6. Two activities of score shaping are signal modeling (measuring pieces of ranking information) and the ranking function (combining the influence of different signals to implement business logic). Figure 7.7. Flowchart representation of the custom business ranking rules as understood/specified by the business Figure 7.8. High-recall base query in black augmented with a highprecision tier of unequivocally more valuable search results Figure 7.9. Flowchart representing the custom business ranking rules for exact-name (cast/director) matching Figure 7.10.


pages: 434 words: 77,974

Mastering Blockchain: Unlocking the Power of Cryptocurrencies and Smart Contracts by Lorne Lantz, Daniel Cawrey

air gap, altcoin, Amazon Web Services, barriers to entry, bitcoin, blockchain, business logic, business process, call centre, capital controls, cloud computing, corporate governance, creative destruction, cross-border payments, cryptocurrency, currency peg, disinformation, disintermediation, distributed ledger, Dogecoin, Ethereum, ethereum blockchain, fault tolerance, fiat currency, Firefox, global reserve currency, information security, initial coin offering, Internet of things, Kubernetes, litecoin, low interest rates, Lyft, machine readable, margin call, MITM: man-in-the-middle, multilevel marketing, Network effects, offshore financial centre, OSI model, packet switching, peer-to-peer, Ponzi scheme, prediction markets, QR code, ransomware, regulatory arbitrage, rent-seeking, reserve currency, Robinhood: mobile stock trading app, Ross Ulbricht, Satoshi Nakamoto, Silicon Valley, Skype, smart contracts, software as a service, Steve Wozniak, tulip mania, uber lyft, unbanked and underbanked, underbanked, Vitalik Buterin, web application, WebSocket, WikiLeaks

Like Mastercoin (discussed in Chapter 4), it was built on top of the Bitcoin blockchain but aimed to offer a lot more programming capabilities than its antecedent. Most notably, programmers were able to create their own crypto-based blockchain assets on the platform. It featured smart contracts, which contain code that provides a blockchain application with business logic, giving developers more control over when and under what conditions a block would be written to the blockchain (this concept is also explored more in the next chapter). Counterparty also has its own cryptocurrency, called XCP. Interestingly, to raise funds for the project, the developers took in around $1.6 million in bitcoin and “burned” it.

Uniswap smart contracts and transactions are powered by and recorded by thousands of miners. The smart contracts and transactions are immutable and can never be changed. The only way to shut down the smart contract or stop transactions from completing is by shutting down the Ethereum network. Authorizing code execution Before executing any business logic, the backend authorizes API requests using security standards like JWT or OAuth. Smart contract code is run on the Ethereum Virtual Machine (EVM). The smart contract runs on the node of the miner producing the block and everyone in the network running a full node validating the chain. Figure 7-7 shows part of the Uniswap V1 Exchange Template smart contract, viewable on the blockchain.


The Trade Lifecycle: Behind the Scenes of the Trading Process (The Wiley Finance Series) by Robert P. Baker

asset-backed security, bank run, banking crisis, Basel III, Black-Scholes formula, book value, Brownian motion, business continuity plan, business logic, business process, collapse of Lehman Brothers, corporate governance, credit crunch, Credit Default Swap, diversification, financial engineering, fixed income, functional programming, global macro, hiring and firing, implied volatility, interest rate derivative, interest rate swap, locking in a profit, London Interbank Offered Rate, low interest rates, margin call, market clearing, millennium bug, place-making, prediction markets, proprietary trading, short selling, statistical model, stochastic process, the market place, the payments system, time value of money, too big to fail, transaction costs, value at risk, Wiener process, yield curve, zero-coupon bond

New technology The system was originally built in C++ and Visual Basic linked by the common object model (COM). This model made installation difficult, time consuming and error prone. At some point during the development, the technology was upgraded, which meant some of the front-end, graphical user interface had to be rewritten. Fortunately, as the application was well-layered this did not affect the business logic and so the time wasted was not as great as it might have been. The mathematical library was originally built and remained in the C programming language. Extra products As anticipated, extra financial products in the form of exotic currency options were required during development. This meant new input screens being added.

What actually happened? The project required a framework known as a technical architecture. It also had a database for the capture and retrieval of trades and other data. Architecture The system was built according to the common three-tier architecture with one unusual modification. The graphical user interface and business logic used standard technologies but the database was object oriented rather than relational. Case Studies 251 This was a benefit for the developers as they could learn something new but, as the object-oriented database was untested in a major commercial environment, it was somewhat risky. The database The database design was acceptable but was very tied to particular trade types being traded at that time.

The database The database design was acceptable but was very tied to particular trade types being traded at that time. This meant it was not easily extendable in the future when new trades were on the market and extensions were costly in development and testing time. The object-oriented database tied in well with the OTTC business logic and screens and facilitated quicker development. But it was slower on filtering and sorting and, with the benefit of hindsight, it would have been better to have chosen a relational database. Trade capture The trade capture facility was the basis of the success of OTTC. It was easy to use, very popular with users and set the standard for future GUIs within the IT department.


pages: 448 words: 71,301

Programming Scala by Unknown

billion-dollar mistake, business logic, domain-specific language, duck typing, en.wikipedia.org, fault tolerance, functional programming, general-purpose programming language, higher-order functions, information security, loose coupling, type inference, web application

xxii | Preface Download at WoweBook.Com CHAPTER 1 Zero to Sixty: Introducing Scala Why Scala? Today’s enterprise and Internet applications must balance a number of concerns. They must be implemented quickly and reliably. New features must be added in short, incremental cycles. Beyond simply providing business logic, applications must support secure access, persistence of data, transactional behavior, and other advanced features. Applications must be highly available and scalable, requiring designs that support concurrency and distribution. Applications are networked and provide interfaces for both people and other applications to use.

customer } } By now, this should all look very familiar. Each Shop creates and starts a new Barber, prints a message telling the world that the shop is open, and sits in a loop waiting for customers. When a Customer comes in, he’s sent to the barber. We now see an unexpected benefit of Actors: they allow us to describe concurrent business logic in easily understood terms. “Send the customer to the barber” makes perfect sense, much more so than “Notify the barber, unlock the mutex around the customer seats, increment the number of free seats,” and so forth. Actors get us closer to our domain. Finally, we have a driver for our simulation: // code-examples/Concurrency/sleepingbarber/barbershop-simulator.scala package sleepingbarber import scala.actors.Actor._ import scala.collection.

Each abstract trait declares a “start” method that does the work of initializing the tier. (We’re ignoring issues like success versus failure of startup, etc.) Each abstract tier is implemented by a corresponding concrete trait (not a class, so we can use them as mixins). We have traits for database persistence, some sort of computation cluster to do the heavy lifting for the business logic, and a web-based UI. The App trait wires the tiers together. For example, it does the work of starting the tiers in the run method. Note the self-type annotation, self: Persistence with Midtier with UI =>. It has two practical effects: 1. The body of the trait can assume it is an instance of Persistence, Midtier, and UI, so it can call methods defined in those types, whether or not they are actually defined at this point.


pages: 411 words: 80,925

What's Mine Is Yours: How Collaborative Consumption Is Changing the Way We Live by Rachel Botsman, Roo Rogers

"World Economic Forum" Davos, Abraham Maslow, Airbnb, Apollo 13, barriers to entry, behavioural economics, Bernie Madoff, bike sharing, Buckminster Fuller, business logic, buy and hold, carbon footprint, Cass Sunstein, collaborative consumption, collaborative economy, commoditize, Community Supported Agriculture, credit crunch, crowdsourcing, dematerialisation, disintermediation, en.wikipedia.org, experimental economics, Ford Model T, Garrett Hardin, George Akerlof, global village, hedonic treadmill, Hugh Fearnley-Whittingstall, information retrieval, intentional community, iterative process, Kevin Kelly, Kickstarter, late fees, Mark Zuckerberg, market design, Menlo Park, Network effects, new economy, new new economy, out of africa, Paradox of Choice, Parkinson's law, peer-to-peer, peer-to-peer lending, peer-to-peer rental, planned obsolescence, Ponzi scheme, pre–internet, public intellectual, recommendation engine, RFID, Richard Stallman, ride hailing / ride sharing, Robert Shiller, Ronald Coase, Search for Extraterrestrial Intelligence, SETI@home, Simon Kuznets, Skype, slashdot, smart grid, South of Market, San Francisco, Stewart Brand, systems thinking, TED Talk, the long tail, The Nature of the Firm, The Spirit Level, the strength of weak ties, The Theory of the Leisure Class by Thorstein Veblen, The Wealth of Nations by Adam Smith, The Wisdom of Crowds, Thorstein Veblen, Torches of Freedom, Tragedy of the Commons, transaction costs, traveling salesman, ultimatum game, Victor Gruen, web of trust, women in the workforce, work culture , Yochai Benkler, Zipcar

Walter R Stahel, The Industrial Green Game (National Academy Press, 1997), 91. 33. John Thackara, Inside the Bubble (MIT Press, 2006), 224. 34. Rifkin, The Age of Access, 93. 35. Fishman, “Sustainable Growth.” 36. Ray Anderson, “The Business Logic of Sustainability,” a TED talk (February 2009), www.ted.com/talks/ray_anderson_on_the_business_logic_of_sustainability.html. 1. “Largest Environmental Web Community in the World,” Freecycle press release (September 9, 2008), www.freecycle.org/pressreleases/08-09-09_Freecycle_press_release.pdf. 2. Statistics on membership numbers and group numbers retrieved from www.freecycle.org.


pages: 289 words: 80,763

User Story Mapping: Discover the Whole Story, Build the Right Product by Jeff Patton, Peter Economy

anti-pattern, Ben Horowitz, business logic, business process, card file, index card, Kickstarter, Lean Startup, mail merge, minimum viable product, performance metric, software as a service, tacit knowledge

Most people break down software the same way. Instead of just a little user interface, a little business logic, and a little database interaction, there’s lots of each. But remember that software isn’t cake. It doesn’t take that much more time to measure two pounds of flour than it does to measure two cups of flour. But building the user interface for 20 screens takes a lot more time than for just 2 screens. So, if teams use the simple breakdown structure that seems logical, they get tempted to break software down into weeks of frontend development, weeks of business logic development, and so on. When we use that strategy, it takes a long time before we can “taste any cake,” so to speak.


pages: 584 words: 149,387

Essential Scrum: A Practical Guide to the Most Popular Agile Process by Kenneth S. Rubin

bioinformatics, business cycle, business intelligence, business logic, business process, continuous integration, corporate governance, fail fast, hiring and firing, index card, inventory management, iterative process, Kanban, Lean Startup, loose coupling, minimum viable product, performance metric, shareholder value, six sigma, tacit knowledge, Y2K, you are the product

During the daily scrum, team members collectively describe, in a highly visible manner, the big-picture plan for that day. This also allows the team to use resource alerts. For example, someone might say, “Today I am going to work on the stored procedure task, and I should have that done by lunch. Whoever is going to work on the business logic task, please keep in mind that the business logic task is on the critical path for getting our work done this sprint and you should be ready to work on it right after lunch.” Such communications can quickly identify potential work blockages and enable a better flow through sprint execution. Closing This chapter illustrated how planning at multiple levels of detail happens on a development effort using Scrum.

Teams composed solely of people with the same skills (traditional silo teams) can at most do part of the job. As a result, silo teams end up handing off work products to other silo teams. For example, the development team hands the code off to the testing team, or the UI team hands off screen designs to the business logic team. Handoffs represent an excellent opportunity for miscommunication and costly mistakes. Having diverse teams minimizes the number of handoffs. And creating diverse teams doesn’t prevent us from having multiple team members who might be highly skilled in the same discipline such as Java or C++ development or testing.


Digital Accounting: The Effects of the Internet and Erp on Accounting by Ashutosh Deshmukh

accounting loophole / creative accounting, AltaVista, book value, business continuity plan, business intelligence, business logic, business process, call centre, computer age, conceptual framework, corporate governance, currency risk, data acquisition, disinformation, dumpster diving, fixed income, hypertext link, information security, interest rate swap, inventory management, iterative process, late fees, machine readable, money market fund, new economy, New Journalism, optical character recognition, packet switching, performance metric, profit maximization, semantic web, shareholder value, six sigma, statistical model, supply chain finance, supply-chain management, supply-chain management software, telemarketer, transaction costs, value at risk, vertical integration, warehouse automation, web application, Y2K

The Advanced Business Application Programming (ABAP) language can be used to define and manipulate such stored data. Application servers can run on various operating systems such as Uniplexed Information and Computing System (UNIX), its variations, Virtual Memory System (VMS) and Windows New Technology (NT), and its successors. Business logic runs on Copyright © 2006, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited. The Evolution of Accounting Software 25 Exhibit 8. SAP R/3 implementation of client-server architecture • Common look and feel across different platforms Presentation Browser access SAPGUI clients •Internet connections •Transaction management Web enabling SAP Internet transaction servers Application Application servers Database Data warehouse RDBMS •User dialogs •Database update •Enqueue •Background jobs •Message coordination •Gateway services •Spooling •Master data •Transaction data •Metadata application servers, and these servers also perform basic services: the user dialogs service processes user inputs using business logic; database updates service updates the database after the transaction is complete; enqueue service controls business objects by generating, holding and releasing locks; background jobs service completes transaction processing; message coordination service controls to and fro movement of data; gateways service controls communication between SAP R/3 and the external systems; and spooling service controls printing.

SAP R/3 implementation of client-server architecture • Common look and feel across different platforms Presentation Browser access SAPGUI clients •Internet connections •Transaction management Web enabling SAP Internet transaction servers Application Application servers Database Data warehouse RDBMS •User dialogs •Database update •Enqueue •Background jobs •Message coordination •Gateway services •Spooling •Master data •Transaction data •Metadata application servers, and these servers also perform basic services: the user dialogs service processes user inputs using business logic; database updates service updates the database after the transaction is complete; enqueue service controls business objects by generating, holding and releasing locks; background jobs service completes transaction processing; message coordination service controls to and fro movement of data; gateways service controls communication between SAP R/3 and the external systems; and spooling service controls printing.

Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited. 270 Deshmukh Exhibit 6. Business intelligence tools •Data extraction •Data transformation •Data load Business information warehouse ERP system Reports •Key performance measures •Ad-hoc queries •Business intelligence metadata •OLAP metadata Business intelligence tools OLAP Analysis •Business logic •Mathematical/statistical models •Data mining Executive dashboards Management dashboards Executive information systems Pre-packaged solutions •Planning and budgeting •Consolidations •Financial analytics •Abc/abm •Balanced scorecard •Corporate performance management These tools were soon superceded by specialized report writing tools and analytical tools, which now have evolved to a new category of Business Intelligence (BI) tools; Crystal Reports/Business Objects and Cognos are examples of leading software vendors in this area.


pages: 505 words: 161,581

The Founders: The Story of Paypal and the Entrepreneurs Who Shaped Silicon Valley by Jimmy Soni

activist fund / activist shareholder / activist investor, Ada Lovelace, AltaVista, Apple Newton, barriers to entry, Big Tech, bitcoin, Blitzscaling, book value, business logic, butterfly effect, call centre, Carl Icahn, Claude Shannon: information theory, cloud computing, Colonization of Mars, Computing Machinery and Intelligence, corporate governance, COVID-19, crack epidemic, cryptocurrency, currency manipulation / currency intervention, digital map, disinformation, disintermediation, drop ship, dumpster diving, Elon Musk, Fairchild Semiconductor, fear of failure, fixed income, General Magic , general-purpose programming language, Glass-Steagall Act, global macro, global pandemic, income inequality, index card, index fund, information security, intangible asset, Internet Archive, iterative process, Jeff Bezos, Jeff Hawkins, John Markoff, Kwajalein Atoll, Lyft, Marc Andreessen, Mark Zuckerberg, Mary Meeker, Max Levchin, Menlo Park, Metcalfe’s law, mobile money, money market fund, multilevel marketing, mutually assured destruction, natural language processing, Network effects, off-the-grid, optical character recognition, PalmPilot, pattern recognition, paypal mafia, Peter Thiel, pets.com, Potemkin village, public intellectual, publish or perish, Richard Feynman, road to serfdom, Robert Metcalfe, Robert X Cringely, rolodex, Sand Hill Road, Satoshi Nakamoto, seigniorage, shareholder value, side hustle, Silicon Valley, Silicon Valley startup, slashdot, SoftBank, software as a service, Startup school, Steve Ballmer, Steve Jobs, Steve Jurvetson, Steve Wozniak, technoutopianism, the payments system, transaction costs, Turing test, uber lyft, Vanguard fund, winner-take-all economy, Y Combinator, Y2K

Indeed, a July 10 communication from one V2 engineer testified to the issues. Asked how a million new accounts would impact the V2 system, the engineer replied, “Right now, the business logic isn’t quite in a state to handle creation of a million accounts directly due to memory leaks (we’re down to about 20k/sec under maximum load—leading to approx 2.5 hours of operation, and thus 225K accounts before a restart of the business logic is needed).” Eventually, another engineer recalled, the servers needed rebooting “every thirteen seconds.” As work on V2 progressed, the team’s doubts deepened. Testing an early V2 iteration, the site’s Send Money button—arguably the most vital one of all—failed to function.

“It’s a more friendly environment to write things in Unix, because Unix has always been, since day one, a multi-user platform. Windows was grown up as a desktop PC OS [operating system]. It was never meant for multi-user, concurrent transactions,” Mak explained. On the other hand, Microsoft’s off-the-shelf tools made some tasks simpler. “Business logic is easy to write in Windows,” recalled Mak. “You have to do quite a bit in Unix to make that happen.” Microsoft simplified basic tasks like standing up a barebones website, he recalled. And if you ran into issues, customer support was but a phone call away. Ultimately, though, Doug Mak and many others on the team concluded that while the V2 effort had led to some modest improvements, the juice wasn’t worth the squeeze.


pages: 134 words: 29,488

Python Requests Essentials by Rakesh Vidya Chandra, Bala Subrahmanyam Varanasi

business logic, create, read, update, delete, en.wikipedia.org, Kickstarter, machine readable, MITM: man-in-the-middle, MVC pattern, natural language processing, RFC: Request For Comment, RFID, supply-chain management, web application

. >>> print Question.query.get(1) None Views A view is a Python function, which receives a web request and sends back a web response. The response of a view can be a simple string, web page, the content of a file, or anything. Whenever a Flask application gets a request from the client, it will look for a view function to service it. The view contains the business logic which is necessary to process a request. In the previous sections, we have created the necessary database models. Now, in this section, we will write the view functions. Let us create view for every resource we mentioned in the previous table, which throws spot light on how we are going to design the URLs.


pages: 153 words: 27,424

REST API Design Rulebook by Mark Masse

anti-pattern, business logic, conceptual framework, create, read, update, delete, data acquisition, database schema, hypertext link, information retrieval, off-the-grid, web application

A benefit of this methodology is that it reuses the exact same schema structures as templates for the backend to fill in and as contracts for clients to consume and introspect. In a world of multi-device clients with different formatting needs, this architecture frees up server developers to focus on advancing the web application’s business logic in their backend systems, instead of worrying about all of the REST API design rules presented in this book. With a baseline level of server interface uniformity, new client-side frameworks can be developed to abstract away the mundane code related to HTTP-based communication and data marshalling.


pages: 696 words: 111,976

SQL Hacks by Andrew Cumming, Gordon Russell

Apollo 13, bioinformatics, book value, business intelligence, business logic, business process, database schema, en.wikipedia.org, Erdős number, Firefox, full text search, Hacker Conference 1984, Hacker Ethic, leftpad, Paul Erdős, SQL injection, Stewart Brand, web application

The title is NULL because it is optional for comments. Finally, there is a large string data type column for the comment text, which you might think need not be as large as the column for the article text, but the business logic may allow for comments of arbitrary length. This is a classical one-to-many relationship. Each article can have one or more comments, and each comment belongs to only one article. Technically, it's a one-to-zero-or-many relationship, because the business logic dictates that an article must be able to exist without any comments, which is the situation that pertains immediately after the article is first added, before the first comment on it is created.


Kanban in Action by Marcus Hammarberg, Joakim Sunden

Buckminster Fuller, business logic, call centre, continuous integration, en.wikipedia.org, fail fast, index card, Kaizen: continuous improvement, Kanban, Lean Startup, performance metric, place-making, systems thinking, the scientific method, Toyota Production System, transaction costs, Two Sigma

Sometimes, when WIP limits are described, they come across as something definitive; this adds to the confusion, because WIP limits should be moving targets. 6.6.1. Work items or tasks—what are you limiting? Quite often, teams split up work items into tasks for certain steps in their workflow. For Development, it could be tasks like “implement data access,” “write HTML page,” and “complete business logic.” In a Testing column, they could be tasks like “prepare test data,” “write report,” and “perform manual tests.” Tasks are part of a work item and can be thought of as all the things you need to do to complete the work item in a given column. Not until every task is completed in Development are the work items moved to the next step of the workflow.

Consider, as a contrast, a component team that creates just the data-access layer or just the user-interface layer. When structuring teams like this, you run the risk of having teams waiting for each other to be able to complete features. A complete feature might involve several teams: the UI team, the business-logic team, and the data-layer team. If any of them are late, the complete feature is delayed. Information is lost, and miscommunication happens in handoffs between teams. Hence it’s a greater risk to the overall schedule and quality of the result. A Word from the Coach One giant project organization map that Marcus briefly looked at had about 250 people layered in a big five-level-deep hierarchical map.


pages: 821 words: 178,631

The Rust Programming Language by Steve Klabnik, Carol Nichols

anti-pattern, billion-dollar mistake, bioinformatics, business logic, business process, cryptocurrency, data science, DevOps, duck typing, Firefox, functional programming, Internet of things, iterative process, pull request, reproducible builds, Ruby on Rails, type inference

src/main.rs fn main() { let simulated_user_specified_value = 10; let simulated_random_number = 7; generate_workout( simulated_user_specified_value, simulated_random_number ); } Listing 13-2: A main function with hardcoded values to simulate user input and random number generation We’ve hardcoded the variable simulated_user_specified_value as 10 and the variable simulated_random_number as 7 for simplicity’s sake; in an actual program, we’d get the intensity number from the app’s frontend, and we’d use the rand crate to generate a random number, as we did in the Guessing Game example in Chapter 2. The main function calls a generate_workout function with the simulated input values. Now that we have the context, let’s get to the algorithm. The function generate_workout in Listing 13-3 contains the business logic of the app that we’re most concerned with in this example. The rest of the code changes in this example will be made to this function. src/main.rs fn generate_workout(intensity: u32, random_number: u32) { ➊ if intensity < 25 { println!( "Today, do {} pushups!", simulated_expensive_calculation(intensity) ); println!

( "Next, do {} situps!", simulated_expensive_calculation(intensity) ); } else { ➋ if random_number == 3 { println!("Take a break today! Remember to stay hydrated!"); ➌ } else { println!( "Today, run for {} minutes!", simulated_expensive_calculation(intensity) ); } } } Listing 13-3: The business logic that prints the workout plans based on the inputs and calls to the simulated_expensive_calculation function The code in Listing 13-3 has multiple calls to the slow calculation function. The first if block ➊ calls simulated_expensive_calculation twice, the if inside the outer else ➋ doesn’t call it at all, and the code inside the second else case ➌ calls it once.

Change the values in the simulated_user_specified_value and simulated_random_number variables to verify that in all the cases in the various if and else blocks, calculating slowly... appears only once and only when needed. The Cacher takes care of the logic necessary to ensure we aren’t calling the expensive calculation more than we need to so generate_workout can focus on the business logic. Limitations of the Cacher Implementation Caching values is a generally useful behavior that we might want to use in other parts of our code with different closures. However, there are two problems with the current implementation of Cacher that would make reusing it in different contexts difficult.


pages: 7,371 words: 186,208

The Long Twentieth Century: Money, Power, and the Origins of Our Times by Giovanni Arrighi

anti-communist, Asian financial crisis, barriers to entry, Bretton Woods, British Empire, business climate, business logic, business process, classic study, colonial rule, commoditize, Corn Laws, creative destruction, cuban missile crisis, David Ricardo: comparative advantage, declining real wages, deindustrialization, double entry bookkeeping, European colonialism, Fairchild Semiconductor, financial independence, financial intermediation, floating exchange rates, gentrification, Glass-Steagall Act, Great Leap Forward, income inequality, informal economy, invisible hand, joint-stock company, Joseph Schumpeter, Kōnosuke Matsushita, late capitalism, London Interbank Offered Rate, means of production, Meghnad Desai, military-industrial complex, Money creation, money: store of value / unit of account / medium of exchange, new economy, offshore financial centre, oil shock, Peace of Westphalia, post-Fordism, profit maximization, Project for a New American Century, RAND corporation, reserve currency, scientific management, spice trade, Strategic Defense Initiative, Suez canal 1869, the market place, The Nature of the Firm, The Wealth of Nations by Adam Smith, Thorstein Veblen, trade liberalization, trade route, transaction costs, transatlantic slave trade, transcontinental railway, upwardly mobile, vertical integration, Yom Kippur War

When such control has been achieved, it may be to [the investors’] interest to make and maintain business conditions which shall facilitate the smooth and efficient working of what has come under his control . . . for, other things equal, the gains from what has come under his hands permanently in the way of industrial plant are greater the higher and the more uninterrupted its industrial efficiency. (Veblen 1978: 30) This contrast between a strictly pecuniary business logic, which is indifferent to disturbances in the industrial balance, and a technological business logic, which has an interest in uninterrupted industrial efficiency, has been widely held as describing the different responses of the British and of the German business communities to the challenges and opportunities posed by the nineteenth-century reconstitution of the world market on industrial foundations.

In these and other instances, the record of Dutch brutality in enslaving the indigenous peoples (literally and metaphorically) or in depriving them of their means of livelihood, and in using violence to break their resistance to the policies of the Company, matched or even surpassed the already abysmal standards established by the crusading Iberians throughout the extra-European world. But this brutality was wholly internal to a business logic of action and buttressed, instead of undermining, profitability: The historian, while horrified by such a record of brutality, cannot but be entertained by the calculated, extraordinary and sometimes grotesque web of interlocking purchases, cargoes, sales and exchanges. Fine spices did not find a ready market only in Holland: India consumed twice as much as Europe, and in the Far East they were a sought-after exchange currency, the key that opened many markets, just as the grain and ships’ masts of the Baltic were in Europe.


Robot Futures by Illah Reza Nourbakhsh

3D printing, autonomous vehicles, Burning Man, business logic, commoditize, computer vision, digital divide, Mars Rover, Menlo Park, phenotype, Skype, social intelligence, software as a service, stealth mode startup, strong AI, telepresence, telepresence robot, Therac-25, Turing test, Vernor Vinge

He agrees to double-cross his friends in return for permanent, manufactured bliss: “You know, I know this steak doesn’t exist. I know that when I put it in my mouth, the Matrix is telling my brain that it is juicy and delicious. After nine years, you know what I realize? Ignorance is bliss.” Perfectly manufactured desire is, of course, not only about bliss—we need to remember that at its foundation is business logic. The calculus of success has always been about closing the gap between promise and desire. But when desire can be so directly manipulated, individually, then business decisions may change more radically yet. Do not worry about promise nearly as much. Instead consider what consumer demands are in the best interests of the company, within the range of feasible desires that the company’s universal remote can manipulate, and then follow through.


pages: 511 words: 111,423

Learning SPARQL by Bob Ducharme

business logic, Donald Knuth, en.wikipedia.org, G4S, hypertext link, linked data, machine readable, place-making, semantic web, SPARQL, web application

Your form could include these values in a drop-down list, and if someone eventually adds ab:piano as a new instance of this class, the SPARQL query that generates that part of the form will pass the new instrument name (most likely, the rdfs:label value associated with ab:piano) along to be added to that drop-down list. While these examples describe the use of rdfs:domain and rdfs:range values to generate a data entry form, the dynamic use of model values can go far beyond that. Using similar techniques, this metadata can help your application format reports; it can even play a role in the business logic and rules that drive your application. Whatever you do with it, SPARQL is the simplest way to get those values from your model to your application. The use of RDFS and OWL can let you take these ideas even further. Note This idea of model-driven development and deployment is not limited to the use of the RDF family of specifications, but the fact that these specifications are standards with a range of commercial and open source implementations makes it an attractive choice for many developers using this methodology.

After running the command, running this next one deletes the “seven” and “eight” triples from the default graph, leaving the remaining triples in the g1 and g2 graphs alone: curl -X DELETE -H "Content-Type: text/turtle" \ http://localhost:3030/myDataset/data?graph=default Summary In this chapter, we learned: How some applications (or application components) can execute business logic based on the presence of specific values—especially predicates—in the triples that they see How to send a SPARQL query to an endpoint from popular scripting languages and from a web form, and how applications that use these can make use of the returned data The role that standalone, triplestore, and middleware SPARQL processors can play to make RDF and non-RDF data available to applications that use SPARQL queries How RESTful (or, perhaps, “REST-like”) applications can use the SPARQL Graph Store HTTP Protocol to manage named graphs of triples on a remote server Chapter 11.


pages: 508 words: 120,339

Working Effectively With Legacy Code by Michael Feathers

business logic, c2.com, computer age, functional programming, HyperCard, index card, Mars Rover, Silicon Valley, web application

Figure 10.2 AccountDetailFrame crudely refactored. This is an extremely crude refactoring of the original code, but at least it separates responsibilities somewhat. The AccountDetailFrame is tied to the GUI (it is a subclass of Frame) and it still contains business logic. With further refactoring, we can move beyond that, but at the very least, now we can run the method that contained business logic in a test case. It is a positive step forward. The SymbolSource class is a concrete class that represents the decision to create another Frame and get information from it. However, we named it SymbolSource here because, from the point of view of the AccountDetailFrame, its job is to get symbol information any way it needs to.


pages: 434 words: 114,583

Faster, Higher, Farther: How One of the World's Largest Automakers Committed a Massive and Stunning Fraud by Jack Ewing

"RICO laws" OR "Racketeer Influenced and Corrupt Organizations", 1960s counterculture, Asilomar, asset-backed security, Bear Stearns, Berlin Wall, business logic, cognitive dissonance, collapse of Lehman Brothers, corporate governance, crossover SUV, Fall of the Berlin Wall, financial engineering, Ford Model T, full employment, hiring and firing, independent contractor, Kaizen: continuous improvement, McMansion, military-industrial complex, self-driving car, short selling, short squeeze, Silicon Valley, sovereign wealth fund, Steve Jobs, subprime mortgage crisis

Some Volkswagen executives argued that the brands also provided platforms to try out costly new technologies, like the use of lightweight carbon fiber for body parts in place of steel, which would eventually make their way into less expensive vehicles. In addition, the chance to work on exotic cars may have helped Volkswagen attract top engineers and designers. Whatever the business logic, it was obvious that Piëch’s personal fascination with the three carmakers played a big role in the acquisitions. He bought them, it seemed, because he could. Piëch made no apologies. He even admitted that his interest in Bugatti was inspired in part by his youngest son, Gregor. While vacationing on the Spanish island of Majorca, Piëch showed the lad a model of a Rolls-Royce on display in a local shop that catered to tourists.

The cars were clean, practical, and economical, said Volkswagen, which boasted about how much less carbon dioxide the motors produced. The United States was also a big part of the plan. It was the largest car market on the planet. To sell ten million cars a year and overtake GM and Toyota, Volkswagen could not ignore the United States. Beyond the business logic, the United States was an embarrassment for Volkswagen. Volkswagen was the dominant carmaker in Europe. It was a powerhouse in China and Latin America. But in the United States it was little more than a niche brand, in the same league as imports like Subaru. Behind the scenes, there were problems.


pages: 444 words: 118,393

The Nature of Software Development: Keep It Simple, Make It Valuable, Build It Piece by Piece by Ron Jeffries

Amazon Web Services, anti-pattern, bitcoin, business cycle, business intelligence, business logic, business process, c2.com, call centre, cloud computing, continuous integration, Conway's law, creative destruction, dark matter, data science, database schema, deep learning, DevOps, disinformation, duck typing, en.wikipedia.org, fail fast, fault tolerance, Firefox, Hacker News, industrial robot, information security, Infrastructure as a Service, Internet of things, Jeff Bezos, Kanban, Kubernetes, load shedding, loose coupling, machine readable, Mars Rover, microservices, Minecraft, minimum viable product, MITM: man-in-the-middle, Morris worm, move fast and break things, OSI model, peer-to-peer lending, platform as a service, power law, ransomware, revision control, Ruby on Rails, Schrödinger's Cat, Silicon Valley, six sigma, software is eating the world, source of truth, SQL injection, systems thinking, text mining, time value of money, transaction costs, Turing machine, two-pizza team, web application, zero day

One consequence is that anything logged at level “ERROR” or “SEVERE” should be something that requires action on the part of operations. Not every exception needs to be logged as an error. Just because a user entered a bad credit card number and the validation component threw an exception doesn’t mean anything has to be done about it. Log errors in business logic or user input as warnings (if at all). Reserve “ERROR” for a serious system problem. For example, a circuit breaker tripping to “open” is an error. It’s something that should not happen under normal circumstances, and it probably means action is required on the other end of the connection. Failure to connect to a database is an error—there’s a problem with either the network or the database server.

I’ll assume that you don’t want to just make a complete copy of all the v1 code to handle v2 requests. Internally, we want to reduce code duplication as much as possible, so long as we can still make future changes. My preference is to handle this in the controller. Methods that handle the new API go directly to the most current version of the business logic. Methods that handle the old API get updated so they convert old objects to the current ones on requests and convert new objects to old ones on responses. Now you know how to make your service behave like a good citizen. Unfortunately, not every service is as well behaved as yours. We need to look at how to handle input from others.


pages: 241 words: 43,073

Puppet 3 Beginner's Guide by John Arundel

business logic, cloud computing, Debian, DevOps, job automation, job satisfaction, Lao Tzu, Larry Wall, Network effects, SpamAssassin

There's no actual server named base-server; however, actual servers can inherit from this node declaration and get everything in it: node 'cluster660' inherits 'base-server' { We know what role this machine has because it includes this class: class { 'hadoop::node': It takes a parameter to identify the cluster master: master => 'cluster1', This node declaration contains only the key information that the node needs to do its job, and tells us at a glance what that job is. If your node declarations contain business logic, or individual resources, think about refactoring these into a class or module that the node can include. Use puppet-lint puppet-lint is a useful tool that checks your manifest to make sure it conforms to the Puppet Labs official style guidelines, and catches a number of common problems.


pages: 1,038 words: 137,468

JavaScript Cookbook by Shelley Powers

business logic, Firefox, Google Chrome, hypertext link, leftpad, semantic web, SQL injection, web application, WebSocket

The key to making these work now and in the future is to wrap the library use in such a way that you can swap one library out for another, without having to recode your applications—or, at least, minimize the amount of recoding you would have to do. Rather than use the jQuery ready event, create your own so you don’t build a higher- level dependency on jQuery. Rather than use jQuery methods directly in your business logic, use your own objects and methods, and call the jQuery methods within these. By providing a layer of abstraction between the implementation of your application’s business logic and the external framework library, if someday you stumble upon Frew, the Wonder Library, you can swap out jQuery (or Prototype, or Dojo) and build on Frew. See Also jQuery Cookbook by Cody Lindley (O’Reilly) is an excellent book providing a comprehensive overview and detailed how-tos for jQuery.


The Corporation: The Pathological Pursuit of Profit and Power by Joel Bakan

"World Economic Forum" Davos, Alan Greenspan, benefit corporation, Berlin Wall, business logic, Cass Sunstein, corporate governance, corporate personhood, corporate social responsibility, creative destruction, electricity market, energy security, Exxon Valdez, Ford Model T, IBM and the Holocaust, joint-stock company, laissez-faire capitalism, market fundamentalism, Naomi Klein, new economy, precautionary principle, race to the bottom, Ralph Nader, Ronald Reagan, shareholder value, South Sea Bubble, The Wealth of Nations by Adam Smith, Triangle Shirtwaist Factory, urban sprawl

"This is not a sudden discovery of moral virtue or a sense of guilt about past errors," he says of his green agenda. "It is about long-term self-interest-enlightened, I hope, but self-interest nonetheless ." BP's social responsibility, he says, is "good business"; "driven by practical commercial reality" and "hard-headed business logic." The company's good deeds are "in our direct business interest," "not Page 45 HE CORPORATION 45 acts of charity but of what could be called enlightened self-interest," "coldly realistic." "The fundamental test for any company," says Browne, "is performance. That is the imperative."" By implication, social responsibility is not appropriate when it could undermine a company's performance.


Learning Ansible 2 - Second Edition by Fabio Alessandro Locati

Amazon Web Services, anti-pattern, business logic, cloud computing, continuous integration, Debian, DevOps, don't repeat yourself, Infrastructure as a Service, inventory management, Kickstarter, revision control, source of truth, web application

The same functionality could have been achieved without the module, but it would have required a series of tasks with existing modules to accomplish the end goal and often also command and shell modules. For example, let's say you wanted to provision a server via Preboot Execution Environment (PXE). Without a custom module, you would have probably used a few shell or command tasks to accomplish the same. However, with a custom module, you would just pass the required parameters to it and the business logic will be embedded within the custom module in order to perform the PXE boot. This gives you the ability to write playbooks that are much simpler to read and a bigger reusability of the code, since you create the module once and you can use it everywhere, in your roles and playbooks. The arguments that you pass to a module, provided they are in a key-value format, will be forwarded in a separate file along with the module.


pages: 215 words: 55,212

The Mesh: Why the Future of Business Is Sharing by Lisa Gansky

"World Economic Forum" Davos, Airbnb, Amazon Mechanical Turk, Amazon Web Services, banking crisis, barriers to entry, Bear Stearns, bike sharing, business logic, carbon footprint, carbon tax, Chuck Templeton: OpenTable:, clean tech, cloud computing, credit crunch, crowdsourcing, diversification, Firefox, fixed income, Google Earth, impact investing, industrial cluster, Internet of things, Joi Ito, Kickstarter, late fees, Network effects, new economy, peer-to-peer lending, planned obsolescence, recommendation engine, RFID, Richard Florida, Richard Thaler, ride hailing / ride sharing, sharing economy, Silicon Valley, smart grid, social web, software as a service, TaskRabbit, the built environment, the long tail, vertical integration, walkable city, yield management, young professional, Zipcar

Design, Architecture for Humanity argues, is the ultimate renewable resource. Today, they have 40,000 members in eighty chapters in twenty-five countries that participate. Their cheeky slogan is “Design like you give a damn.” Why create share platforms where ideas and information can be freely shared? Once the core offering is refined, traditional business logic dictates that a more proprietary approach will distinguish you from competitors, and create protection against them. Individual creators and companies have long built businesses and fortunes by registering patents and enforcing secrecy. General Electric controlled the patents on lightbulbs, invested heavily in plants to manufacture the bulbs efficiently, and made profits by cranking out the bulbs for decades to follow.


pages: 215 words: 59,188

Seriously Curious: The Facts and Figures That Turn Our World Upside Down by Tom Standage

"World Economic Forum" Davos, agricultural Revolution, augmented reality, autonomous vehicles, Big Tech, blood diamond, business logic, corporate governance, CRISPR, deep learning, Deng Xiaoping, Donald Trump, Dr. Strangelove, driverless car, Elon Musk, failed state, financial independence, gender pay gap, gig economy, Gini coefficient, high net worth, high-speed rail, income inequality, index fund, industrial robot, Internet of things, invisible hand, it's over 9,000, job-hopping, Julian Assange, life extension, Lyft, M-Pesa, Mahatma Gandhi, manufacturing employment, mega-rich, megacity, Minecraft, mobile money, natural language processing, Nelson Mandela, plutocrats, post-truth, price mechanism, private spaceflight, prosperity theology / prosperity gospel / gospel of success, purchasing power parity, ransomware, reshoring, ride hailing / ride sharing, Ronald Coase, self-driving car, Silicon Valley, Snapchat, South China Sea, speech recognition, stem cell, supply-chain management, transaction costs, Uber and Lyft, uber lyft, undersea cable, US Airways Flight 1549, WikiLeaks, zoonotic diseases

“We are open the rest of the year, seven days a week, so these days are earned,” says Rita Zubelli, who works in an ice-cream parlour in Milan that, bafflingly, shuts down at the height of the summer. In such sectors the practice of a shut-down seems driven more by habit, and the social acceptance of holidaymaking at that time, than by business logic. If you are a tourist looking for an ice-cream, a local trying to find a plumber, or even a journalist trying to write a story, Europe’s attitude to summer can be deeply frustrating. Yet despite, or perhaps because of, their leisure-seeking ways, Europeans are the most productive workers in the world.


pages: 201 words: 63,192

Graph Databases by Ian Robinson, Jim Webber, Emil Eifrem

Amazon Web Services, anti-pattern, bioinformatics, business logic, commoditize, corporate governance, create, read, update, delete, data acquisition, en.wikipedia.org, fault tolerance, linked data, loose coupling, Network effects, recommendation engine, semantic web, sentiment analysis, social graph, software as a service, SPARQL, the strength of weak ties, web application

There are two drivers here: performance and business responsiveness. Performance issues have dogged TeleGraph’s self-service application for several years. The original system is based on a relational database, which uses recursive joins to model complex organisational structures and product hierarchies, and stored procedures to implement the access control business logic. Because of the join-intensive nature of the data model, many of the most important queries are unacceptably slow: for large com‐ Real-World Examples | 107 panies, generating a view of the things an administrator can manage takes many mi‐ nutes. This creates a very poor user experience, and hampers the revenue-generating capabilities of the self-service offering.


Catalyst 5.8: The Perl MVC Framework by Antano Solar John, Jonathan Rockway, Solar John Antano

business logic, c2.com, create, read, update, delete, database schema, Debian, en.wikipedia.org, Firefox, MVC pattern, Ruby on Rails, social intelligence, web application

All your action has to do is implement the logic associated with the request; there is no setup that you have to manually perform, as illustrated in the following diagram: Although this dispatch mechanism is already an improvement over the traditional process, Catalyst doesn't stop here. Your actions can call on the help of Models and Views as well. [] Chapter 1 In fact, for more complex problem domains that have a small and flexible Controller handling the actual business logic via models usually gives the most maintainable results. A Model is a source of data. Most applications use a single relational database such as MySQL or PostgreSQL as their Model, but Catalyst does not require that—you can use anything from files on a disk, to an e-mail server, or remote RSS feeds; also you can have as many Models as your application needs.


pages: 292 words: 62,575

97 Things Every Programmer Should Know by Kevlin Henney

A Pattern Language, active measures, Apollo 11, business intelligence, business logic, commoditize, continuous integration, crowdsourcing, database schema, deliberate practice, domain-specific language, don't repeat yourself, Donald Knuth, fixed income, functional programming, general-purpose programming language, Grace Hopper, index card, inventory management, job satisfaction, level 1 cache, loose coupling, machine readable, Silicon Valley, sorting algorithm, The Wisdom of Crowds

We test and refactor the source code throughout a project. The deployment deserves no less. Chapter 21. Distinguish Business Exceptions from Technical Dan Bergh Johnsson THERE ARE BASICALLY TWO REASONS that things go wrong at runtime: technical problems that prevent us from using the application and business logic that prevents us from misusing the application. Most modern languages, such as LISP, Java, Smalltalk, and C#, use exceptions to signal both these situations. However, the two situations are so different that they should be carefully held apart. It is a potential source of confusion to represent them both using the same exception hierarchy, not to mention the same exception class.


pages: 239 words: 62,311

The Next Factory of the World: How Chinese Investment Is Reshaping Africa by Irene Yuan Sun

"World Economic Forum" Davos, asset light, barriers to entry, Bretton Woods, business logic, capital controls, clean water, Computer Numeric Control, deindustrialization, demographic dividend, Deng Xiaoping, Donald Trump, European colonialism, floating exchange rates, full employment, global supply chain, Great Leap Forward, invisible hand, job automation, low skilled workers, M-Pesa, manufacturing employment, means of production, mobile money, Multi Fibre Arrangement, post-industrial society, profit motive, purchasing power parity, race to the bottom, RAND corporation, Ronald Reagan, Shenzhen special economic zone , Shenzhen was a fishing village, Silicon Valley, Skype, special economic zone, structural adjustment programs, tacit knowledge, Triangle Shirtwaist Factory, union organizing, Washington Consensus, working-age population

We will meet the Chinese entrepreneurs who run these factories and understand the business models that have allowed them to thrive so far from home. Despite the current hype about the rise of robotics and the possibility of fully automating production, the classic factory model, in which real people make tangible goods, is far from dead. There’s still lots of money to be made with this way, and this business logic is what drives Chinese factory owners to Africa. By and large, these manufacturing entrepreneurs have little to do with the massive tranches of Chinese government–led investment and aid in Africa that the Western press often reports on in tones of fear and incredulity.7 These private investors care little about geopolitics.


pages: 292 words: 66,588

Learning Vue.js 2: Learn How to Build Amazing and Complex Reactive Web Applications Easily With Vue.js by Olga Filipova

Amazon Web Services, business logic, continuous integration, create, read, update, delete, en.wikipedia.org, Firefox, Google Chrome, leftpad, MVC pattern, pull request, side project, single page application, single source of truth, Skype, source of truth, web application

The data object is our Model and the DOM element where the Vue instance is bound is our View: Classic View-Model representation where the Vue instance binds one to another In the meantime, our Vue instance is something that helps to bind our Model to the View and vice versa. Our application thus follows Model-View-ViewModel (MVVM) pattern, where the Vue instance is a ViewModel: The simplified diagram of the Model-View-ViewModel pattern Our Model contains data and some business logic, and our View is responsible for its representation. ViewModel handles data binding, ensuring that the data changed in the Model is immediately affecting the View layer and vice versa. Our Views thus become completely data driven. ViewModel becomes responsible for the control of the data flow, making data binding fully declarative for us.


pages: 254 words: 61,387

This Could Be Our Future: A Manifesto for a More Generous World by Yancey Strickler

"Friedman doctrine" OR "shareholder theory", "World Economic Forum" Davos, Abraham Maslow, accelerated depreciation, Adam Curtis, basic income, benefit corporation, Big Tech, big-box store, business logic, Capital in the Twenty-First Century by Thomas Piketty, Cass Sunstein, cognitive dissonance, corporate governance, Daniel Kahneman / Amos Tversky, data science, David Graeber, Donald Trump, Doomsday Clock, Dutch auction, effective altruism, Elon Musk, financial independence, gender pay gap, gentrification, global supply chain, Hacker News, housing crisis, Ignaz Semmelweis: hand washing, invention of the printing press, invisible hand, Jeff Bezos, job automation, John Maynard Keynes: Economic Possibilities for our Grandchildren, John Nash: game theory, Joi Ito, Joseph Schumpeter, Kickstarter, Kōnosuke Matsushita, Larry Ellison, Louis Pasteur, Mark Zuckerberg, medical bankruptcy, Mr. Money Mustache, new economy, Oculus Rift, off grid, offshore financial centre, Parker Conrad, Ralph Nader, RAND corporation, Richard Thaler, Ronald Reagan, Rutger Bregman, self-driving car, shareholder value, Silicon Valley, Simon Kuznets, Snapchat, Social Responsibility of Business Is to Increase Its Profits, Solyndra, stem cell, Steve Jobs, stock buybacks, TechCrunch disrupt, TED Talk, The Wealth of Nations by Adam Smith, Thomas Kuhn: the structure of scientific revolutions, Travis Kalanick, Tyler Cowen, universal basic income, white flight, Zenefits

With so much at stake and movies costing more than ever, studios became more conservative and the diversity of ideas decreased. Saying movies have gone downhill is hardly controversial. But what about TV? The kinds of shows Netflix, HBO, AMC, and others make are original and diverse. Doesn’t that disprove this point? Traditional broadcast television, which follows a similar business logic as movies, absolutely suffers from these same forces. Sitcoms, cop, doctor, and lawyer shows are rarely known for their originality. But it’s also true that prestige television operates on a level above movies and broadcast TV. It’s where some of the most original and forward-thinking creative work happens.


pages: 282 words: 63,385

Attention Factory: The Story of TikTok and China's ByteDance by Matthew Brennan

Airbnb, AltaVista, augmented reality, Benchmark Capital, Big Tech, business logic, Cambridge Analytica, computer vision, coronavirus, COVID-19, deep learning, Didi Chuxing, Donald Trump, en.wikipedia.org, fail fast, Google X / Alphabet X, growth hacking, ImageNet competition, income inequality, invisible hand, Kickstarter, Mark Zuckerberg, Menlo Park, natural language processing, Netflix Prize, Network effects, paypal mafia, Pearl River Delta, pre–internet, recommendation engine, ride hailing / ride sharing, Sheryl Sandberg, Silicon Valley, Snapchat, social graph, Steve Jobs, TikTok, Travis Kalanick, WeWork, Y Combinator

The Mindie team was gracious in reflecting back on what had happened: “Musical.ly made a great work of optimizing and scaling what we initially created,” said co-founder Stanislas. Louis then turned to outline how he saw competition in his local market. “Here in China, it’s a different way—if you do something right… they will follow, they will do exactly the same thing … People here have a very different business logic, they think you can always get a market share very quickly by powering in with money, and once you have that, you can kick the others out… people don’t have that patience to grow up very gradually. Everything happening in China is so fast, so people lose their patience.” 170 Here Louis was referring to a new, more challenging competition that had just begun.


pages: 237 words: 67,154

Ours to Hack and to Own: The Rise of Platform Cooperativism, a New Vision for the Future of Work and a Fairer Internet by Trebor Scholz, Nathan Schneider

1960s counterculture, activist fund / activist shareholder / activist investor, Airbnb, Amazon Mechanical Turk, Anthropocene, barriers to entry, basic income, benefit corporation, Big Tech, bitcoin, blockchain, Build a better mousetrap, Burning Man, business logic, capital controls, circular economy, citizen journalism, collaborative economy, collaborative editing, collective bargaining, commoditize, commons-based peer production, conceptual framework, content marketing, crowdsourcing, cryptocurrency, data science, Debian, decentralized internet, deskilling, disintermediation, distributed ledger, driverless car, emotional labour, end-to-end encryption, Ethereum, ethereum blockchain, food desert, future of work, gig economy, Google bus, hiring and firing, holacracy, income inequality, independent contractor, information asymmetry, Internet of things, Jacob Appelbaum, Jeff Bezos, job automation, Julian Assange, Kickstarter, lake wobegon effect, low skilled workers, Lyft, Mark Zuckerberg, means of production, minimum viable product, moral hazard, Network effects, new economy, offshore financial centre, openstreetmap, peer-to-peer, planned obsolescence, post-work, profit maximization, race to the bottom, radical decentralization, remunicipalization, ride hailing / ride sharing, Rochdale Principles, SETI@home, shareholder value, sharing economy, Shoshana Zuboff, Silicon Valley, smart cities, smart contracts, Snapchat, surveillance capitalism, TaskRabbit, technological solutionism, technoutopianism, transaction costs, Travis Kalanick, Tyler Cowen, Uber for X, uber lyft, union organizing, universal basic income, Vitalik Buterin, W. E. B. Du Bois, Whole Earth Catalog, WikiLeaks, women in the workforce, workplace surveillance , Yochai Benkler, Zipcar

As apps and the Open Web gradually give way to big platforms, we’ll see more and more people converse with machines in natural language rather than tapping icons and finagling user-interfaces. It’s possible that the bulk of our utilities and content consumption will be further embedded into our messaging apps as bots bump out buttons. What does this mean for platform co-ops who need to capture the attention of people, communicate with them, and transact following the prevailing business logics, and do this ethically? There is an urgent and critical need to build AI platforms that are co-owned and governed by the people who will use them for more and more purposes. These crucial efforts will help alternative AI software mature and develop toward an intelligence that truly represents us, not just the wealthy few who funded the earliest research and development expenditures.


pages: 245 words: 68,420

Content Everywhere: Strategy and Structure for Future-Ready Content by Sara Wachter-Boettcher

business logic, crowdsourcing, John Gruber, Kickstarter, linked data, machine readable, search engine result page, semantic web, Silicon Valley, systems thinking, TechCrunch disrupt

Q&A with Mike Atherton, Digital Product Designer at Huddle From 2007 to 2011, London-based UXer Mike Atherton served as an information architect for the BBC, where he focused on using domain-driven design to make the media organization’s seemingly endless archives of content more findable and contextually relevant for the British public. He answered a few of my questions about the role domain-driven design can play in making content work harder. You’re known for the term “domain-driven design.” Can you define that? Domain-driven design is a technique borrowed from software engineering, where it’s used to express complex business logic by defining the entities in a subject domain and the relationships between them. For content strategists and information architects, it’s a way of saying “What are the ‘things’ that my content talks about and how do those things join up in the real world?” I typically express this by sketching a domain model: a simple entity-relationship diagram where the boxes are the “things” within your subject and the arrows are all the connections between those things.


pages: 276 words: 64,903

Built for Growth: How Builder Personality Shapes Your Business, Your Team, and Your Ability to Win by Chris Kuenne, John Danner

Airbnb, Amazon Web Services, asset light, Benchmark Capital, Berlin Wall, Bob Noyce, business climate, business logic, call centre, cloud computing, disruptive innovation, don't be evil, Fairchild Semiconductor, Fall of the Berlin Wall, Gordon Gekko, Jeff Bezos, Kickstarter, Larry Ellison, Lean Startup, Mark Zuckerberg, pattern recognition, risk tolerance, Sand Hill Road, self-driving car, Silicon Valley, solopreneur, Steve Jobs, Steve Wozniak, sugar pill, super pumped, supply-chain management, systems thinking, TED Talk, work culture , zero-sum game

Suriyakumar explained he felt the company was thinking about the problem entirely wrong: seeking price concessions for higher volumes of conventional blueprints. The astonished CEO, who had never before been rebuffed by a vendor, invited Suriyakumar to fly to Australia to share his point of view. After listening intently to the CEO’s description of the business model, Suriyakumar then applied his own practical business logic. He explained that creating additional analog blueprints that would be used once and then relegated to a storage facility for decades was not a long-term solution for this global construction company. Rather, they should move all of their construction plans to a digital format and store them in the cloud so the information could be accessed throughout the useful life of the building and later to inform future construction companies, which would be called to either renovate or demolish the building.


Learning Node.js: A Hands-On Guide to Building Web Applications in JavaScript by Marc Wandschneider

business logic, database schema, en.wikipedia.org, Firefox, functional programming, Google Chrome, node package manager, telemarketer, web application

When you run into the term middleware for the first time, you can be forgiven for being worried that you’ve missed out on some key new concept or technology shift. Fortunately, it’s nothing so complicated. Effectively, middleware originally was used to describe software components (typically on the server side of things) that connected two things together, such as a business logic layer and a database server, or storage services with application modules, and so on. Over time, however, the term seems to have become more generic and broad, and now seems to cover any piece of software that connects two things together in some way, shape, or form. For the purposes of this book, the middleware exposed by connect that you see in express is basically just a collection of modules that allow your web apps to seamlessly integrate functionality from either the server or browser


pages: 224 words: 13,238

Electronic and Algorithmic Trading Technology: The Complete Guide by Kendall Kim

algorithmic trading, automated trading system, backtesting, Bear Stearns, business logic, commoditize, computerized trading, corporate governance, Credit Default Swap, diversification, en.wikipedia.org, family office, financial engineering, financial innovation, fixed income, index arbitrage, index fund, interest rate swap, linked data, market fragmentation, money market fund, natural language processing, proprietary trading, quantitative trading / quantitative finance, random walk, risk tolerance, risk-adjusted returns, short selling, statistical arbitrage, Steven Levy, transaction costs, yield curve

The Xenomorph XDB provides higher performance than traditional relational databases currently on the market. This database has the ability to handle all major asset classes including equities, fixed income, and derivatives. It performs integrated analysis of historical time-series and real-time tick data. It can take business logic and transport that calculation to the centralized database. It has a flexible data model to handle multiple instrument data feeds in a consistent manner and rapidly support any new products that can be integrated into existing legacy systems and traditional relational databases using TimeScape XDK.


pages: 239 words: 56,531

The Secret War Between Downloading and Uploading: Tales of the Computer as Culture Machine by Peter Lunenfeld

Albert Einstein, Andrew Keen, anti-globalists, Apple II, Berlin Wall, British Empire, Brownian motion, Buckminster Fuller, Burning Man, business cycle, business logic, butterfly effect, Charles Babbage, computer age, Computing Machinery and Intelligence, creative destruction, crowdsourcing, cuban missile crisis, Dissolution of the Soviet Union, don't be evil, Douglas Engelbart, Douglas Engelbart, Dynabook, East Village, Edward Lorenz: Chaos theory, Fairchild Semiconductor, Fall of the Berlin Wall, folksonomy, Francis Fukuyama: the end of history, Frank Gehry, Free Software Foundation, Grace Hopper, gravity well, Guggenheim Bilbao, Herman Kahn, Honoré de Balzac, Howard Rheingold, Ian Bogost, invention of movable type, Isaac Newton, Ivan Sutherland, Jacquard loom, Jane Jacobs, Jeff Bezos, John Markoff, John von Neumann, Jon Ronson, Kickstarter, Mark Zuckerberg, Marshall McLuhan, Mercator projection, Metcalfe’s law, Mother of all demos, mutually assured destruction, Neal Stephenson, Nelson Mandela, Network effects, new economy, Norbert Wiener, PageRank, pattern recognition, peer-to-peer, planetary scale, plutocrats, post-materialism, Potemkin village, RFID, Richard Feynman, Richard Stallman, Robert Metcalfe, Robert X Cringely, Schrödinger's Cat, Search for Extraterrestrial Intelligence, seminal paper, SETI@home, Silicon Valley, Skype, social bookmarking, social software, spaced repetition, Steve Ballmer, Steve Jobs, Steve Wozniak, technological determinism, Ted Nelson, the built environment, the Cathedral and the Bazaar, The Death and Life of Great American Cities, the medium is the message, Thomas L Friedman, Turing machine, Turing test, urban planning, urban renewal, Vannevar Bush, walkable city, Watson beat the top human players on Jeopardy!, William Shockley: the traitorous eight

Jobs and Gates, along with their collaborators and competitors in the mid-1970s, were positioned at a fulcrum point, when a diversion turned into a business. What made them both rich and powerful was their ability to meld the attributes of the two generations that preceded them—fusing the hardheaded business logic of the Plutocrats with the visionary futurity of the Aquarians. 163 GENERATIONS Jobs and Gates have an interesting competitive history, leapfrogging each other in the quest to achieve “insane greatness,” in Jobs’s words, and global market preeminence, for Gates.21 Jobs and his partner, Wozniak, were the first to make the leap from hobbyists to industrialists with their Apple computers, launched in 1976.


pages: 233 words: 67,596

Competing on Analytics: The New Science of Winning by Thomas H. Davenport, Jeanne G. Harris

always be closing, Apollo 13, big data - Walmart - Pop Tarts, business intelligence, business logic, business process, call centre, commoditize, data acquisition, digital map, en.wikipedia.org, fulfillment center, global supply chain, Great Leap Forward, high net worth, if you build it, they will come, intangible asset, inventory management, iterative process, Jeff Bezos, job satisfaction, knapsack problem, late fees, linear programming, Moneyball by Michael Lewis explains big data, Netflix Prize, new economy, performance metric, personalized medicine, quantitative hedge fund, quantitative trading / quantitative finance, recommendation engine, RFID, search inside the book, shareholder value, six sigma, statistical model, supply-chain management, text mining, The future is already here, the long tail, the scientific method, traveling salesman, yield management

In order to make the data in a warehouse decision-ready, it is necessary to first clean and validate it using business rules that use data cleansing tools such as Trillium. (For example, a simple rule might be to have a full nine-digit ZIP code for all U.S. addresses.) Transformation procedures define the business logic that maps data from its source to its destination. Both business and IT managers must expend significant effort in order to transform data into usable information. While automated tools from vendors such as Informatica Corporation, Ab Initio Software Corporation, and Ascential Software can ease this process, considerable manual effort is still required.


Bulletproof Problem Solving by Charles Conn, Robert McLean

active transport: walking or cycling, Airbnb, Amazon Mechanical Turk, asset allocation, availability heuristic, Bayesian statistics, behavioural economics, Big Tech, Black Swan, blockchain, book value, business logic, business process, call centre, carbon footprint, cloud computing, correlation does not imply causation, Credit Default Swap, crowdsourcing, David Brooks, deep learning, Donald Trump, driverless car, drop ship, Elon Musk, endowment effect, fail fast, fake news, future of work, Garrett Hardin, Hyperloop, Innovator's Dilemma, inventory management, iterative process, loss aversion, megaproject, meta-analysis, Nate Silver, nudge unit, Occam's razor, pattern recognition, pets.com, prediction markets, principal–agent problem, RAND corporation, randomized controlled trial, risk tolerance, Silicon Valley, SimCity, smart contracts, stem cell, sunk-cost fallacy, the rule of 72, the scientific method, The Signal and the Noise by Nate Silver, time value of money, Tragedy of the Commons, transfer pricing, Vilfredo Pareto, walkable city, WikiLeaks

(OECD Publishing, 2017). 7  Douglas Belkin, “Exclusive Test Data: Many Colleges Fail to Improve Critical‐Thinking Skills,” Wall Street Journal, June 5, 2017. 8  Philip Tetlock and Dan Gardner, Superforecasting: The Art and Science of Prediction (Random House, 2015). 9   Tobias Baer, Sven Hellistag, and Hamid Samandari, “The Business Logic in Debiasing,” McKinsey Latest Thinking, May 2017. 10  Planting Healthy Air (The Nature Conservancy, 2016). 11  Herbert Simon, The Sciences of the Artificial (MIT Press, 1968). Chapter One Learn the Bulletproof Problem Solving Approach In the 1980s, when Charles was at business school, he wanted to understand the then‐ascendant Japanese business practices better.


pages: 234 words: 67,589

Internet for the People: The Fight for Our Digital Future by Ben Tarnoff

4chan, A Declaration of the Independence of Cyberspace, accounting loophole / creative accounting, Alan Greenspan, Alan Turing: On Computable Numbers, with an Application to the Entscheidungsproblem, algorithmic management, AltaVista, Amazon Web Services, barriers to entry, Bernie Sanders, Big Tech, Black Lives Matter, blue-collar work, business logic, call centre, Charles Babbage, cloud computing, computer vision, coronavirus, COVID-19, decentralized internet, deep learning, defund the police, deindustrialization, desegregation, digital divide, disinformation, Edward Snowden, electricity market, fake news, Filter Bubble, financial intermediation, future of work, gamification, General Magic , gig economy, God and Mammon, green new deal, independent contractor, information asymmetry, Internet of things, Jeff Bezos, Jessica Bruder, John Markoff, John Perry Barlow, Kevin Roose, Kickstarter, Leo Hollis, lockdown, lone genius, low interest rates, Lyft, Mark Zuckerberg, means of production, Menlo Park, natural language processing, Network effects, Nicholas Carr, packet switching, PageRank, pattern recognition, pets.com, profit maximization, profit motive, QAnon, recommendation engine, rent-seeking, ride hailing / ride sharing, Sheryl Sandberg, Shoshana Zuboff, side project, Silicon Valley, single-payer health, smart grid, social distancing, Steven Levy, stock buybacks, supply-chain management, surveillance capitalism, techlash, Telecommunications Act of 1996, TikTok, transportation-network company, Travis Kalanick, Uber and Lyft, Uber for X, uber lyft, undersea cable, UUNET, vertical integration, Victor Gruen, web application, working poor, Yochai Benkler

They are discovering the embryonic forms of an internet where the people rule. 3 The People’s Pipes In 1935, the residents of Chattanooga, Tennessee, were living in one of the poorest parts of the country in the middle of the Great Depression. Among the many things in distressingly short supply was electricity. Power, long available in the big cities, remained scarce in rural areas like the Tennessee Valley. This wasn’t an accident. Rather, it reflected a basic business logic. Private monopolies dominated the electricity market. This “power trust” was notorious for refusing to serve communities it didn’t consider profitable, and for price-gouging the ones it did. So Chattanoogans decided to take their power supply out of private hands. They voted overwhelmingly for a municipal bond issue that funded the creation of a city-owned electricity distribution system called the Electric Power Board.


One Billion Americans: The Case for Thinking Bigger by Matthew Yglesias

Affordable Care Act / Obamacare, airport security, assortative mating, Big Tech, Boeing 737 MAX, Boris Johnson, British Empire, business logic, carbon footprint, carbon tax, classic study, collective bargaining, Colonization of Mars, congestion charging, congestion pricing, coronavirus, COVID-19, cross-subsidies, deindustrialization, demographic transition, Diane Coyle, Donald Trump, drive until you qualify, Edward Glaeser, Elon Musk, gentrification, global pandemic, Greta Thunberg, high-speed rail, housing crisis, illegal immigration, immigration reform, income inequality, Induced demand, industrial cluster, Kowloon Walled City, low interest rates, mandatory minimum, mass immigration, Mercator projection, minimum wage unemployment, moral panic, New Urbanism, open borders, open immigration, plutocrats, purchasing power parity, race to the bottom, secular stagnation, selective serotonin reuptake inhibitor (SSRI), self-driving car, Silicon Valley, social distancing, superstar cities, tech worker, the built environment, Thomas Malthus, transit-oriented development, white flight, working-age population, Yogi Berra

Early in the selection process there had been a lot of hype around bids made by smaller cities, midwestern cities, and cities desperate for an economic shot in the arm. Those choices would have been more exciting for journalists and better for America. But Amazon is, obviously, a for-profit business that is trying to make decisions that make business sense. And while I wasn’t happy with the outcome of the selection process, I don’t think Amazon’s business logic was mistaken. Building a bigger America will mean finding ways to fit more people into our most crowded and expensive cities. These are the places where the job opportunities are most plentiful and where additional people could be most economically valuable—if we could unlock the potential for more growth.


pages: 834 words: 180,700

The Architecture of Open Source Applications by Amy Brown, Greg Wilson

8-hour work day, anti-pattern, bioinformatics, business logic, c2.com, cloud computing, cognitive load, collaborative editing, combinatorial explosion, computer vision, continuous integration, Conway's law, create, read, update, delete, David Heinemeier Hansson, Debian, domain-specific language, Donald Knuth, en.wikipedia.org, fault tolerance, finite state, Firefox, Free Software Foundation, friendly fire, functional programming, Guido van Rossum, Ken Thompson, linked data, load shedding, locality of reference, loose coupling, Mars Rover, MITM: man-in-the-middle, MVC pattern, One Laptop per Child (OLPC), peer-to-peer, Perl 6, premature optimization, recommendation engine, revision control, Ruby on Rails, side project, Skype, slashdot, social web, speech recognition, the scientific method, The Wisdom of Crowds, web application, WebSocket

Consistency: If you've partitioned and replicated your records across multiple servers, how do the servers coordinate when a record changes? Transactional semantics: When you run a series of operations, some databases allow you to wrap them in a transaction, which provides some subset of ACID (Atomicity, Consistency, Isolation, and Durability) guarantees on the transaction and all others currently running. Does your business logic require these guarantees, which often come with performance tradeoffs? Single-server performance: If you want to safely store data on disk, what on-disk data structures are best-geared toward read-heavy or write-heavy workloads? Is writing to disk your bottleneck? Analytical workloads: We're going to pay a lot of attention to lookup-heavy workloads of the kind you need to run a responsive user-focused web application.

The key lookup model is beneficial because it means that the database has a consistent query pattern—the entire workload consists of key lookups whose performance is relatively uniform and predictable. Profiling to find the slow parts of an application is simpler, since all complex operations reside in the application code. On the flip side, the data model logic and business logic are now more closely intertwined, which muddles abstraction. Let's quickly touch on the data associated with each key. Various NoSQL systems offer different solutions in this space. Key-Value Stores The simplest form of NoSQL store is a key-value store. Each key is mapped to a value containing arbitrary data.


pages: 302 words: 73,581

Platform Scale: How an Emerging Business Model Helps Startups Build Large Empires With Minimum Investment by Sangeet Paul Choudary

3D printing, Airbnb, Amazon Web Services, barriers to entry, bitcoin, blockchain, business logic, business process, Chuck Templeton: OpenTable:, Clayton Christensen, collaborative economy, commoditize, crowdsourcing, cryptocurrency, data acquisition, data science, fake it until you make it, frictionless, game design, gamification, growth hacking, Hacker News, hive mind, hockey-stick growth, Internet of things, invisible hand, Kickstarter, Lean Startup, Lyft, M-Pesa, Marc Andreessen, Mark Zuckerberg, means of production, multi-sided market, Network effects, new economy, Paul Graham, recommendation engine, ride hailing / ride sharing, Salesforce, search costs, shareholder value, sharing economy, Silicon Valley, Skype, Snapchat, social bookmarking, social graph, social software, software as a service, software is eating the world, Spread Networks laid a new fibre optics cable between New York and Chicago, TaskRabbit, the long tail, the payments system, too big to fail, transport as a service, two-sided market, Uber and Lyft, Uber for X, uber lyft, vertical integration, Wave and Pay

Social feedback is the new sales commission 13. Algorithms are the new decision makers 14. Real-time customization is the new market research 15. Plug-and-play is the new business development 16. The invisible hand is the new iron fist 1.3 THE RISE OF THE INTERACTION-FIRST BUSINESS A Fundamental Redesign Of Business Logic Platforms compete with each other on the basis of their ability to enable interactions sustainably. Platforms do not compete merely on the strength of better features or larger user bases. They build sustainable businesses when producers and consumers participate regularly in interactions. Uber repeatedly enables interactions between drivers and travelers, resulting in rides being exchanged for money.


pages: 254 words: 76,064

Whiplash: How to Survive Our Faster Future by Joi Ito, Jeff Howe

3D printing, air gap, Albert Michelson, AlphaGo, Amazon Web Services, artificial general intelligence, basic income, Bernie Sanders, Big Tech, bitcoin, Black Lives Matter, Black Swan, Bletchley Park, blockchain, Burning Man, business logic, buy low sell high, Claude Shannon: information theory, cloud computing, commons-based peer production, Computer Numeric Control, conceptual framework, CRISPR, crowdsourcing, cryptocurrency, data acquisition, deep learning, DeepMind, Demis Hassabis, digital rights, disruptive innovation, Donald Trump, double helix, Edward Snowden, Elon Musk, Ferguson, Missouri, fiat currency, financial innovation, Flash crash, Ford Model T, frictionless, game design, Gerolamo Cardano, informal economy, information security, interchangeable parts, Internet Archive, Internet of things, Isaac Newton, Jeff Bezos, John Harrison: Longitude, Joi Ito, Khan Academy, Kickstarter, Mark Zuckerberg, microbiome, move 37, Nate Silver, Network effects, neurotypical, Oculus Rift, off-the-grid, One Laptop per Child (OLPC), PalmPilot, pattern recognition, peer-to-peer, pirate software, power law, pre–internet, prisoner's dilemma, Productivity paradox, quantum cryptography, race to the bottom, RAND corporation, random walk, Ray Kurzweil, Ronald Coase, Ross Ulbricht, Satoshi Nakamoto, self-driving car, SETI@home, side project, Silicon Valley, Silicon Valley startup, Simon Singh, Singularitarianism, Skype, slashdot, smart contracts, Steve Ballmer, Steve Jobs, Steven Levy, Stewart Brand, Stuxnet, supply-chain management, synthetic biology, technological singularity, technoutopianism, TED Talk, The Nature of the Firm, the scientific method, The Signal and the Noise by Nate Silver, the strength of weak ties, There's no reason for any individual to have a computer in his home - Ken Olsen, Thomas Kuhn: the structure of scientific revolutions, Two Sigma, universal basic income, unpaid internship, uranium enrichment, urban planning, warehouse automation, warehouse robotics, Wayback Machine, WikiLeaks, Yochai Benkler

What if instead of subjecting readers to increasingly invasive and offensive ads, readers donated some spare CPUs—excess computing power—instead? For however long they were on the site their computers would perform some of that laborious math that goes into the creation of each bitcoin. By the end of the hackathon, Rubin and the rest of his team had not only demonstrated the basic business logic behind the idea, but they had also built an elegant little app that websites could install to make it happen. And it would all take place in the background; once the reader opted in, they wouldn’t even know their computer had entered the mine. The Node Knockout hackathon awarded them the top prize in innovation.


pages: 268 words: 74,724

Who Needs the Fed?: What Taylor Swift, Uber, and Robots Tell Us About Money, Credit, and Why We Should Abolish America's Central Bank by John Tamny

Airbnb, Alan Greenspan, Apollo 13, bank run, Bear Stearns, Bernie Madoff, bitcoin, Bretton Woods, business logic, buy and hold, Carl Icahn, Carmen Reinhart, corporate raider, correlation does not imply causation, cotton gin, creative destruction, Credit Default Swap, crony capitalism, crowdsourcing, Donald Trump, Downton Abbey, Fairchild Semiconductor, fiat currency, financial innovation, Fractional reserve banking, full employment, George Gilder, Glass-Steagall Act, Home mortgage interest deduction, Jeff Bezos, job automation, Joseph Schumpeter, junk bonds, Kenneth Rogoff, Kickstarter, Larry Ellison, liquidity trap, low interest rates, Mark Zuckerberg, market bubble, Michael Milken, Money creation, money market fund, moral hazard, mortgage tax deduction, NetJets, offshore financial centre, oil shock, peak oil, Peter Thiel, Phillips curve, price stability, profit motive, quantitative easing, race to the bottom, Ronald Reagan, self-driving car, sharing economy, Silicon Valley, Silicon Valley startup, Solyndra, Steve Jobs, The Wealth of Nations by Adam Smith, too big to fail, Travis Kalanick, Uber for X, War on Poverty, yield curve

You wonder if we ought to be doing it or not.”20 As USA Today’s Rick Jervis noted in the fall of 2014, when the price of oil began to decline, the “break even” point in terms of profitable oil extraction was $40 per barrel in Pennsylvania’s Marcellus region, $60 per barrel in the Eagle Ford region of Texas, and $70 per barrel in North Dakota’s Bakken region.21 Absent the weak dollar, heavy investment in oil extraction almost certainly never takes place. More to the point, oil’s scarcity in the 2000s was wholly a monetary illusion. Those who believe otherwise ignore voluminous oil-price history and simple business logic. How is it that entrepreneurs generally grow rich? Historically it’s been because individuals figured out ways to mass market formerly obscure items through relentless price cutting. Silicon Valley is the richest region in the world, and a magnet for investment, not because the entrepreneurs who toil there strive to drive up prices but precisely because they excel at pushing them down.


pages: 550 words: 84,515

Vue.js 2 Cookbook by Andrea Passaglia

bitcoin, business logic, cognitive load, functional programming, Kickstarter, Large Hadron Collider, loose coupling, MVC pattern, node package manager, Silicon Valley, single page application, web application, WebSocket

getWorldWonder: state => nth => state.worldWonders[nth] } In our recipe, a practical example could specify the average cost of a house in the getter from the previous paragraph: const store = new Vuex.Store({ state: { bitcoin: 600, rate: 1000 }, getters: { euro: state => state.bitcoin * state.rate, houses: (state, getters) => averageHousePrice => { return getters.euro() / averageHousePrice } }) Testing your store As you know from Chapter 7, Unit Testing and End-To-End Testing, testing is the most important part of professional software. As the store often defines the business logic of your application, testing it may be vital for your application. In this recipe, you will write tests for a Vuex store. Getting ready This recipe requires knowledge from Chapter 7, Unit Testing and End-To-End Testing and familiarity with Vuex; you can get it from the earlier recipes of this chapter.


pages: 1,409 words: 205,237

Architecting Modern Data Platforms: A Guide to Enterprise Hadoop at Scale by Jan Kunigk, Ian Buss, Paul Wilkinson, Lars George

Amazon Web Services, barriers to entry, bitcoin, business intelligence, business logic, business process, cloud computing, commoditize, computer vision, continuous integration, create, read, update, delete, data science, database schema, Debian, deep learning, DevOps, domain-specific language, fault tolerance, Firefox, FOSDEM, functional programming, Google Chrome, Induced demand, information security, Infrastructure as a Service, Internet of things, job automation, Kickstarter, Kubernetes, level 1 cache, loose coupling, microservices, natural language processing, Network effects, platform as a service, single source of truth, source of truth, statistical model, vertical integration, web application

Typically, BI and data science organizations have naturally evolved on top of original use cases. The Traditional Approach Let us start with an overview of the traditional solution approach, as shown in Figure 5-1. The data stored in data warehouses mostly originates from the core business use cases, which are sophisticated applications—in our example a web frontend and business logic implemented in a middleware application server. The use cases that run on the application server are each implemented by a team of developers. This could be a webshop, a hotel booking system, or a message board, for example. The BI solution is typically implemented by a separate development team.

As we already mentioned, the data scientist is well versed in coding in third-generation and functional programming languages, such as Scala, Java, and Python, in addition to the domain-specific languages of the classic analytics world. In this function, the data scientist collaborates with development departments to build fully fledged distributed applications that can be productively deployed to Hadoop. The work split could be that the development organization builds the ingest and business logic of the application and maintains the build-and-deployment process, while the data scientist owns and tests the modules and routines that perform the actual learning and modeling algorithms at scale. In order to apply state-of-the-art analytics methods to big data, organizations should ensure that their analyst staff extend their skill sets into these domains and evolve into what we refer to as data scientists.


pages: 317 words: 87,566

The Happiness Industry: How the Government and Big Business Sold Us Well-Being by William Davies

"Friedman doctrine" OR "shareholder theory", "World Economic Forum" Davos, 1960s counterculture, Abraham Maslow, Airbnb, behavioural economics, business intelligence, business logic, corporate governance, data science, dematerialisation, experimental subject, Exxon Valdez, Frederick Winslow Taylor, Gini coefficient, income inequality, intangible asset, invisible hand, joint-stock company, Leo Hollis, lifelogging, market bubble, mental accounting, military-industrial complex, nudge unit, Panopticon Jeremy Bentham, Philip Mirowski, power law, profit maximization, randomized controlled trial, Richard Thaler, road to serfdom, Ronald Coase, Ronald Reagan, science of happiness, scientific management, selective serotonin reuptake inhibitor (SSRI), sentiment analysis, sharing economy, Slavoj Žižek, smart cities, Smart Cities: Big Data, Civic Hackers, and the Quest for a New Utopia, social contagion, social intelligence, Social Responsibility of Business Is to Increase Its Profits, Steve Jobs, TED Talk, The Chicago School, The Spirit Level, theory of mind, urban planning, Vilfredo Pareto, W. E. B. Du Bois, you are the product

Once marketing campaigns are being mediated by individuals, in their informal social lives, it quickly becomes plain that certain individuals – well-connected influencers – are more useful instruments of communication than others. In the workplace, the socially connected employee will come to appear more valuable than the more isolated one. The business logic which emerges from this is to be highly generous towards a small minority of already well-connected people, and pay far less attention to everybody else. Celebrities have long had gifts lavished upon them by companies, hoping to have their brands boosted by association. The same process is beginning to apply to social networks: the people who are least in need of this corporate generosity are the most likely recipients of it, and vice versa.


pages: 283 words: 85,824

The People's Platform: Taking Back Power and Culture in the Digital Age by Astra Taylor

"World Economic Forum" Davos, A Declaration of the Independence of Cyberspace, Aaron Swartz, Alan Greenspan, American Legislative Exchange Council, Andrew Keen, AOL-Time Warner, barriers to entry, Berlin Wall, big-box store, Brewster Kahle, business logic, Californian Ideology, citizen journalism, cloud computing, collateralized debt obligation, Community Supported Agriculture, conceptual framework, content marketing, corporate social responsibility, creative destruction, cross-subsidies, crowdsourcing, David Brooks, digital capitalism, digital divide, digital Maoism, disinformation, disintermediation, don't be evil, Donald Trump, Edward Snowden, Evgeny Morozov, Fall of the Berlin Wall, Filter Bubble, future of journalism, Gabriella Coleman, gentrification, George Gilder, Google Chrome, Google Glasses, hive mind, income inequality, informal economy, Internet Archive, Internet of things, invisible hand, Jane Jacobs, Jaron Lanier, Jeff Bezos, job automation, John Markoff, John Perry Barlow, Julian Assange, Kevin Kelly, Kickstarter, knowledge worker, Laura Poitras, lolcat, Mark Zuckerberg, means of production, Metcalfe’s law, Naomi Klein, Narrative Science, Network effects, new economy, New Journalism, New Urbanism, Nicholas Carr, oil rush, peer-to-peer, Peter Thiel, planned obsolescence, plutocrats, post-work, power law, pre–internet, profit motive, recommendation engine, Richard Florida, Richard Stallman, self-driving car, shareholder value, sharing economy, Sheryl Sandberg, Silicon Valley, Silicon Valley billionaire, Silicon Valley ideology, slashdot, Slavoj Žižek, Snapchat, social graph, Steve Jobs, Stewart Brand, technological solutionism, technoutopianism, TED Talk, the long tail, trade route, Tragedy of the Commons, vertical integration, Whole Earth Catalog, WikiLeaks, winner-take-all economy, Works Progress Administration, Yochai Benkler, young professional

According to Shirky, the television version failed because of excessive bureaucracy and meddling from the Writers Guild: “The critical fact about this negotiation wasn’t about the mothers, or their stories, or how those stories might be used. The critical fact was that the negotiation took place in the grid of the television industry, between entities incorporated around a 20th-century business logic, and entirely within invented constraints. At no point did the negotiation about audience involvement hinge on the question ‘Would this be an interesting thing to try?’ ” Shirky paints the original “In the Motherhood” as a grassroots phenomenon to make a point when it was anything but. The Web series was actually designed and executed by MindShare, the “branded content powerhouse.”


pages: 219 words: 15,438

The Essays of Warren Buffett: Lessons for Corporate America by Warren E. Buffett, Lawrence A. Cunningham

book value, business logic, buy and hold, compensation consultant, compound rate of return, corporate governance, Dissolution of the Soviet Union, diversified portfolio, dividend-yielding stocks, fixed income, George Santayana, Henry Singleton, index fund, intangible asset, invisible hand, junk bonds, large denomination, low cost airline, Michael Milken, oil shock, passive investing, price stability, Ronald Reagan, stock buybacks, Tax Reform Act of 1986, Teledyne, the market place, transaction costs, Yogi Berra, zero-coupon bond

This level of tangible assets was adequate to conduct the business without use of debt, except for short periods seasonally. See's was earning about $2 million after tax at the time, and such earnings seemed conservatively representative of future earning power in constant 1972 dollars. Thus our first lesson: businesses logically are worth far more than net tangible assets when they can be expected to produce earnings on such assets considerably in excess of market rates of return. The capitalized value of this excess return is economic Goodwill. In 1972 (and now) relatively few businesses could be expected to consistently earn the 25% after tax on net tangible assets that was earned by See's-doing it, furthermore, with conservative accounting and no financial leverage.


pages: 365 words: 88,125

23 Things They Don't Tell You About Capitalism by Ha-Joon Chang

accelerated depreciation, affirmative action, Alan Greenspan, AOL-Time Warner, Asian financial crisis, bank run, banking crisis, basic income, Berlin Wall, Bernie Madoff, borderless world, business logic, Carmen Reinhart, central bank independence, collateralized debt obligation, colonial rule, corporate governance, Credit Default Swap, credit default swaps / collateralized debt obligations, David Ricardo: comparative advantage, deindustrialization, deskilling, digital divide, ending welfare as we know it, Fall of the Berlin Wall, falling living standards, financial deregulation, financial innovation, full employment, German hyperinflation, Gini coefficient, Glass-Steagall Act, hiring and firing, Hyman Minsky, income inequality, income per capita, invisible hand, joint-stock company, joint-stock limited liability company, Joseph Schumpeter, Kenneth Rogoff, knowledge economy, labour market flexibility, light touch regulation, Long Term Capital Management, low skilled workers, manufacturing employment, market fundamentalism, means of production, Mexican peso crisis / tequila crisis, microcredit, Myron Scholes, North Sea oil, offshore financial centre, old-boy network, post-industrial society, price stability, profit maximization, profit motive, purchasing power parity, rent control, Robert Solow, shareholder value, short selling, Skype, structural adjustment programs, the market place, The Wealth of Nations by Adam Smith, Thomas Malthus, Tobin tax, Toyota Production System, trade liberalization, trickle-down economics, women in the workforce, working poor, zero-sum game

These regulations, pro-business commentators argue, not only harmed the large firms but made everyone else worse off by reducing the overall size of the pie to be shared out. By limiting the ability of firms to experiment with new ways of doing business and enter new areas, these regulations slowed down the growth of overall productivity. In the end, however, the folly of this anti-business logic became too obvious, the argument goes. As a result, since the 1970s, countries from all around the world have come to accept that what is good for business is good for the national economy and have adopted a pro-business policy stance. Even communist countries have given up their attempts to stifle the private sector since the 1990s.


pages: 328 words: 84,682

The Business of Platforms: Strategy in the Age of Digital Competition, Innovation, and Power by Michael A. Cusumano, Annabelle Gawer, David B. Yoffie

activist fund / activist shareholder / activist investor, Airbnb, AltaVista, Amazon Web Services, AOL-Time Warner, asset light, augmented reality, autonomous vehicles, barriers to entry, bitcoin, blockchain, business logic, Cambridge Analytica, Chuck Templeton: OpenTable:, cloud computing, collective bargaining, commoditize, CRISPR, crowdsourcing, cryptocurrency, deep learning, Didi Chuxing, distributed ledger, Donald Trump, driverless car, en.wikipedia.org, fake news, Firefox, general purpose technology, gig economy, Google Chrome, GPS: selective availability, Greyball, independent contractor, Internet of things, Jeff Bezos, Jeff Hawkins, John Zimmer (Lyft cofounder), Kevin Roose, Lean Startup, Lyft, machine translation, Mark Zuckerberg, market fundamentalism, Metcalfe’s law, move fast and break things, multi-sided market, Network effects, pattern recognition, platform as a service, Ponzi scheme, recommendation engine, Richard Feynman, ride hailing / ride sharing, Robert Metcalfe, Salesforce, self-driving car, sharing economy, Silicon Valley, Skype, Snapchat, SoftBank, software as a service, sovereign wealth fund, speech recognition, stealth mode startup, Steve Ballmer, Steve Jobs, Steven Levy, subscription business, Susan Wojcicki, TaskRabbit, too big to fail, transaction costs, transport as a service, Travis Kalanick, two-sided market, Uber and Lyft, Uber for X, uber lyft, vertical integration, Vision Fund, web application, zero-sum game

Platform businesses also have different ways of making money, since they may not directly sell a stand-alone product or service. At the same time, though, platforms do not all require “revolutionary” strategies and business models that did not exist before the digital age or that make conventional business logic obsolete.15 Nor is it always useful to think of platform companies simply as “matchmakers” bringing different market actors together, although that is a common function for many platform businesses.16 We also have argued for many years that, in a platform market, having the best platform is more important than having the best product.17 Look at the history of the Apple Macintosh.


pages: 629 words: 83,362

Programming TypeScript by Boris Cherny

billion-dollar mistake, bitcoin, business logic, database schema, don't repeat yourself, duck typing, Firefox, functional programming, Internet of things, pull request, source of truth, SQL injection, type inference, web application

With Angular, you generate component boilerplate with Angular CLI, then fill in the details by hand. An Angular component consists of a few different files: A template, which describes the DOM a component renders A set of CSS styles A component class, which is a TypeScript class that dictates your components’ business logic Let’s start with the component class: import {Component, OnInit} from '@angular/core' @Component({ selector: 'simple-message', styleUrls: ['./simple-message.component.css'], templateUrl: './simple-message.component.html' }) export class SimpleMessageComponent implements OnInit { message: string ngOnInit() { this.message = 'No messages, yet' } } For the most part, this is a pretty standard TypeScript class, with just a few differences that bring out how Angular leverages TypeScript.


pages: 285 words: 86,853

What Algorithms Want: Imagination in the Age of Computing by Ed Finn

Airbnb, Albert Einstein, algorithmic bias, algorithmic management, algorithmic trading, AlphaGo, Amazon Mechanical Turk, Amazon Web Services, bitcoin, blockchain, business logic, Charles Babbage, Chuck Templeton: OpenTable:, Claude Shannon: information theory, commoditize, Computing Machinery and Intelligence, Credit Default Swap, crowdsourcing, cryptocurrency, data science, DeepMind, disruptive innovation, Donald Knuth, Donald Shoup, Douglas Engelbart, Douglas Engelbart, Elon Musk, Evgeny Morozov, factory automation, fiat currency, Filter Bubble, Flash crash, game design, gamification, Google Glasses, Google X / Alphabet X, Hacker Conference 1984, High speed trading, hiring and firing, Ian Bogost, industrial research laboratory, invisible hand, Isaac Newton, iterative process, Jaron Lanier, Jeff Bezos, job automation, John Conway, John Markoff, Just-in-time delivery, Kickstarter, Kiva Systems, late fees, lifelogging, Loebner Prize, lolcat, Lyft, machine readable, Mother of all demos, Nate Silver, natural language processing, Neal Stephenson, Netflix Prize, new economy, Nicholas Carr, Nick Bostrom, Norbert Wiener, PageRank, peer-to-peer, Peter Thiel, power law, Ray Kurzweil, recommendation engine, Republic of Letters, ride hailing / ride sharing, Satoshi Nakamoto, self-driving car, sharing economy, Silicon Valley, Silicon Valley billionaire, Silicon Valley ideology, Silicon Valley startup, SimCity, Skinner box, Snow Crash, social graph, software studies, speech recognition, statistical model, Steve Jobs, Steven Levy, Stewart Brand, supply-chain management, tacit knowledge, TaskRabbit, technological singularity, technological solutionism, technoutopianism, the Cathedral and the Bazaar, The Coming Technological Singularity, the scientific method, The Signal and the Noise by Nate Silver, The Structural Transformation of the Public Sphere, The Wealth of Nations by Adam Smith, transaction costs, traveling salesman, Turing machine, Turing test, Uber and Lyft, Uber for X, uber lyft, urban planning, Vannevar Bush, Vernor Vinge, wage slave

This culture machine and the knowledge ontologies it contains impose profound limits on the kinds of intellectual relationships we can have with it, because while Siri can learn from us (by aggregating billions of voice recordings for analysis, for example), we can directly teach it almost nothing. The ontologies are Siri’s secret sauce, the synapses that hold the entire operation together, and they are constructed according to the business logic, legal agreements, and licensing schemes of Apple and its partners. This can lead to failures like Siri responding to the question “where do babies come from” by offering a list of “baby stores” in the area.21 But it also leads to absences and exclusions that can be harder to detect. An invisible ontology does not reveal its seams and edges, but rather is designed to resist exactly that kind of questioning.


Industry 4.0: The Industrial Internet of Things by Alasdair Gilchrist

3D printing, additive manufacturing, air gap, AlphaGo, Amazon Web Services, augmented reality, autonomous vehicles, barriers to entry, business intelligence, business logic, business process, chief data officer, cloud computing, connected car, cyber-physical system, data science, deep learning, DeepMind, deindustrialization, DevOps, digital twin, fault tolerance, fulfillment center, global value chain, Google Glasses, hiring and firing, industrial robot, inflight wifi, Infrastructure as a Service, Internet of things, inventory management, job automation, low cost airline, low skilled workers, microservices, millennium bug, OSI model, pattern recognition, peer-to-peer, platform as a service, pre–internet, race to the bottom, RFID, Salesforce, Skype, smart cities, smart grid, smart meter, smart transportation, software as a service, stealth mode startup, supply-chain management, The future is already here, trade route, undersea cable, vertical integration, warehouse robotics, web application, WebRTC, Y2K

The platform tier is also responsible for managing control data flowing in the other direction, for example, from the enterprise to the edge tiers. It is within the platform tier that we will locate the majority of the functions related to the information and operations domains. The Enterprise Tier The enterprise tier implements the application and business logic for decision support systems and end-user interfaces, such as for operations specialists. This tier hosts most of the application and business domain functions. To get a clearer idea of how this all comes together, consider Figure 4-5. Industry 4.0 Figure 4-5. Three-tier architecture In Figure 4-5, we can see the relationship between functional domains and the three-tier architecture.


pages: 713 words: 93,944

Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement by Eric Redmond, Jim Wilson, Jim R. Wilson

AGPL, Amazon Web Services, business logic, create, read, update, delete, data is the new oil, database schema, Debian, domain-specific language, en.wikipedia.org, fault tolerance, full text search, general-purpose programming language, Kickstarter, Large Hadron Collider, linked data, MVC pattern, natural language processing, node package manager, random walk, recommendation engine, Ruby on Rails, seminal paper, Skype, social graph, sparse data, web application

Contrast this with the convention of using one general-purpose language throughout a project. This is useful because of the different inherent strengths of languages. A framework like Scala may be better suited for server-side stateless transactions on the Web, but a language like Ruby may be friendlier for business logic. Used together, they create a synergy. A polyglot language system like this was famously used at Twitter. Some of the databases we’ve seen themselves support polyglot programming—Riak supports both JavaScript and Erlang when writing mapreduce, and a single request can execute both. Similar to its language-centric cousin, polyglot persistence is where you can leverage the strengths of many kinds of databases in the same system, as opposed to the currently familiar practice of a single database, probably a relational style.


pages: 321 words: 89,109

The New Gold Rush: The Riches of Space Beckon! by Joseph N. Pelton

"World Economic Forum" Davos, 3D printing, Any sufficiently advanced technology is indistinguishable from magic, Biosphere 2, Buckminster Fuller, business logic, Carrington event, Colonization of Mars, Dennis Tito, disruptive innovation, Donald Trump, driverless car, Elon Musk, en.wikipedia.org, full employment, global pandemic, Google Earth, GPS: selective availability, gravity well, Iridium satellite, Jeff Bezos, job automation, Johannes Kepler, John von Neumann, life extension, low earth orbit, Lyft, Mark Shuttleworth, Mark Zuckerberg, megacity, megastructure, new economy, Peter H. Diamandis: Planetary Resources, Planet Labs, post-industrial society, private spaceflight, Ray Kurzweil, Scaled Composites, Silicon Valley, Silicon Valley billionaire, skunkworks, space junk, SpaceShipOne, Stephen Hawking, Steve Jobs, Strategic Defense Initiative, Thomas Malthus, Tim Cook: Apple, Tunguska event, uber lyft, urban planning, urban sprawl, vertical integration, Virgin Galactic, wikimedia commons, X Prize

The New Space economy thus includes a wide range of new concepts for the global economy that include sustainability, recycling, limiting excesses, and evolving a kinder and more equitable approach to global society. The New Space economy can help steer us toward a new ethos and even a re-envisioning of the life styles of millennials and their children and their children’s children. The Business Logic and Technology for Solar Power Satellite Systems The idea of launching and operating a solar power satellite is far from new. Peter Glaser of Arthur D. Little, the father of solar power satellites, was on the “Cruise beyond Apollo” in 1972. This cruise on the S. S. Statendam was a destination voyage to watch the night launch of Apollo 17, the last launch to the Moon.


pages: 343 words: 91,080

Uberland: How Algorithms Are Rewriting the Rules of Work by Alex Rosenblat

"Susan Fowler" uber, Affordable Care Act / Obamacare, Airbnb, algorithmic management, Amazon Mechanical Turk, autonomous vehicles, barriers to entry, basic income, big-box store, bike sharing, Black Lives Matter, business logic, call centre, cashless society, Cass Sunstein, choice architecture, cognitive load, collaborative economy, collective bargaining, creative destruction, crowdsourcing, data science, death from overwork, digital divide, disinformation, disruptive innovation, don't be evil, Donald Trump, driverless car, emotional labour, en.wikipedia.org, fake news, future of work, gender pay gap, gig economy, Google Chrome, Greyball, income inequality, independent contractor, information asymmetry, information security, Jaron Lanier, Jessica Bruder, job automation, job satisfaction, Lyft, marginal employment, Mark Zuckerberg, move fast and break things, Network effects, new economy, obamacare, performance metric, Peter Thiel, price discrimination, proprietary trading, Ralph Waldo Emerson, regulatory arbitrage, ride hailing / ride sharing, Salesforce, self-driving car, sharing economy, side hustle, Silicon Valley, Silicon Valley ideology, Skype, social software, SoftBank, stealth mode startup, Steve Jobs, strikebreaker, TaskRabbit, technological determinism, Tim Cook: Apple, transportation-network company, Travis Kalanick, Uber and Lyft, Uber for X, uber lyft, union organizing, universal basic income, urban planning, Wolfgang Streeck, work culture , workplace surveillance , Yochai Benkler, Zipcar

Under our noses, the company has ushered in a wave of changes touching most aspects of society, be it family life or childcare arrangements, worker conditions or management practices, commuting patterns or urban planning, or racial equality campaigns and labor rights initiatives. Uber’s wide-ranging impacts have not just upset the status quo across society but have also created a future of uncertain implications. The company has harnessed technology to create an entirely new business logic for employment, like Napster did for music and Facebook did for journalism.14 Uber is a symbol of the New Economy, a powerful case study illustrating how digital culture is changing the nature of work.15 RIDING IN CARS WITH “ENTREPRENEURS” For nearly four years, my job has mainly been to ride around in cars with strange men (and sometimes women).16 Studying Uber drivers from mid-2014 through the winter of 2018, I’ve crossed more than twenty-five cities and traversed more than five thousand miles in cars in the United States and Canada, from Juneau to Montreal.


pages: 374 words: 94,508

Infonomics: How to Monetize, Manage, and Measure Information as an Asset for Competitive Advantage by Douglas B. Laney

3D printing, Affordable Care Act / Obamacare, banking crisis, behavioural economics, blockchain, book value, business climate, business intelligence, business logic, business process, call centre, carbon credits, chief data officer, Claude Shannon: information theory, commoditize, conceptual framework, crowdsourcing, dark matter, data acquisition, data science, deep learning, digital rights, digital twin, discounted cash flows, disintermediation, diversification, en.wikipedia.org, endowment effect, Erik Brynjolfsson, full employment, hype cycle, informal economy, information security, intangible asset, Internet of things, it's over 9,000, linked data, Lyft, Nash equilibrium, Neil Armstrong, Network effects, new economy, obamacare, performance metric, profit motive, recommendation engine, RFID, Salesforce, semantic web, single source of truth, smart meter, Snapchat, software as a service, source of truth, supply-chain management, tacit knowledge, technological determinism, text mining, uber lyft, Y2K, yield curve

Preparing for the Real Information Ecosystem Speaking of loops, particularly feedback loops, another way to characterize information’s relative place in the world is as an ecosystem. A supply chain may seem too linear, and even a supply network too static and procedural for today’s (and especially tomorrow’s) more dynamic business environment. Indeed, supply chains/networks change and increasingly run pseudo-autonomously on business logic, embedded analytics, and always-on communication among stakeholders. But do they really evolve? Do they really sense and respond and adapt to both immediate and gradual shifts in their larger environment the way biological ecosystems do? Only if someone coded them that way. Someday soon we will witness an entire supply chain driven by a neural network.


pages: 297 words: 93,882

Winning Now, Winning Later by David M. Cote

activist fund / activist shareholder / activist investor, Asian financial crisis, business cycle, business logic, business process, compensation consultant, data science, hiring and firing, Internet of things, Parkinson's law, Paul Samuelson, Silicon Valley, six sigma, Steve Jobs, stock buybacks, Toyota Production System, trickle-down economics, warehouse automation

We mandated that bosses do the actual work of appraising how well their reports were doing. This sparked howls of protest, with leaders claiming they didn’t have time to write up thoughtful performance reviews every year—they were too busy meeting with customers and focusing on strategy. I defended our new policy by taking these leaders through the business logic, in a conversation that went like this: Me:Does having the best people make a difference? Reluctant Leader:Yes. Me:How long does it take to do an appraisal? Reluctant Leader:An hour. Me:How long does it take to give an appraisal? Reluctant Leader:An hour. Me:How many reports do you have?


The Internet Trap: How the Digital Economy Builds Monopolies and Undermines Democracy by Matthew Hindman

A Declaration of the Independence of Cyberspace, accounting loophole / creative accounting, activist fund / activist shareholder / activist investor, AltaVista, Amazon Web Services, barriers to entry, Benjamin Mako Hill, bounce rate, business logic, Cambridge Analytica, cloud computing, computer vision, creative destruction, crowdsourcing, David Ricardo: comparative advantage, death of newspapers, deep learning, DeepMind, digital divide, discovery of DNA, disinformation, Donald Trump, fake news, fault tolerance, Filter Bubble, Firefox, future of journalism, Ida Tarbell, incognito mode, informal economy, information retrieval, invention of the telescope, Jeff Bezos, John Perry Barlow, John von Neumann, Joseph Schumpeter, lake wobegon effect, large denomination, longitudinal study, loose coupling, machine translation, Marc Andreessen, Mark Zuckerberg, Metcalfe’s law, natural language processing, Netflix Prize, Network effects, New Economic Geography, New Journalism, pattern recognition, peer-to-peer, Pepsi Challenge, performance metric, power law, price discrimination, recommendation engine, Robert Metcalfe, search costs, selection bias, Silicon Valley, Skype, sparse data, speech recognition, Stewart Brand, surveillance capitalism, technoutopianism, Ted Nelson, The Chicago School, the long tail, The Soul of a New Machine, Thomas Malthus, web application, Whole Earth Catalog, Yochai Benkler

One fact often overlooked is that Netflix already had reached the overall level of accuracy they paid one million dollars for. As the contest faq explained, The rmse experienced by customers on the Netflix site is significantly better than the rmse reported for the training dataset. This is due both to the increase in ratings data but also to additional business logic we use to tune which of the large number of ratings to learn from . . . let’s just say we’d be seriously in the running for a Progress Prize, if we were eligible.25 In other words, even at the start of the competition, Netflix was able to do significantly better than the raw CineMatch results indicated.


pages: 327 words: 90,013

Boundless: The Rise, Fall, and Escape of Carlos Ghosn by Nick Kostov

"World Economic Forum" Davos, airport security, bitcoin, business logic, collapse of Lehman Brothers, corporate governance, COVID-19, cryptocurrency, Donald Trump, glass ceiling, Google Earth, Les Trente Glorieuses, lockdown, Masayoshi Son, offshore financial centre, rolodex, self-driving car, Silicon Valley, the payments system

In 2013, Ghosn had announced that he would move the production of Nissan’s Micra hatchback from India, where the company had recently built a factory, to a Renault plant in France, despite the higher labor costs there. He justified the move by saying it would free up plant capacity in India. But Nissan managers had questioned the business logic, and their engineers complained that Renault factory workers couldn’t be trusted to build their cars. Decision by decision, under a scrutiny motivated by adulation, then curiosity, then skepticism, Saikawa observed the changing tide of tolerance—or lack thereof—for his boss. The quiet, capable manager had grown increasingly aware that Ghosn didn’t have the sway at Renault that he enjoyed in Japan.


pages: 496 words: 174,084

Masterminds of Programming: Conversations With the Creators of Major Programming Languages by Federico Biancuzzi, Shane Warden

Benevolent Dictator For Life (BDFL), business intelligence, business logic, business process, cellular automata, cloud computing, cognitive load, commoditize, complexity theory, conceptual framework, continuous integration, data acquisition, Dennis Ritchie, domain-specific language, Douglas Hofstadter, Fellow of the Royal Society, finite state, Firefox, follow your passion, Frank Gehry, functional programming, general-purpose programming language, Guido van Rossum, higher-order functions, history of Unix, HyperCard, industrial research laboratory, information retrieval, information security, iterative process, Ivan Sutherland, John von Neumann, Ken Thompson, Larry Ellison, Larry Wall, linear programming, loose coupling, machine readable, machine translation, Mars Rover, millennium bug, Multics, NP-complete, Paul Graham, performance metric, Perl 6, QWERTY keyboard, RAND corporation, randomized controlled trial, Renaissance Technologies, Ruby on Rails, Sapir-Whorf hypothesis, seminal paper, Silicon Valley, slashdot, software as a service, software patent, sorting algorithm, SQL injection, Steve Jobs, traveling salesman, Turing complete, type inference, Valgrind, Von Neumann architecture, web application

There are other situations where a prototype can be created using no “programming” at all—for example, using a spreadsheet or a set of find and grep commands. The earliest intentions I had for Python were simply for it to be a language to be used in cases where C was overkill and shell scripts became too cumbersome. That covers a lot of prototyping, but it also covers a lot of “business logic” (as it’s come to be called these days) that isn’t particularly greedy in computing resources but requires a lot of code to be written. I would say that most Python code is not written as a prototype but simply to get a job done. In most cases Python is fully up to the job, and there is no need to change much in order to arrive at the final application.

Then you work your way up until finally you have the highest-level word, and you call it go and you type go and everything happens. I have very little faith in systems analysts who work top-down. They decide what the problem is and then they factor it in such a way that it can be very difficult to implement. Domain-driven design suggests describing business logic in terms of the customer’s vocabulary. Is there a connection between building up a vocabulary of words and using the terms of art from your problem domain? Chuck: Hopefully the programmer knows the domain before he starts writing. I would talk to the customer. I would listen to the words he uses and I would try to use those words so that he can understand what the program’s doing.


pages: 471 words: 94,519

Managing Projects With GNU Make by Robert Mecklenburg, Andrew Oram

bioinformatics, business logic, Free Software Foundation, functional programming, general-purpose programming language, Larry Wall, machine readable, Richard Stallman

The makefile can be a valuable tool for managing this process as previously noted. Of course, the get-file function can be used to automatically select beta or stable, local or remote jars by simply setting the JAR_PATH variable. Enterprise JavaBeans Enterprise JavaBeans™ is a powerful technique to encapsulate and reuse business logic in the framework of remote method invocation. EJB sets up Java classes used to implement server APIs that are ultimately used by remote clients. These objects and services are configured using XML-based control files. Once the Java classes and XML control files are written, they must be bundled together in a jar.


pages: 480 words: 99,288

Mastering ElasticSearch by Rafal Kuc, Marek Rogozinski

Amazon Web Services, book value, business logic, create, read, update, delete, en.wikipedia.org, fault tolerance, finite state, full text search, information retrieval

Given all this, when we start designing our queries, we usually go for the simplest query that return the documents we want. However, given all the things we can do in ElasticSearch when it comes to scoring control, such queries return results that are not the best when it comes to user search experience. That's because ElasticSearch can't guess what our business logic is and what documents are the ones that are the best from our point of view when running a query. In this section we will try to follow a real-life example of query relevance tuning. We want to make this chapter a bit different, instead of only giving you insight, we have decided to give you a full example of how query tuning process may look like.


pages: 306 words: 97,211

Value Investing: From Graham to Buffett and Beyond by Bruce C. N. Greenwald, Judd Kahn, Paul D. Sonkin, Michael van Biema

Andrei Shleifer, barriers to entry, Berlin Wall, book value, business cycle, business logic, capital asset pricing model, corporate raider, creative destruction, Daniel Kahneman / Amos Tversky, discounted cash flows, diversified portfolio, Eugene Fama: efficient market hypothesis, Fairchild Semiconductor, financial engineering, fixed income, index fund, intangible asset, junk bonds, Long Term Capital Management, naked short selling, new economy, place-making, price mechanism, quantitative trading / quantitative finance, Richard Thaler, risk free rate, search costs, shareholder value, short selling, Silicon Valley, stocks for the long run, Telecommunications Act of 1996, time value of money, tulip mania, Y2K, zero-sum game

Of course, if they are sold-even if they are replaced with similar bonds offering better relative value-the loss must be booked immediately. And, just as promptly, published net worth must be adjusted downward by the amount of the loss. Under such circumstances, a great many investment options disappear, perhaps for decades. For example, when large underwriting losses are in prospect, it may make excellent business logic for some insurers to shift from tax-exempt bonds into taxable bonds. Unwillingness to recognize major bond losses may be the sole factor that prevents such a sensible move. But the full implications flowing from massive unrealized bond losses are far more serious than just the immobilization of investment intellect.


pages: 420 words: 100,811

We Are Data: Algorithms and the Making of Our Digital Selves by John Cheney-Lippold

algorithmic bias, bioinformatics, business logic, Cass Sunstein, centre right, computer vision, critical race theory, dark matter, data science, digital capitalism, drone strike, Edward Snowden, Evgeny Morozov, Filter Bubble, Google Chrome, Google Earth, Hans Moravec, Ian Bogost, informal economy, iterative process, James Bridle, Jaron Lanier, Julian Assange, Kevin Kelly, late capitalism, Laura Poitras, lifelogging, Lyft, machine readable, machine translation, Mark Zuckerberg, Marshall McLuhan, mass incarceration, Mercator projection, meta-analysis, Nick Bostrom, Norbert Wiener, offshore financial centre, pattern recognition, price discrimination, RAND corporation, Ray Kurzweil, Richard Thaler, ride hailing / ride sharing, Rosa Parks, Silicon Valley, Silicon Valley startup, Skype, Snapchat, software studies, statistical model, Steven Levy, technological singularity, technoutopianism, the scientific method, Thomas Bayes, Toyota Production System, Turing machine, uber lyft, web application, WikiLeaks, Zimmermann PGP

It’s important that dead privacy be kept away from its still-breathing relative, because a privacy that protects what writer David Shenk calls the “data smog” expelled by the motors of our online activities would mean a Facebook that can’t profit from that smog’s commodification.102 The current business logic of Facebook, and the rest of the Internet at large, is reliant on us not having/practicing this kind of privacy. We are made legible to Facebook on its own terms—not ours. This is another kind of “terms” of service, one more structural and much less apparent. An asymmetry of terms is what control is about, both offline and online.


pages: 302 words: 100,493

Working Backwards: Insights, Stories, and Secrets From Inside Amazon by Colin Bryar, Bill Carr

Amazon Web Services, barriers to entry, Big Tech, Black Lives Matter, business logic, business process, cloud computing, coronavirus, COVID-19, data science, delayed gratification, en.wikipedia.org, fulfillment center, iterative process, Jeff Bezos, late fees, loose coupling, microservices, Minecraft, performance metric, search inside the book, shareholder value, Silicon Valley, six sigma, Steve Jobs, subscription business, Toyota Production System, two-pizza team, web application, why are manhole covers round?

In a 2006 interview by Jim Gray, Amazon CTO Werner Vogels recalled another watershed moment: We went through a period of serious introspection and concluded that a service-oriented architecture would give us the level of isolation that would allow us to build many software components rapidly and independently. By the way, this was way before service-oriented was a buzzword. For us service orientation means encapsulating the data with the business logic that operates on the data, with the only access through a published service interface. No direct database access is allowed from outside the service, and there’s no data sharing among the services.3 That’s a lot to unpack for non–software engineers, but the basic idea is this: If multiple teams have direct access to a shared block of software code or some part of a database, they slow each other down.


pages: 331 words: 95,582

Golden Gates: Fighting for Housing in America by Conor Dougherty

Airbnb, bank run, basic income, Bay Area Rapid Transit, Bernie Sanders, Big Tech, big-box store, business logic, California gold rush, carbon footprint, commoditize, death of newspapers, desegregation, do-ocracy, don't be evil, Donald Trump, edge city, Edward Glaeser, El Camino Real, emotional labour, fixed income, fixed-gear, gentrification, Golden Gate Park, Google bus, Haight Ashbury, Home mortgage interest deduction, housing crisis, illegal immigration, income inequality, Joan Didion, Marc Andreessen, Marc Benioff, mass immigration, new economy, New Urbanism, passive income, Paul Buchheit, Peter Thiel, rent control, rent-seeking, Richard Florida, Ronald Reagan, Salesforce, San Francisco homelessness, self-driving car, sharing economy, side hustle, side project, Silicon Valley, single-payer health, software is eating the world, South of Market, San Francisco, The Rise and Fall of American Growth, universal basic income, urban planning, urban renewal, vertical integration, white flight, winner-take-all economy, working poor, Y Combinator, Yom Kippur War, young professional

Whatever rehabs they did were in the name of making things habitable and clean. They turned a profit by buying low and holding the line on costs. But as the foreclosure stock cleared and the demand for rentals grew, investors shifted from fire-sale bargains to buying “value-add” buildings where they could make money by renovating and significantly raising the rents. The business logic is thus: The higher average rents go, the easier it is to find someone to pay the area average. The easier it is to find someone to pay the average, the easier it is to make money by replacing tenants who pay less than average. Commercial real estate brokers describe older complexes as “primed for rent hikes” and will very clinically lay out how affordable buildings with easy-to-evict tenants promise the biggest returns.


pages: 362 words: 108,359

The Accidental Investment Banker: Inside the Decade That Transformed Wall Street by Jonathan A. Knee

AOL-Time Warner, barriers to entry, Bear Stearns, book value, Boycotts of Israel, business logic, call centre, cognitive dissonance, commoditize, corporate governance, Corrections Corporation of America, deal flow, discounted cash flows, fear of failure, fixed income, Glass-Steagall Act, greed is good, if you build it, they will come, iterative process, junk bonds, low interest rates, market bubble, market clearing, Mary Meeker, Menlo Park, Michael Milken, new economy, Ponzi scheme, pre–internet, proprietary trading, risk/return, Ronald Reagan, shareholder value, Silicon Valley, SoftBank, technology bubble, young professional, éminence grise

And, as Purcell liked to show in analyst presentations after the transaction closed in May 1997, the stock of the combined entity did actually outperform its peers through the boom. But the tongue-twisting moniker that emerged from the combination—Morgan Stanley Dean Witter Discover —was emblematic of how awkwardly the cultures of the two firms fit together. The business logic of the combination had been clear from the first time the two companies discussed the possibility—in 1993, the first year that Dean Witter Discover was spun off by Sears as an independent company. For Morgan Stanley, which had traded at a discount compared to its peers since its 1986 IPO because of its relatively volatile earnings, the deal promised both multiple expansion for its stock, and revenue enhancement from the new products that the retail distribution network would allow the investment bank to market more effectively.


pages: 370 words: 105,085

Joel on Software by Joel Spolsky

AltaVista, AOL-Time Warner, Apple Newton, barriers to entry, Beos Apple "Steve Jobs" next macos , business logic, c2.com, commoditize, Dennis Ritchie, General Magic , George Gilder, index card, Jeff Bezos, knowledge worker, machine readable, Metcalfe's law, Mitch Kapor, Multics, Network effects, new economy, off-by-one error, PageRank, PalmPilot, Paul Graham, pneumatic tube, profit motive, reality distortion field, Robert X Cringely, shareholder value, Silicon Valley, Silicon Valley startup, SimCity, six sigma, slashdot, Steve Ballmer, Steve Jobs, the scientific method, thinkpad, VA Linux, web application

We have another product in the works that we haven't talked about publicly; this one will share a large portion of its code base with FogBUGZ (a subset we are going to name "Dispatcho") so it will remain VBScript/ASP at heart until we port FogBUGZ. For FogBUGZ/Dispatcho/SecretNewProduct, the plan is: Wait until it's OK to require CLR. Port existing "business logic" classes to C#. Keep current web forms in ASP. Create new web forms in ASP.NET. forty-five PLEASE SIR MAY I HAVE A LINKER? If I were paranoid, I'd say that Microsoft doesn't really want to make development tools for systems or application developers who might compete with their core business; they really just want to make development tools for IT departments building custom vertical software where there's no potential business for Microsoft.


pages: 430 words: 109,064

13 Bankers: The Wall Street Takeover and the Next Financial Meltdown by Simon Johnson, James Kwak

Alan Greenspan, American ideology, Andrei Shleifer, Asian financial crisis, asset-backed security, bank run, banking crisis, Bear Stearns, Bernie Madoff, Black Monday: stock market crash in 1987, Bonfire of the Vanities, bonus culture, book value, break the buck, business cycle, business logic, buy and hold, capital controls, Carmen Reinhart, central bank independence, Charles Lindbergh, collapse of Lehman Brothers, collateralized debt obligation, commoditize, corporate governance, corporate raider, Credit Default Swap, credit default swaps / collateralized debt obligations, crony capitalism, currency risk, Edward Glaeser, Eugene Fama: efficient market hypothesis, financial deregulation, financial engineering, financial innovation, financial intermediation, financial repression, fixed income, George Akerlof, Glass-Steagall Act, Gordon Gekko, greed is good, Greenspan put, Home mortgage interest deduction, Hyman Minsky, income per capita, information asymmetry, interest rate derivative, interest rate swap, junk bonds, Kenneth Rogoff, laissez-faire capitalism, late fees, light touch regulation, Long Term Capital Management, low interest rates, market bubble, market fundamentalism, Martin Wolf, Michael Milken, money market fund, moral hazard, mortgage tax deduction, Myron Scholes, Paul Samuelson, Ponzi scheme, price stability, profit maximization, proprietary trading, race to the bottom, regulatory arbitrage, rent-seeking, Robert Bork, Robert Shiller, Ronald Reagan, Saturday Night Live, Satyajit Das, Savings and loan crisis, sovereign wealth fund, Tax Reform Act of 1986, The Myth of the Rational Market, too big to fail, transaction costs, Tyler Cowen, value at risk, yield curve

Large multinational corporations have large, global financing needs, but there are currently no banks that can supply those needs alone; instead, corporations rely on syndicates of banks for major offerings of equity or debt. For example, Johnson & Johnson used eleven banks to manage its most recent debt offering in 2008 (and thirteen banks for the offering before that, in 2007).67 And even if there were a bank large enough to meet all of a large corporation’s financial needs, it would defy business logic for that corporation to restrict itself to a single source of financial services, instead of selecting banks based on their expertise in particular markets or geographies. In addition, U.S. corporations already benefit from competition between U.S. and foreign banks, which can provide identical financial products; there is no reason to believe that the global competitiveness of our nonfinancial sector depends on our having the world’s largest banks.


pages: 459 words: 103,153

Adapt: Why Success Always Starts With Failure by Tim Harford

An Inconvenient Truth, Andrew Wiles, banking crisis, Basel III, behavioural economics, Berlin Wall, Bernie Madoff, Black Swan, Boeing 747, business logic, car-free, carbon footprint, carbon tax, Cass Sunstein, charter city, Clayton Christensen, clean water, cloud computing, cognitive dissonance, complexity theory, corporate governance, correlation does not imply causation, creative destruction, credit crunch, Credit Default Swap, crowdsourcing, cuban missile crisis, Daniel Kahneman / Amos Tversky, Dava Sobel, Deep Water Horizon, Deng Xiaoping, disruptive innovation, double entry bookkeeping, Edmond Halley, en.wikipedia.org, Erik Brynjolfsson, experimental subject, Fall of the Berlin Wall, Fermat's Last Theorem, financial engineering, Firefox, food miles, Gerolamo Cardano, global supply chain, Great Leap Forward, Herman Kahn, Intergovernmental Panel on Climate Change (IPCC), Isaac Newton, Jane Jacobs, Jarndyce and Jarndyce, Jarndyce and Jarndyce, John Harrison: Longitude, knowledge worker, loose coupling, Martin Wolf, mass immigration, Menlo Park, Mikhail Gorbachev, mutually assured destruction, Netflix Prize, New Urbanism, Nick Leeson, PageRank, Piper Alpha, profit motive, Richard Florida, Richard Thaler, rolodex, Shenzhen was a fishing village, Silicon Valley, Silicon Valley startup, South China Sea, SpaceShipOne, special economic zone, spectrum auction, Steve Jobs, supply-chain management, tacit knowledge, the market place, The Wisdom of Crowds, too big to fail, trade route, Tyler Cowen, Tyler Cowen: Great Stagnation, Virgin Galactic, web application, X Prize, zero-sum game

But fewer lessons seem to have been learned from a related accident: a meltdown in the financial markets which was triggered by Piper Alpha’s destruction. This was the ‘LMX spiral’, and it nearly destroyed the venerable insurance market Lloyd’s. Insurers often sign contracts in which one insurer agrees to cover another insurer’s extraordinary losses on a particular claim. These ‘reinsurance’ contracts have a sound business logic and a long history. Yet in the Lloyd’s market, where different insurance syndicates traded risk with each other, reinsurers had begun to insure the total losses of other insurers, rather than losses on a single claim. The subtle distinction proved important. The reinsurance contracts pulled losses from one syndicate to a second, then a third – and perhaps then from the third back to the first.


pages: 364 words: 104,697

Were You Born on the Wrong Continent? by Thomas Geoghegan

Alan Greenspan, Albert Einstein, American Society of Civil Engineers: Report Card, An Inconvenient Truth, banking crisis, Bear Stearns, Berlin Wall, Bob Geldof, business logic, collective bargaining, corporate governance, cross-subsidies, dark matter, David Brooks, declining real wages, deindustrialization, disinformation, Easter island, ending welfare as we know it, facts on the ground, Gini coefficient, Glass-Steagall Act, haute cuisine, high-speed rail, income inequality, John Maynard Keynes: Economic Possibilities for our Grandchildren, knowledge economy, knowledge worker, laissez-faire capitalism, low skilled workers, Martin Wolf, McJob, military-industrial complex, minimum wage unemployment, mittelstand, offshore financial centre, Paul Samuelson, payday loans, pensions crisis, plutocrats, Prenzlauer Berg, purchasing power parity, Ralph Waldo Emerson, Robert Gordon, Ronald Reagan: Tear down this wall, Saturday Night Live, Silicon Valley, The Theory of the Leisure Class by Thorstein Veblen, The Wealth of Nations by Adam Smith, Thorstein Veblen, union organizing, Wolfgang Streeck, women in the workforce

It’s stunning to me that people from the U.S. come over to look at German “education” and they never see all this adult education—unknown in the U.S.—going on all around them. And why is there even still a newspaper war in 2010? Well, of course it helps that German papers get nice tax breaks. But I’d say there’s a business logic to staying with the printed word, even if the big German dailies have been bleeding money. In a social democracy, collective decisions still matter to people. And if people need half an hour a day to stay up on what’s happening and not just three or four minutes to skim the news online, then it’s just more user-friendly to do it the old Gutenberg way.


Python Geospatial Development - Second Edition by Erik Westra

business logic, capital controls, database schema, Firefox, functional programming, Golden Gate Park, Google Earth, Mercator projection, natural language processing, openstreetmap, Silicon Valley, systems thinking, web application

These settings include a list of the applications you want to include in the project, which database to use, as well as various other project- and application-specific settings. As we saw in the previous chapter, a Django application has three main components: The model s define your application's data structures, the views contain your application's business logic, and the templates are used to control how information is presented to the user. These correspond to the data, application, and presentation tiers within a traditional web application stack. Let's take a closer look at each of these in turn. Models Because Django provides an object-relational mapper on top of the database, you don't have to deal with SQL directly.


pages: 361 words: 107,461

How I Built This: The Unexpected Paths to Success From the World's Most Inspiring Entrepreneurs by Guy Raz

Airbnb, AOL-Time Warner, Apple II, barriers to entry, Bear Stearns, Ben Horowitz, Big Tech, big-box store, Black Monday: stock market crash in 1987, Blitzscaling, business logic, call centre, Clayton Christensen, commoditize, Cornelius Vanderbilt, Credit Default Swap, crowdsourcing, data science, East Village, El Camino Real, Elon Musk, fear of failure, glass ceiling, growth hacking, housing crisis, imposter syndrome, inventory management, It's morning again in America, iterative process, James Dyson, Jeff Bezos, Justin.tv, Kickstarter, low cost airline, Lyft, Marc Andreessen, Mark Zuckerberg, move fast and break things, Nate Silver, Paul Graham, Peter Thiel, pets.com, power law, rolodex, Ronald Reagan, Ruby on Rails, Salesforce, Sam Altman, Sand Hill Road, side hustle, Silicon Valley, software as a service, South of Market, San Francisco, Steve Jobs, Steve Wozniak, subprime mortgage crisis, TED Talk, The Signal and the Noise by Nate Silver, Tony Hsieh, Uber for X, uber lyft, Y Combinator, Zipcar

While Yvon, an avid outdoorsman and bona fide free spirit, has always considered himself a reluctant businessman (it’s in the sub­title of his book), decisions like these were not acts of pure charity. Patagonia’s policy of hiring nannies to go on business trips with employees who are new parents and don’t want to be away from their young children is as much about the importance of family as it is about the value of employee productivity. Policies like this one have a deep business logic, grounded in Yvon’s desire to build a company that will last. “I have probably 70 percent women working for me. I have more women than men in all upper management, and I don’t want to lose them,” he said. “If we are going to be here 100 years, it’s good business.” What makes these policies good business is not simply that they are kind and human gestures, though both things are true.


pages: 461 words: 106,027

Zero to Sold: How to Start, Run, and Sell a Bootstrapped Business by Arvid Kahl

business logic, business process, centre right, Chuck Templeton: OpenTable:, cognitive load, content marketing, continuous integration, coronavirus, COVID-19, crowdsourcing, domain-specific language, financial independence, functional programming, Google Chrome, hockey-stick growth, if you build it, they will come, information asymmetry, information retrieval, inventory management, Jeff Bezos, job automation, Kanban, Kubernetes, machine readable, minimum viable product, Network effects, performance metric, post-work, premature optimization, risk tolerance, Ruby on Rails, sentiment analysis, side hustle, Silicon Valley, single source of truth, software as a service, solopreneur, source of truth, statistical model, subscription business, sunk-cost fallacy, supply-chain management, the long tail, trickle-down economics, value engineering, web application

Anyone doing that after teaching for 10 hours non-stop would be mentally exhausted. Find the critical problem where solving a problem takes a long time every time the problem occurs. A Critical Problem Forces People to Solve It Using Their Own System There is the joke that every SaaS is an Excel sheet transformed into business logic. The moment someone uses generic tools like word processors or spreadsheets to solve a problem, it’s an indicator that the problem is valuable enough to build tools. Most problems don’t have high complexity, and they can be solved on the spot. But a critical issue will be complicated enough to start developing a system.


pages: 1,066 words: 273,703

Crashed: How a Decade of Financial Crises Changed the World by Adam Tooze

"there is no alternative" (TINA), "World Economic Forum" Davos, Affordable Care Act / Obamacare, Alan Greenspan, Apple's 1984 Super Bowl advert, Asian financial crisis, asset-backed security, bank run, banking crisis, Basel III, Bear Stearns, Berlin Wall, Bernie Sanders, Big bang: deregulation of the City of London, bond market vigilante , book value, Boris Johnson, bread and circuses, break the buck, Bretton Woods, Brexit referendum, BRICs, British Empire, business cycle, business logic, capital controls, Capital in the Twenty-First Century by Thomas Piketty, Carmen Reinhart, Celtic Tiger, central bank independence, centre right, collateralized debt obligation, company town, corporate governance, credit crunch, Credit Default Swap, credit default swaps / collateralized debt obligations, currency manipulation / currency intervention, currency peg, currency risk, dark matter, deindustrialization, desegregation, Detroit bankruptcy, Dissolution of the Soviet Union, diversification, Doha Development Round, Donald Trump, Edward Glaeser, Edward Snowden, en.wikipedia.org, energy security, eurozone crisis, Fall of the Berlin Wall, family office, financial engineering, financial intermediation, fixed income, Flash crash, forward guidance, friendly fire, full employment, global reserve currency, global supply chain, global value chain, Goldman Sachs: Vampire Squid, Growth in a Time of Debt, high-speed rail, housing crisis, Hyman Minsky, illegal immigration, immigration reform, income inequality, interest rate derivative, interest rate swap, inverted yield curve, junk bonds, Kenneth Rogoff, large denomination, light touch regulation, Long Term Capital Management, low interest rates, margin call, Martin Wolf, McMansion, Mexican peso crisis / tequila crisis, military-industrial complex, mittelstand, money market fund, moral hazard, mortgage debt, mutually assured destruction, negative equity, new economy, Nixon triggered the end of the Bretton Woods system, Northern Rock, obamacare, Occupy movement, offshore financial centre, oil shale / tar sands, old-boy network, open economy, opioid epidemic / opioid crisis, paradox of thrift, Peter Thiel, Ponzi scheme, Post-Keynesian economics, post-truth, predatory finance, price stability, private sector deleveraging, proprietary trading, purchasing power parity, quantitative easing, race to the bottom, reserve currency, risk tolerance, Ronald Reagan, Savings and loan crisis, savings glut, secular stagnation, Silicon Valley, South China Sea, sovereign wealth fund, special drawing rights, Steve Bannon, structural adjustment programs, tail risk, The Great Moderation, Tim Cook: Apple, too big to fail, trade liberalization, upwardly mobile, Washington Consensus, We are the 99%, white flight, WikiLeaks, women in the workforce, Works Progress Administration, yield curve, éminence grise

Hobza and S. Zeugner, “The ‘Imbalanced Balance’ and Its Unravelling: Current Accounts and Bilateral Financial Flows in the Euro Area,” European Commission Economic Papers 520 (2014): table A.2. The flow of funds around Europe, as around the global economy, was driven not by trade flows but by the business logic of bankers, who sought out the cheapest funding and the best returns. The upward spiral of asset prices and balance sheets that drove the US boom was even more pronounced in Europe. Between 2001 and 2006, Greece, Finland, Sweden, Belgium, Denmark, the UK, France, Ireland and Spain all experienced real estate booms more severe than those that energized the United States.

They were all in it together. “I don’t really understand why this needs to be confrontational,” he said soothingly.102 The bankers stared at him in disbelief. The core of American financial capitalism was about to be partially nationalized. Beyond the general sense of shock, the reactions came down to business logic. For the weakest in the group it was evidently a great deal, and Vikram Pandit of Citigroup said so. Given the state of his balance sheet, he couldn’t afford to be fussy. As he blurted out: “This is cheap capital.” Indeed, it was. The yield on Citigroup bonds that day was 22 percent. Paulson was asking for 5 percent.103 A better-placed bank, like J.P.


pages: 541 words: 109,698

Mining the Social Web: Finding Needles in the Social Haystack by Matthew A. Russell

Andy Rubin, business logic, Climategate, cloud computing, crowdsourcing, data science, en.wikipedia.org, fault tolerance, Firefox, folksonomy, full text search, Georg Cantor, Google Earth, information retrieval, machine readable, Mark Zuckerberg, natural language processing, NP-complete, power law, Saturday Night Live, semantic web, Silicon Valley, slashdot, social graph, social web, sparse data, statistical model, Steve Jobs, supply-chain management, text mining, traveling salesman, Turing test, web application

Workaround. missing_tweets = [] for (doc_id, in_reply_to_id) in conversation: try: print [rt for rt in reply_tweets if rt['id'] == in_reply_to_id][0]['text'] except Exception, e: print >> sys.stderr, 'Refetching <<tweet %s>>' % (in_reply_to_id, ) results = makeTwitterRequest(t, t.statuses.show, id=in_reply_to_id) print results['text'] # These tweets are already on hand print db.get(doc_id)['text'] print A lot of this code should look familiar by now. With the ability to authenticate into Twitter’s API, store and retrieve data locally, and fetch remote data from Twitter, a lot can be done with a minimal amount of “business logic.” Abbreviated sample output from this script, presented in Example 5-10, follows and shows the flow of discussion between @timoreilly and @n2vip. Example 5-10. Sample output from Example 5-9 Question: If all Ins. Co. suddenly became non-profit and approved ALL Dr. ... @n2vip Don't know anyone who is advocating that.


pages: 470 words: 109,589

Apache Solr 3 Enterprise Search Server by Unknown

bioinformatics, business logic, continuous integration, database schema, en.wikipedia.org, fault tolerance, Firefox, full text search, functional programming, information retrieval, natural language processing, performance metric, platform as a service, Ruby on Rails, SQL injection, Wayback Machine, web application

The other interesting data point is that in this benchmark, running multiple threads did not offer appreciable greater performance over a single process. This is because the processing logic in threaded_test.rb for building the XML documents was so slight on the client side that having multiple threads didn't help. However, if your indexing script is doing more complex business logic, such as multiple SQL calls (often an issue with the DIH), extracting text from rich documents, or calling external services for operations like entity extraction, in order to build the correct document to be submitted to Solr then using a multi threaded process, or multiple separate processes, will increase index throughput.


pages: 386 words: 116,233

The Millionaire Fastlane: Crack the Code to Wealth and Live Rich for a Lifetime by Mj Demarco

8-hour work day, Albert Einstein, AltaVista, back-to-the-land, Bernie Madoff, bounce rate, business logic, business process, butterfly effect, buy and hold, cloud computing, commoditize, dark matter, delayed gratification, demand response, do what you love, Donald Trump, drop ship, fear of failure, financial engineering, financial independence, fixed income, housing crisis, Jeff Bezos, job-hopping, Lao Tzu, Larry Ellison, low interest rates, Mark Zuckerberg, multilevel marketing, passive income, passive investing, payday loans, planned obsolescence, Ponzi scheme, price anchoring, Ronald Reagan, subscription business, upwardly mobile, wealth creators, white picket fence, World Values Survey, zero day

They flushed money down the toilet as if there were an endless supply. Do we really need custom-branded water bottles? And logo T-shirts? Are these revenue generating actions? Decisions were made slowly and by committee. Customers were ignored. Incredulously, most of the company's executive management had Harvard MBAs, proof that the business logic doesn't come with expensive initials after your name. Despite having $12 million in venture capital to buoy the storm, my Web site slowly started to die. A few months later, near the cliff of bankruptcy, it was voted that my Web site would be dissolved, even though it was still profitable. Tech buyers dried up and stocks were in the tank.


pages: 421 words: 110,406

Platform Revolution: How Networked Markets Are Transforming the Economy--And How to Make Them Work for You by Sangeet Paul Choudary, Marshall W. van Alstyne, Geoffrey G. Parker

3D printing, Affordable Care Act / Obamacare, Airbnb, Alvin Roth, Amazon Mechanical Turk, Amazon Web Services, Andrei Shleifer, Apple's 1984 Super Bowl advert, autonomous vehicles, barriers to entry, Benchmark Capital, big data - Walmart - Pop Tarts, bitcoin, blockchain, business cycle, business logic, business process, buy low sell high, chief data officer, Chuck Templeton: OpenTable:, clean water, cloud computing, connected car, corporate governance, crowdsourcing, data acquisition, data is the new oil, data science, digital map, discounted cash flows, disintermediation, driverless car, Edward Glaeser, Elon Musk, en.wikipedia.org, Erik Brynjolfsson, financial innovation, Free Software Foundation, gigafactory, growth hacking, Haber-Bosch Process, High speed trading, independent contractor, information asymmetry, Internet of things, inventory management, invisible hand, Jean Tirole, Jeff Bezos, jimmy wales, John Markoff, Kevin Roose, Khan Academy, Kickstarter, Lean Startup, Lyft, Marc Andreessen, market design, Max Levchin, Metcalfe’s law, multi-sided market, Network effects, new economy, PalmPilot, payday loans, peer-to-peer lending, Peter Thiel, pets.com, pre–internet, price mechanism, recommendation engine, RFID, Richard Stallman, ride hailing / ride sharing, Robert Metcalfe, Ronald Coase, Salesforce, Satoshi Nakamoto, search costs, self-driving car, shareholder value, sharing economy, side project, Silicon Valley, Skype, smart contracts, smart grid, Snapchat, social bookmarking, social contagion, software is eating the world, Steve Jobs, TaskRabbit, The Chicago School, the long tail, the payments system, Tim Cook: Apple, transaction costs, Travis Kalanick, two-sided market, Uber and Lyft, Uber for X, uber lyft, vertical integration, winner-take-all economy, zero-sum game, Zipcar

Thiel and Levchin (along with a third partner, John Bernard Powers, who soon departed) launched Confinity, a startup aimed at enabling money transfers on Palm Pilots and other personal digital assistants (PDAs) equipped with infrared ports. At the time, the Palm Pilot was an exceptionally popular mobile device whose adoption rate was expected to grow, and launching a payment system on a mobile device that people carried with them everywhere made sense. The business logic behind Confinity seemed indisputable. The notion of a payment mechanism that could potentially liberate millions of people from reliance on government-sponsored currency also appealed to the idealistic Thiel’s libertarian streak, much as another ambitious online payment platform—Bitcoin—would fire the imagination of libertarians a decade later.


pages: 514 words: 111,012

The Art of Monitoring by James Turnbull

Amazon Web Services, anti-pattern, business logic, cloud computing, continuous integration, correlation does not imply causation, Debian, DevOps, domain-specific language, failed state, functional programming, Kickstarter, Kubernetes, microservices, performance metric, pull request, Ruby on Rails, single source of truth, software as a service, source of truth, web application, WebSocket

We've also started to collect events and metrics to process and visualize. In the last three chapters we've gathered basic host metrics using collectd and set up the collection of logs from our hosts. In this chapter we're going to extend our monitoring and collection to applications. Application and business logic monitoring We're going to focus on three approaches to monitoring applications: Emitting metrics by instrumenting code. Generating structured or semantic log events. Building health checks and endpoints. We'll look at how to embed these methods in your applications and use the resulting measurements and metrics to analyze the performance of your applications.


pages: 350 words: 114,454

Docker: Up & Running: Shipping Reliable Containers in Production by Sean P. Kane, Karl Matthias

Airbnb, Amazon Web Services, business logic, business process, cloud computing, Colossal Cave Adventure, continuous integration, Debian, DevOps, don't repeat yourself, false flag, interchangeable parts, Kubernetes, loose coupling, Lyft, microservices, revision control, software as a service, source of truth, web application

Simple Docker Swarm Mode cluster The next thing you should do is create a default network for your services to use. Again, it’s pretty simple to do that: $ docker -H 172.17.4.1 network create --driver=overlay default-net ckwh5ph4ksthvx6843ytrl5ik Up to this point, we’ve just been getting the underlying pieces running, and so far we haven’t deployed any real business logic. So let’s launch your first service into the clus‐ ter. You can do that with a command like this: $ docker -H 172.17.4.1 service create --detach=true --name quantum \ --replicas 2 --publish published=80,target=8080 --network default-net \ spkane/quantum-game:latest tiwtsbf270mh83032kuhwv07c The service we’re launching with starts containers that host the Quantum web game.


pages: 385 words: 112,842

Arriving Today: From Factory to Front Door -- Why Everything Has Changed About How and What We Buy by Christopher Mims

air freight, Airbnb, Amazon Robotics, Amazon Web Services, Apollo 11, augmented reality, autonomous vehicles, big-box store, blue-collar work, Boeing 747, book scanning, business logic, business process, call centre, cloud computing, company town, coronavirus, cotton gin, COVID-19, creative destruction, data science, Dava Sobel, deep learning, dematerialisation, deskilling, digital twin, Donald Trump, easy for humans, difficult for computers, electronic logging device, Elon Musk, Frederick Winslow Taylor, fulfillment center, gentrification, gig economy, global pandemic, global supply chain, guest worker program, Hans Moravec, heat death of the universe, hive mind, Hyperloop, immigration reform, income inequality, independent contractor, industrial robot, interchangeable parts, intermodal, inventory management, Jacquard loom, Jeff Bezos, Jessica Bruder, job automation, John Maynard Keynes: Economic Possibilities for our Grandchildren, Joseph Schumpeter, Kaizen: continuous improvement, Kanban, Kiva Systems, level 1 cache, Lewis Mumford, lockdown, lone genius, Lyft, machine readable, Malacca Straits, Mark Zuckerberg, market bubble, minimum wage unemployment, Nomadland, Ocado, operation paperclip, Panamax, Pearl River Delta, planetary scale, pneumatic tube, polynesian navigation, post-Panamax, random stow, ride hailing / ride sharing, robot derives from the Czech word robota Czech, meaning slave, Rodney Brooks, rubber-tired gantry crane, scientific management, self-driving car, sensor fusion, Shenzhen special economic zone , Shoshana Zuboff, Silicon Valley, six sigma, skunkworks, social distancing, South China Sea, special economic zone, spinning jenny, standardized shipping container, Steve Jobs, supply-chain management, surveillance capitalism, TED Talk, the scientific method, Tim Cook: Apple, Toyota Production System, traveling salesman, Turing test, two-sided market, Uber and Lyft, Uber for X, uber lyft, Upton Sinclair, vertical integration, warehouse automation, warehouse robotics, workplace surveillance

A representative for the company continued: “Unfortunately, statistically at this scale, traffic incidents have occurred and will occur again, but these are exceptions, and we will not be satisfied until we achieve zero incidents across our delivery operations.” Subsequent reporting by a variety of news outlets, including Vice, the New York Times, and NBC News, found that whatever Amazon’s protestations about its commitment to safety, the fundamental business logic pushing drivers up to and beyond their limits was in full effect both before and especially during the strained times of the pandemic. As of late 2020, drivers reported they still felt enormous pressure to finish all their deliveries before the end of their shifts, whatever it took. * * * UPS has more than 123,000 vehicles worldwide, and it is inevitable that, every year, some are involved in fatal accidents.


pages: 464 words: 121,983

Disaster Capitalism: Making a Killing Out of Catastrophe by Antony Loewenstein

"World Economic Forum" Davos, activist fund / activist shareholder / activist investor, Affordable Care Act / Obamacare, American Legislative Exchange Council, anti-communist, Asian financial crisis, benefit corporation, British Empire, business logic, Capital in the Twenty-First Century by Thomas Piketty, Chelsea Manning, clean water, collective bargaining, colonial rule, corporate social responsibility, Corrections Corporation of America, do well by doing good, Edward Snowden, facts on the ground, failed state, falling living standards, Ferguson, Missouri, financial independence, full employment, G4S, Goldman Sachs: Vampire Squid, housing crisis, illegal immigration, immigration reform, income inequality, Julian Assange, Kickstarter, Leo Hollis, mandatory minimum, market fundamentalism, mass incarceration, Naomi Klein, neoliberal agenda, obamacare, Occupy movement, offshore financial centre, open borders, private military company, profit motive, Ralph Nader, Ronald Reagan, Russell Brand, Satyajit Das, Scramble for Africa, Slavoj Žižek, stem cell, the medium is the message, trade liberalization, vertical integration, WikiLeaks, work culture

The federal business is the best business for us. It’s the most consistent business for us and the events of September 11 are increasing that level of business.”11 Little has changed since, except that more people are in detention. Prisons for criminals and facilities for immigrants were separate, and yet the business logic behind them was the same. Ironically, despite the rhetoric of privatization advocates praising the wonders of the market, firms like CCA and Geo Group are leeching off government contracts.12 In 2014, CCA was caught falsifying staff hours to boost its profits in Idaho. The company escaped with a minor fine.13 It remains the country’s largest private prison contractor.


pages: 351 words: 123,876

Beautiful Testing: Leading Professionals Reveal How They Improve Software (Theory in Practice) by Adam Goucher, Tim Riley

Albert Einstein, barriers to entry, Black Swan, business logic, call centre, continuous integration, Debian, Donald Knuth, en.wikipedia.org, Firefox, Grace Hopper, index card, Isaac Newton, natural language processing, off-by-one error, p-value, performance metric, revision control, six sigma, software as a service, software patent, SQL injection, the scientific method, Therac-25, Valgrind, web application

We knew our best return on investment (ROI) would be from automating tests at the unit level. We were keen to do the bulk of our functional test automation “behind” the GUI, and had chosen FitNesse as the tool to accomplish this. FIGURE 15-3. Test automation pyramid Our immediate problem was a huge, buggy legacy system where the presentation, business logic, and database layers were intertwined. The fastest way to get some automated regression test coverage was through the GUI. But GUI tests are notoriously brittle and hard to maintain. We had to find good tools to help us achieve a reasonable ROI. Choosing Tools by Team Consensus Since our entire development team takes responsibility for quality and for making sure all testing activities are successfully completed for each release, we choose tools as a team.


pages: 480 words: 122,663

The Art of SQL by Stephane Faroult, Peter Robson

business intelligence, business logic, business process, constrained optimization, continuation of politics by other means, database schema, full text search, invisible hand, it's over 9,000, leftpad, SQL injection, technological determinism

Further, do not forget that if your purpose is to update or insert rows (a frequent case when rows are counted first to check whether the key already exists), some database systems provide dedicated statements (for instance, Oracle 9i Database's MERGE statement) that operate far more efficiently than you can ever achieve by executing redundant counts. Important There is no need to code explicitly what the database performs implicitly. SQL Statements Mirror Business Logic Most database systems provide monitoring facilities that allow you to check statements currently being executed , as well as to monitor how many times they are executed. At the same time, you should have an idea of how many "business units" are being processed—activities such as orders or claims to be processed, customers to be billed, or anything else that makes sense to the business managers.


pages: 385 words: 123,168

Bullshit Jobs: A Theory by David Graeber

1960s counterculture, active measures, antiwork, basic income, Berlin Wall, Bernie Sanders, Bertrand Russell: In Praise of Idleness, Black Lives Matter, Bretton Woods, Buckminster Fuller, business logic, call centre, classic study, cognitive dissonance, collateralized debt obligation, data science, David Graeber, do what you love, Donald Trump, emotional labour, equal pay for equal work, full employment, functional programming, global supply chain, High speed trading, hiring and firing, imposter syndrome, independent contractor, informal economy, Jarndyce and Jarndyce, Jarndyce and Jarndyce, job automation, John Maynard Keynes: technological unemployment, knowledge worker, moral panic, Post-Keynesian economics, post-work, precariat, Rutger Bregman, scientific management, Silicon Valley, Silicon Valley startup, single-payer health, software as a service, telemarketer, The Future of Employment, Thorstein Veblen, too big to fail, Travis Kalanick, universal basic income, unpaid internship, wage slave, wages for housework, women in the workforce, working poor, Works Progress Administration, young professional, éminence grise

There have always been smart students or graduates willing to pick up a little cash writing term papers for lazy classmates, but in America in recent decades, this has coalesced into an entire industry, coordinated on a national level, employing thousands of full-time paper writers. One of them suggested to me that the industry was the predictable result of the convergence of credentialism—the fact that one now needed a degree of some kind to gain access to almost all desirable jobs in America—and business logic. Barry: When I first started this work, I imagined I would be constantly learning fascinating, new information about a broad array of subjects. While I have had the opportunity to write the rare, interesting essay on queer theory or the history of Roman blood sport, I’ve found that I’m largely writing countless papers about business and marketing.


pages: 320 words: 87,853

The Black Box Society: The Secret Algorithms That Control Money and Information by Frank Pasquale

Adam Curtis, Affordable Care Act / Obamacare, Alan Greenspan, algorithmic trading, Amazon Mechanical Turk, American Legislative Exchange Council, asset-backed security, Atul Gawande, bank run, barriers to entry, basic income, Bear Stearns, Berlin Wall, Bernie Madoff, Black Swan, bonus culture, Brian Krebs, business cycle, business logic, call centre, Capital in the Twenty-First Century by Thomas Piketty, Chelsea Manning, Chuck Templeton: OpenTable:, cloud computing, collateralized debt obligation, computerized markets, corporate governance, Credit Default Swap, credit default swaps / collateralized debt obligations, crowdsourcing, cryptocurrency, data science, Debian, digital rights, don't be evil, drone strike, Edward Snowden, en.wikipedia.org, Evgeny Morozov, Fall of the Berlin Wall, Filter Bubble, financial engineering, financial innovation, financial thriller, fixed income, Flash crash, folksonomy, full employment, Gabriella Coleman, Goldman Sachs: Vampire Squid, Google Earth, Hernando de Soto, High speed trading, hiring and firing, housing crisis, Ian Bogost, informal economy, information asymmetry, information retrieval, information security, interest rate swap, Internet of things, invisible hand, Jaron Lanier, Jeff Bezos, job automation, John Bogle, Julian Assange, Kevin Kelly, Kevin Roose, knowledge worker, Kodak vs Instagram, kremlinology, late fees, London Interbank Offered Rate, London Whale, machine readable, Marc Andreessen, Mark Zuckerberg, Michael Milken, mobile money, moral hazard, new economy, Nicholas Carr, offshore financial centre, PageRank, pattern recognition, Philip Mirowski, precariat, profit maximization, profit motive, public intellectual, quantitative easing, race to the bottom, reality distortion field, recommendation engine, regulatory arbitrage, risk-adjusted returns, Satyajit Das, Savings and loan crisis, search engine result page, shareholder value, Silicon Valley, Snapchat, social intelligence, Spread Networks laid a new fibre optics cable between New York and Chicago, statistical arbitrage, statistical model, Steven Levy, technological solutionism, the scientific method, too big to fail, transaction costs, two-sided market, universal basic income, Upton Sinclair, value at risk, vertical integration, WikiLeaks, Yochai Benkler, zero-sum game

Facebook hires people to assess the appropriateness of user-shared content; it’s no great burden upon the social networking behemoth to ask its human reviewers to stop algorithmic recommendations of obviously racist stories.25 Google runs proposed algorithmic changes by human testers, who not only choose the web pages that work best, but explain why. Such interventions are already an essential part of the business logic of these companies; they can equally be part of their response to legal norms and obligations.26 And when the technology really does outstrip policymakers’ understanding, they can hire experts to bridge the gap. A government attorney has already hired Silicon Valley’s Palantir to go after Wall Street crooks; it’s time for more law enforcers to follow his lead.27 Scale Fails: In Wall Street valuations, attaining scale at great speed is critical to attracting speculative capital.


Text Analytics With Python: A Practical Real-World Approach to Gaining Actionable Insights From Your Data by Dipanjan Sarkar

bioinformatics, business intelligence, business logic, computer vision, continuous integration, data science, deep learning, Dr. Strangelove, en.wikipedia.org, functional programming, general-purpose programming language, Guido van Rossum, information retrieval, Internet of things, invention of the printing press, iterative process, language acquisition, machine readable, machine translation, natural language processing, out of africa, performance metric, premature optimization, recommendation engine, self-driving car, semantic web, sentiment analysis, speech recognition, statistical model, text mining, Turing test, web application

This completes the list for Python’s core data types and data structures that you will be using most of the time in your code and implementations. We will now discuss some constructs typically used for controlling the flow of code. Controlling Code Flow Flow of code is extremely important. A lot of it is based on business logic and rules. It also depends on the type of implementation decisions developers take when building systems and applications. Python provides several control flow tools and utilities that can be used to control the flow of your code. Here are the most popular ones: if-elif-else conditionals for loop while loop break, continue, and else in loops try-except These constructs will help you understand several concepts including conditional code flow, looping, and handling exceptions.


User Friendly by Cliff Kuang, Robert Fabricant

A Pattern Language, Abraham Maslow, Airbnb, anti-communist, Any sufficiently advanced technology is indistinguishable from magic, Apple II, augmented reality, autonomous vehicles, behavioural economics, Bill Atkinson, Brexit referendum, Buckminster Fuller, Burning Man, business logic, call centre, Cambridge Analytica, Chuck Templeton: OpenTable:, cognitive load, computer age, Daniel Kahneman / Amos Tversky, dark pattern, data science, Donald Trump, Douglas Engelbart, Douglas Engelbart, driverless car, Elaine Herzberg, en.wikipedia.org, fake it until you make it, fake news, Ford Model T, Frederick Winslow Taylor, frictionless, Google Glasses, Internet of things, invisible hand, James Dyson, John Markoff, Jony Ive, knowledge economy, Kodak vs Instagram, Lyft, M-Pesa, Mark Zuckerberg, mobile money, Mother of all demos, move fast and break things, Norbert Wiener, Paradox of Choice, planned obsolescence, QWERTY keyboard, randomized controlled trial, replication crisis, RFID, scientific management, self-driving car, seminal paper, Silicon Valley, skeuomorphism, Skinner box, Skype, smart cities, Snapchat, speech recognition, Steve Jobs, Steve Wozniak, tacit knowledge, Tesla Model S, three-martini lunch, Tony Fadell, Uber and Lyft, Uber for X, uber lyft, Vannevar Bush, women in the workforce

Yet the surprising thing revealed at Disney World was that when we see the same ease applied not just on our phones but in the environment around us, we usually shrug and dig into our roast beef sandwiches. This is the reason the MagicBands might have been worth $1 billion to Disney. Using them, the company had managed to recast its cold business logic—the chance to turn over tables quicker by eliminating many aspects of waiter service—into something a vacationing family of three had actually described as magic. Somehow, Disney World had turned a high-tech surveillance operation into a delight. When the MagicBands were being designed, that alchemy seemed to afford endless possibilities.


pages: 515 words: 126,820

Blockchain Revolution: How the Technology Behind Bitcoin Is Changing Money, Business, and the World by Don Tapscott, Alex Tapscott

"World Economic Forum" Davos, Airbnb, altcoin, Alvin Toffler, asset-backed security, autonomous vehicles, barriers to entry, behavioural economics, bitcoin, Bitcoin Ponzi scheme, blockchain, Blythe Masters, Bretton Woods, business logic, business process, buy and hold, Capital in the Twenty-First Century by Thomas Piketty, carbon credits, carbon footprint, clean water, cloud computing, cognitive dissonance, commoditize, commons-based peer production, corporate governance, corporate social responsibility, creative destruction, Credit Default Swap, crowdsourcing, cryptocurrency, currency risk, decentralized internet, digital capitalism, disintermediation, disruptive innovation, distributed ledger, do well by doing good, Donald Trump, double entry bookkeeping, driverless car, Edward Snowden, Elon Musk, Erik Brynjolfsson, Ethereum, ethereum blockchain, failed state, fiat currency, financial innovation, Firefox, first square of the chessboard, first square of the chessboard / second half of the chessboard, future of work, Future Shock, Galaxy Zoo, general purpose technology, George Gilder, glass ceiling, Google bus, GPS: selective availability, Hacker News, Hernando de Soto, Higgs boson, holacracy, income inequality, independent contractor, informal economy, information asymmetry, information security, intangible asset, interest rate swap, Internet of things, Jeff Bezos, jimmy wales, Kickstarter, knowledge worker, Kodak vs Instagram, Lean Startup, litecoin, Lyft, M-Pesa, Marc Andreessen, Mark Zuckerberg, Marshall McLuhan, means of production, microcredit, mobile money, money market fund, Neal Stephenson, Network effects, new economy, Oculus Rift, off grid, pattern recognition, peer-to-peer, peer-to-peer lending, peer-to-peer model, performance metric, Peter Thiel, planetary scale, Ponzi scheme, prediction markets, price mechanism, Productivity paradox, QR code, quantitative easing, radical decentralization, ransomware, Ray Kurzweil, renewable energy credits, rent-seeking, ride hailing / ride sharing, Ronald Coase, Ronald Reagan, Salesforce, Satoshi Nakamoto, search costs, Second Machine Age, seigniorage, self-driving car, sharing economy, Silicon Valley, Skype, smart contracts, smart grid, Snow Crash, social graph, social intelligence, social software, standardized shipping container, Stephen Hawking, Steve Jobs, Steve Wozniak, Stewart Brand, supply-chain management, systems thinking, TaskRabbit, TED Talk, The Fortune at the Bottom of the Pyramid, The Nature of the Firm, The Soul of a New Machine, The Wisdom of Crowds, transaction costs, Turing complete, Turing test, Tyler Cowen, Uber and Lyft, uber lyft, unbanked and underbanked, underbanked, unorthodox policies, vertical integration, Vitalik Buterin, wealth creators, X Prize, Y2K, Yochai Benkler, Zipcar

Congress had a lower score.14 In the preblockchain world, trust in transactions derived from individuals, intermediaries, or other organizations acting with integrity. Because we often can’t know our counterparties, let alone whether they have integrity, we’ve come to rely on third parties not only to vouch for strangers, but also to maintain transaction records and perform the business logic and transaction logic that powers commerce online. These powerful intermediaries—banks, governments, PayPal, Visa, Uber, Apple, Google, and other digital conglomerates—harvest much of the value. In the emerging blockchain world, trust derives from the network and even from objects on the network.


pages: 457 words: 143,967

The Bank That Lived a Little: Barclays in the Age of the Very Free Market by Philip Augar

"Friedman doctrine" OR "shareholder theory", activist fund / activist shareholder / activist investor, Alan Greenspan, Asian financial crisis, asset-backed security, bank run, banking crisis, Bear Stearns, Big bang: deregulation of the City of London, Black Monday: stock market crash in 1987, Bonfire of the Vanities, bonus culture, book value, break the buck, business logic, call centre, collateralized debt obligation, corporate governance, credit crunch, Credit Default Swap, credit default swaps / collateralized debt obligations, family office, financial deregulation, financial innovation, fixed income, foreign exchange controls, Glass-Steagall Act, high net worth, hiring and firing, index card, index fund, interest rate derivative, light touch regulation, loadsamoney, Long Term Capital Management, long term incentive plan, low interest rates, Martin Wolf, money market fund, moral hazard, Nick Leeson, Northern Rock, offshore financial centre, old-boy network, out of africa, prediction markets, proprietary trading, quantitative easing, risk free rate, Ronald Reagan, shareholder value, short selling, Sloane Ranger, Social Responsibility of Business Is to Increase Its Profits, sovereign wealth fund, too big to fail, vertical integration, wikimedia commons, yield curve

He told him that he had been given authority by the board to go further but that Barclays would not buy Lehman’s book of mortgages or real estate assets and would require the US authorities to provide Barclays with sufficient liquidity to meet Lehman’s trading obligations. Sants understood the business logic but reminded Varley that Barclays would need to demonstrate that it had sufficient capital and liquidity to satisfy the FSA stress tests after any acquisition.21 In fact the FSA was one of three public bodies keeping an eye on Barclays. During the afternoon Sants liaised with Tom Scholar, director general of financial services at the Treasury, and Sir John Gieve, one of the deputy governors at the Bank of England.


pages: 349 words: 134,041

Traders, Guns & Money: Knowns and Unknowns in the Dazzling World of Derivatives by Satyajit Das

accounting loophole / creative accounting, Alan Greenspan, Albert Einstein, Asian financial crisis, asset-backed security, Bear Stearns, beat the dealer, Black Swan, Black-Scholes formula, Bretton Woods, BRICs, Brownian motion, business logic, business process, buy and hold, buy low sell high, call centre, capital asset pricing model, collateralized debt obligation, commoditize, complexity theory, computerized trading, corporate governance, corporate raider, Credit Default Swap, credit default swaps / collateralized debt obligations, cuban missile crisis, currency peg, currency risk, disinformation, disintermediation, diversification, diversified portfolio, Edward Thorp, Eugene Fama: efficient market hypothesis, Everything should be made as simple as possible, financial engineering, financial innovation, fixed income, Glass-Steagall Act, Haight Ashbury, high net worth, implied volatility, index arbitrage, index card, index fund, interest rate derivative, interest rate swap, Isaac Newton, job satisfaction, John Bogle, John Meriwether, junk bonds, locking in a profit, Long Term Capital Management, low interest rates, mandelbrot fractal, margin call, market bubble, Marshall McLuhan, mass affluent, mega-rich, merger arbitrage, Mexican peso crisis / tequila crisis, money market fund, moral hazard, mutually assured destruction, Myron Scholes, new economy, New Journalism, Nick Leeson, Nixon triggered the end of the Bretton Woods system, offshore financial centre, oil shock, Parkinson's law, placebo effect, Ponzi scheme, proprietary trading, purchasing power parity, quantitative trading / quantitative finance, random walk, regulatory arbitrage, Right to Buy, risk free rate, risk-adjusted returns, risk/return, Salesforce, Satyajit Das, shareholder value, short selling, short squeeze, South Sea Bubble, statistical model, technology bubble, the medium is the message, the new new thing, time value of money, too big to fail, transaction costs, value at risk, Vanguard fund, volatility smile, yield curve, Yogi Berra, zero-coupon bond

Some banks, including many Japanese banks, were late entrants into the new game of swaps. First, they paid exorbitant sums to attract suitable derivatives staff – only swaps royalty need apply – then, they bought their way into the cabal. They heavily subsidized borrowers to buy market share. The gaijin – non-Japanese – loved the hara-kiri swaps. The business logic was strange. People dealt with you because they were paid to do so. Why would they deal with you when you stopped paying? The hunt for arbitrage opportunities went on. At SEK, the hunt took on an entirely literal dimension. Bernt, it emerged, was a keen hunter in real life, going on trips to the north of Scandinavia to hunt real wild animals.


pages: 460 words: 130,820

The Cult of We: WeWork, Adam Neumann, and the Great Startup Delusion by Eliot Brown, Maureen Farrell

"World Economic Forum" Davos, activist fund / activist shareholder / activist investor, Adam Neumann (WeWork), Airbnb, AOL-Time Warner, asset light, Bear Stearns, Bernie Madoff, Burning Man, business logic, cloud computing, coronavirus, corporate governance, COVID-19, Didi Chuxing, do what you love, don't be evil, Donald Trump, driverless car, East Village, Elon Musk, financial engineering, Ford Model T, future of work, gender pay gap, global pandemic, global supply chain, Google Earth, Gordon Gekko, greed is good, Greensill Capital, hockey-stick growth, housing crisis, index fund, Internet Archive, Internet of things, Jeff Bezos, John Zimmer (Lyft cofounder), Larry Ellison, low interest rates, Lyft, Marc Benioff, Mark Zuckerberg, Masayoshi Son, Maui Hawaii, Network effects, new economy, PalmPilot, Peter Thiel, pets.com, plant based meat, post-oil, railway mania, ride hailing / ride sharing, Robinhood: mobile stock trading app, rolodex, Salesforce, San Francisco homelessness, Sand Hill Road, self-driving car, sharing economy, Sheryl Sandberg, side hustle, side project, Silicon Valley, Silicon Valley startup, smart cities, Snapchat, SoftBank, software as a service, sovereign wealth fund, starchitect, Steve Jobs, subprime mortgage crisis, super pumped, supply chain finance, Tim Cook: Apple, Travis Kalanick, Uber and Lyft, Uber for X, uber lyft, vertical integration, Vision Fund, WeWork, women in the workforce, work culture , Y Combinator, Zenefits, Zipcar

He borrowed money from his sister, raised more from a wealthy hedge fund manager she was dating, and invested $100,000 he’d received from his grandmother. Neumann knew little about children. He was young and single, and his time was dominated by working, drinking with friends, chain-smoking cigarettes, and churning through dates with different women. And the business logic of Krawlers had obvious holes: typically babies crawl for only a period of months. Yet Neumann proved to be a gifted salesman, particularly when face-to-face with a potential buyer. At trade shows where many of the clothes were sold, Neumann was a magnet for the small-business owners.


Machine Learning Design Patterns: Solutions to Common Challenges in Data Preparation, Model Building, and MLOps by Valliappa Lakshmanan, Sara Robinson, Michael Munn

A Pattern Language, Airbnb, algorithmic trading, automated trading system, business intelligence, business logic, business process, combinatorial explosion, computer vision, continuous integration, COVID-19, data science, deep learning, DevOps, discrete time, en.wikipedia.org, Hacker News, industrial research laboratory, iterative process, Kubernetes, machine translation, microservices, mobile money, natural language processing, Netflix Prize, optical character recognition, pattern recognition, performance metric, recommendation engine, ride hailing / ride sharing, selection bias, self-driving car, sentiment analysis, speech recognition, statistical model, the payments system, web application

When the entire codebase is inextricably linked, it becomes difficult for individual developers to debug errors and work independently on different parts of the application. In recent years, monolithic apps have been replaced in favor of a microservices architecture where individual pieces of business logic are built and deployed as isolated (micro) packages of code. With microservices, a large application is split into smaller, more manageable parts so that developers can build, debug, and deploy pieces of an application independently. This monolith-versus-microservice discussion provides a good analogy for scaling ML workflows, enabling collaboration, and ensuring ML steps are reproducible and reusable across different workflows.


pages: 407 words: 135,242

The Streets Were Paved With Gold by Ken Auletta

benefit corporation, British Empire, business climate, business logic, clean water, collective bargaining, full employment, Gunnar Myrdal, guns versus butter model, hiring and firing, invisible hand, Jane Jacobs, job satisfaction, Joseph Schumpeter, Lewis Mumford, military-industrial complex, mortgage debt, Norman Mailer, North Sea oil, offshore financial centre, Parkinson's law, Ponzi scheme, price stability, profit motive, Ralph Nader, RAND corporation, rent control, rent stabilization, Ronald Reagan, social contagion, The Death and Life of Great American Cities, union organizing, Upton Sinclair, upwardly mobile, urban decay, urban renewal, War on Poverty, working-age population

.…” The plan proposed to shift Manhattan’s economic base from light industry to office towers. It was silent about the subway system and largely ignored the issue of mass transportation. It was this plan that was later followed and supplemented by Robert Moses. Manhattan real-estate values soared, and roads cut wide swatches through neighborhoods. There was business logic to the plan. From a profit-making point of view, the crowded lofts and tenements and small factories were inefficient. Greater profits could be generated from high-rise buildings housing many more rent-paying tenants and businesses. The highways made for cheaper truck transportation. In a free economy, it was not surprising to see landlords and developers act in their own interest.


pages: 642 words: 141,888

Like, Comment, Subscribe: Inside YouTube's Chaotic Rise to World Domination by Mark Bergen

23andMe, 4chan, An Inconvenient Truth, Andy Rubin, Anne Wojcicki, Big Tech, Black Lives Matter, book scanning, Burning Man, business logic, call centre, Cambridge Analytica, citizen journalism, cloud computing, Columbine, company town, computer vision, coronavirus, COVID-19, crisis actor, crowdsourcing, cryptocurrency, data science, David Graeber, DeepMind, digital map, disinformation, don't be evil, Donald Trump, Edward Snowden, Elon Musk, fake news, false flag, game design, gender pay gap, George Floyd, gig economy, global pandemic, Golden age of television, Google Glasses, Google X / Alphabet X, Googley, growth hacking, Haight Ashbury, immigration reform, James Bridle, John Perry Barlow, Justin.tv, Kevin Roose, Khan Academy, Kinder Surprise, Marc Andreessen, Marc Benioff, Mark Zuckerberg, mass immigration, Max Levchin, Menlo Park, Minecraft, mirror neurons, moral panic, move fast and break things, non-fungible token, PalmPilot, paypal mafia, Peter Thiel, Ponzi scheme, QAnon, race to the bottom, recommendation engine, Rubik’s Cube, Salesforce, Saturday Night Live, self-driving car, Sheryl Sandberg, side hustle, side project, Silicon Valley, slashdot, Snapchat, social distancing, Social Justice Warrior, speech recognition, Stanford marshmallow experiment, Steve Bannon, Steve Jobs, Steven Levy, surveillance capitalism, Susan Wojcicki, systems thinking, tech bro, the long tail, The Wisdom of Crowds, TikTok, Walter Mischel, WikiLeaks, work culture

Venture capitalists went wild for “web3,” an internet model based on cryptocurrencies that imagined regular people owning and profiting from their online activity; this was YouTube’s creator economy taken to its next extreme. Sequoia, YouTube’s first investor, minted its 2005 YouTube investment memo as a “non-fungible token,” which a crypto enthusiast purchased for $863,000 in digital coin. There was business logic behind this rush to embrace creators. The pandemic turbocharged online entertainment and commerce. At the same time, the Web 2.0 model of targeted advertising was being dismantled by regulators; companies had a harder time marketing things online. Creators were great marketers and salespeople.


The First Tycoon by T.J. Stiles

book value, British Empire, business cycle, business logic, buttonwood tree, buy and hold, buy low sell high, California gold rush, Cornelius Vanderbilt, credit crunch, Edward Glaeser, gentleman farmer, informal economy, invisible hand, Isaac Newton, James Watt: steam engine, joint-stock company, margin call, Monroe Doctrine, new economy, public intellectual, risk free rate, short selling, Snow Crash, strikebreaker, The Wealth of Nations by Adam Smith, three-masted sailing ship, tontine, transatlantic slave trade, transcontinental railway, vertical integration, working poor

At Stone's urging, he met with Vanderbilt that evening in the Manhattan Club, where they began a long, frustrating, but fruitful relationship. The power of attraction worked both ways. Vanderbilt could be solicitous as well as commanding; Rockefeller himself wrote, “He is anxious to get our business, and said thought he could meet us on the terms.”5 Within the railroad industry, too, business logic demanded that the Commodore build close relationships with lines to the west. Previously freight from Chicago, Detroit, or Cleveland went by boat over the Great Lakes to Buffalo; now trains hauled most of it. The connecting lines needed to cooperate to coordinate schedules, set rates, divide costs, and allow freight to move without breaking bulk if at all possible.

More broadly, it represented the abandonment of the older, local purposes which had first brought railways into existence, as a truly national network emerged. No longer semipublic bodies, railroads now functioned entirely as business enterprises, operated for maximum profit, bought and sold in the market, managed as business logic would dictate. That logic led inexorably to consolidation. The day of the giant corporation had arrived. On May 20, Governor Hoffman signed both bills into law. In one day Vanderbilt nearly doubled the capitalization of his largest company and opened the door to increase it another 50 percent by annexing the Hudson River.


Data Wrangling With Python: Tips and Tools to Make Your Life Easier by Jacqueline Kazil

Amazon Web Services, bash_history, business logic, cloud computing, correlation coefficient, crowdsourcing, data acquisition, data science, database schema, Debian, en.wikipedia.org, Fairphone, Firefox, Global Witness, Google Chrome, Hacker News, job automation, machine readable, Nate Silver, natural language processing, pull request, Ronald Reagan, Ruby on Rails, selection bias, social web, statistical model, web application, WikiLeaks

Initializes our Manager object, which helps manage shared items and logging across processes. Creates a shared list object to keep track of what sites are up. Each of the pro‐ cesses will have the ability to alter this list. Creates a shared lock object to stop and announce if we encounter a site that is not up. If these were all sites we managed, we might have an important bit of business logic here for emergencies and therefore a reason to “stop everything.” Starts each of the processes returned by get_procs individually. Once they are started, join allows the Manager object and therefore all the child processes to communicate until the last one is finished. When using multiprocessing, you usually have a manager process and child pro‐ cesses.


pages: 559 words: 155,372

Chaos Monkeys: Obscene Fortune and Random Failure in Silicon Valley by Antonio Garcia Martinez

Airbnb, airport security, always be closing, Amazon Web Services, Big Tech, Burning Man, business logic, Celtic Tiger, centralized clearinghouse, cognitive dissonance, collective bargaining, content marketing, corporate governance, Credit Default Swap, crowdsourcing, data science, deal flow, death of newspapers, disruptive innovation, Dr. Strangelove, drone strike, drop ship, El Camino Real, Elon Musk, Emanuel Derman, Fairchild Semiconductor, fake it until you make it, financial engineering, financial independence, Gary Kildall, global supply chain, Goldman Sachs: Vampire Squid, Hacker News, hive mind, How many piano tuners are there in Chicago?, income inequality, industrial research laboratory, information asymmetry, information security, interest rate swap, intermodal, Jeff Bezos, Kickstarter, Malcom McLean invented shipping containers, Marc Andreessen, Mark Zuckerberg, Maui Hawaii, means of production, Menlo Park, messenger bag, minimum viable product, MITM: man-in-the-middle, move fast and break things, Neal Stephenson, Network effects, orbital mechanics / astrodynamics, Paul Graham, performance metric, Peter Thiel, Ponzi scheme, pre–internet, public intellectual, Ralph Waldo Emerson, random walk, Reminiscences of a Stock Operator, Ruby on Rails, Salesforce, Sam Altman, Sand Hill Road, Scientific racism, second-price auction, self-driving car, Sheryl Sandberg, Silicon Valley, Silicon Valley startup, Skype, Snapchat, social graph, Social Justice Warrior, social web, Socratic dialogue, source of truth, Steve Jobs, tech worker, telemarketer, the long tail, undersea cable, urban renewal, Y Combinator, zero-sum game, éminence grise

Like the dinosaur fossils at a natural history museum, they’re there only for show. They’ve been replaced by expensive blinking boxes housed as close as possible to the real exchange, and connected with the shortest cables one can buy, rent, or bury in the ground. In this new world, the only speed limits were Moore’s law and Einstein’s relativity: the business logic was as fast as microchips can do math without melting themselves, and as fast as pulses of light can fly through fiber-optic cables. The key insight here is that what happened with SLK wasn’t some exceptional niche piece of technological innovation, but a harbinger of what would happen to the entire world.


pages: 603 words: 141,814

Python for Unix and Linux System Administration by Noah Gift, Jeremy M. Jones

Amazon Web Services, bash_history, Bram Moolenaar, business logic, cloud computing, create, read, update, delete, database schema, Debian, distributed revision control, Firefox, functional programming, Guido van Rossum, industrial robot, inventory management, job automation, Mark Shuttleworth, MVC pattern, skunkworks, web application

This Model-View-Template approach is similar, if not identical, to a common approach called Model-View-Controller (MVC). Both are ways of developing applications so that the pieces of the application are not unnecessarily comingled. The database code is separated into an area referred to in both approaches as the “model.” The business logic is separated into an area referred to as the “view” in MVT and the “controller” in MVC. And the presentation is separated into an area referred to as the “template” in MVT and the “view” in MVC. Apache Log Viewer Application In the following example, which consists of several pieces of code, we will create another implementation of the Apache log viewer similar to the PyGTK implementation.


pages: 565 words: 151,129

The Zero Marginal Cost Society: The Internet of Things, the Collaborative Commons, and the Eclipse of Capitalism by Jeremy Rifkin

3D printing, active measures, additive manufacturing, Airbnb, autonomous vehicles, back-to-the-land, benefit corporation, big-box store, bike sharing, bioinformatics, bitcoin, business logic, business process, Chris Urmson, circular economy, clean tech, clean water, cloud computing, collaborative consumption, collaborative economy, commons-based peer production, Community Supported Agriculture, Computer Numeric Control, computer vision, crowdsourcing, demographic transition, distributed generation, DIY culture, driverless car, Eben Moglen, electricity market, en.wikipedia.org, Frederick Winslow Taylor, Free Software Foundation, Garrett Hardin, general purpose technology, global supply chain, global village, Hacker Conference 1984, Hacker Ethic, industrial robot, informal economy, information security, Intergovernmental Panel on Climate Change (IPCC), intermodal, Internet of things, invisible hand, Isaac Newton, James Watt: steam engine, job automation, John Elkington, John Markoff, John Maynard Keynes: Economic Possibilities for our Grandchildren, John Maynard Keynes: technological unemployment, Julian Assange, Kickstarter, knowledge worker, longitudinal study, low interest rates, machine translation, Mahatma Gandhi, manufacturing employment, Mark Zuckerberg, market design, mass immigration, means of production, meta-analysis, Michael Milken, mirror neurons, natural language processing, new economy, New Urbanism, nuclear winter, Occupy movement, off grid, off-the-grid, oil shale / tar sands, pattern recognition, peer-to-peer, peer-to-peer lending, personalized medicine, phenotype, planetary scale, price discrimination, profit motive, QR code, RAND corporation, randomized controlled trial, Ray Kurzweil, rewilding, RFID, Richard Stallman, risk/return, Robert Solow, Rochdale Principles, Ronald Coase, scientific management, search inside the book, self-driving car, shareholder value, sharing economy, Silicon Valley, Skype, smart cities, smart grid, smart meter, social web, software as a service, spectrum auction, Steve Jobs, Stewart Brand, the built environment, the Cathedral and the Bazaar, the long tail, The Nature of the Firm, The Structural Transformation of the Public Sphere, The Wealth of Nations by Adam Smith, The Wisdom of Crowds, Thomas Kuhn: the structure of scientific revolutions, Thomas L Friedman, too big to fail, Tragedy of the Commons, transaction costs, urban planning, vertical integration, warehouse automation, Watson beat the top human players on Jeopardy!, web application, Whole Earth Catalog, Whole Earth Review, WikiLeaks, working poor, Yochai Benkler, zero-sum game, Zipcar

As Yerdle grows, it will allow its local networks to expand geographically, so items can be sold to strangers as well as to friends. Yerdle plans on taking a small transaction fee to cover its operational costs. The Yerdle plan, like so many others, helps advance the idea of a circular economy in which everything is recycled and reused and nothing is sent to the landfill before its time. The sustainable business logic makes perfect sense, but gets muddled when the founders try to make the case for the retailer’s buy-in. Werbach says that “if you can borrow that chain saw from the person next door, the retailer’s job is to help you with what you’re trying to do, not just sell you another chain saw.”45 Maybe . . . but likely?


The Cigarette: A Political History by Sarah Milov

"RICO laws" OR "Racketeer Influenced and Corrupt Organizations", activist lawyer, affirmative action, airline deregulation, American Legislative Exchange Council, barriers to entry, British Empire, business logic, collective bargaining, corporate personhood, deindustrialization, fixed income, Frederick Winslow Taylor, G4S, global supply chain, Herbert Marcuse, imperial preference, Indoor air pollution, information asymmetry, invisible hand, Kitchen Debate, land tenure, military-industrial complex, new economy, New Journalism, Philip Mirowski, pink-collar, Potemkin village, precariat, price stability, profit maximization, race to the bottom, Ralph Nader, rent-seeking, scientific management, Silicon Valley, structural adjustment programs, technological determinism, The Chicago School, Torches of Freedom, trade route, union organizing, Unsafe at Any Speed, Upton Sinclair, vertical integration, War on Poverty, women in the workforce

See also doubt-mongering Reemtsma, 158 referenda, 61–66, 69, 77, 84–85 Reich, Charles, 120–125, 284, 369n122 Reich, Robert, 281 Repace, James, 225–230, 280, 358n86 Reynolds v. Sims, 139 Richardson, Elliott, 195 Richmond, Julius, 195 Richmond Times-Dispatch, 115 RICO act, 290 Riggs, “Speed,” 30 rights: administrative agencies and, 122, 163; business logic and, 209–211; consumerism and, 143–145, 159, 189–195; gendered activism and, 175–184; localism and, 260–269, 285–287; “New Property” and, 121–125; nonsmokers as protected class and, 2–3, 10, 160–162, 173–175, 188–200, 211–214, 232, 306n48; paradoxes of, 160–162; quality of life discourse and, 184–188, 230–231, 306n48; race and, 199–200; unions and, 232–240; workplace battles and, 201–221 right to work laws, 332n132 R.


pages: 483 words: 145,225

Rebel Code: Linux and the Open Source Revolution by Glyn Moody

barriers to entry, business logic, commoditize, Compatible Time-Sharing System, Debian, Dennis Ritchie, Donald Knuth, Eben Moglen, Free Software Foundation, ghettoisation, Guido van Rossum, history of Unix, hypertext link, Johann Wolfgang von Goethe, John Gilmore, Ken Thompson, Kickstarter, Larry Ellison, Larry Wall, Marc Andreessen, MITM: man-in-the-middle, Multics, Network effects, new economy, packet switching, RFC: Request For Comment, Richard Stallman, Silicon Valley, skunkworks, slashdot, SoftBank, Steve Ballmer, Steve Jobs, Steven Levy, the Cathedral and the Bazaar, thinkpad, VA Linux

Promotion of his company is surprisingly restrained, although Young is always happy to don his trademark red hat for photo shoots: “I have a business card that reads Red Hat Spokesmodel,” he says in gentle self-mockery. But his apparently selfless devotion to the broader cause of open source has some hard-headed business logic behind it. “The moment we get across this point that Red Hat’s brand stands for this commitment of delivering open source technology to the marketplace, then we create massive opportunities for Red Hat’s sales team,” he says. “If I can’t do that, it doesn’t matter how much our sales team brag about their products being better, faster, and cheaper, the customer is going to say, ‘I can buy it from little Red Hat or I can buy it from big, safe Sun, or Microsoft’ and we’re going to end up losing the bid.”


pages: 523 words: 154,042

Fancy Bear Goes Phishing: The Dark History of the Information Age, in Five Extraordinary Hacks by Scott J. Shapiro

3D printing, 4chan, active measures, address space layout randomization, air gap, Airbnb, Alan Turing: On Computable Numbers, with an Application to the Entscheidungsproblem, availability heuristic, Bernie Sanders, bitcoin, blockchain, borderless world, Brian Krebs, business logic, call centre, carbon tax, Cass Sunstein, cellular automata, cloud computing, cognitive dissonance, commoditize, Compatible Time-Sharing System, Computing Machinery and Intelligence, coronavirus, COVID-19, CRISPR, cryptocurrency, cyber-physical system, Daniel Kahneman / Amos Tversky, Debian, Dennis Ritchie, disinformation, Donald Trump, double helix, Dr. Strangelove, dumpster diving, Edward Snowden, en.wikipedia.org, Evgeny Morozov, evil maid attack, facts on the ground, false flag, feminist movement, Gabriella Coleman, gig economy, Hacker News, independent contractor, information security, Internet Archive, Internet of things, invisible hand, John Markoff, John von Neumann, Julian Assange, Ken Thompson, Larry Ellison, Laura Poitras, Linda problem, loss aversion, macro virus, Marc Andreessen, Mark Zuckerberg, Menlo Park, meta-analysis, Minecraft, Morris worm, Multics, PalmPilot, Paul Graham, pirate software, pre–internet, QWERTY keyboard, Ralph Nader, RAND corporation, ransomware, Reflections on Trusting Trust, Richard Stallman, Richard Thaler, Ronald Reagan, Satoshi Nakamoto, security theater, Shoshana Zuboff, side hustle, Silicon Valley, Skype, SoftBank, SQL injection, Steve Ballmer, Steve Jobs, Steven Levy, Stuxnet, supply-chain attack, surveillance capitalism, systems thinking, TaskRabbit, tech billionaire, tech worker, technological solutionism, the Cathedral and the Bazaar, the new new thing, the payments system, Turing machine, Turing test, Unsafe at Any Speed, vertical integration, Von Neumann architecture, Wargames Reagan, WarGames: Global Thermonuclear War, Wayback Machine, web application, WikiLeaks, winner-take-all economy, young professional, zero day, éminence grise

Vertical Integration In the hit NBC comedy 30 Rock, the corporate executive Jack Donaghy (played by Alec Baldwin) tries to explain to one of his head writers, Liz Lemon (played by Tina Fey), the economic concept of vertical integration: “Imagine that your favorite corn chip manufacturer also owned the number one diarrhea medication.” Liz’s eyes light up. “That’d be great ’cause then they could put a little sample of medication in each bag.” Jack can see that Liz does not fully appreciate the business logic. “Keep thinking.” Liz turns the idea over in her mind as she works out the economics. “Except then they might be tempted to make the corn chips give you…” Jack smiles. “Vertical integration.” Although Donaghy called it “vertical integration,” lawyers have traditionally used another term: racketeering.


Debtor Nation: The History of America in Red Ink (Politics and Society in Modern America) by Louis Hyman

Alan Greenspan, asset-backed security, bank run, barriers to entry, Bretton Woods, business cycle, business logic, card file, central bank independence, computer age, corporate governance, credit crunch, declining real wages, deindustrialization, diversified portfolio, financial independence, financial innovation, fixed income, Gini coefficient, Glass-Steagall Act, Home mortgage interest deduction, housing crisis, income inequality, invisible hand, It's morning again in America, late fees, London Interbank Offered Rate, low interest rates, market fundamentalism, means of production, mortgage debt, mortgage tax deduction, p-value, pattern recognition, post-Fordism, profit maximization, profit motive, risk/return, Ronald Reagan, Savings and loan crisis, Silicon Valley, statistical model, Tax Reform Act of 1986, technological determinism, technology bubble, the built environment, transaction costs, union organizing, white flight, women in the workforce, working poor, zero-sum game

Credit card debt was unsecured by any claim on real property, while the installment debt of mortgages was secured by a claim on unmovable property. While these two different financial practices—borrowing against a home’s value and borrowing on SECURING DEBT 221 a credit card—appeared very different for consumers, the business logic and financial practices that underpinned them both grew more and more similar over time. By the late 1980s, these two different debts converged and become financially indistinguishable in how they were funded—by asset-backed securities. By the mid-1990s, even consumers began to use home mortgages and credit cards interchangeably, consolidating the debt of credit cards into the debt of mortgages.


pages: 504 words: 89,238

Natural language processing with Python by Steven Bird, Ewan Klein, Edward Loper

bioinformatics, business intelligence, business logic, Computing Machinery and Intelligence, conceptual framework, Donald Knuth, duck typing, elephant in my pajamas, en.wikipedia.org, finite state, Firefox, functional programming, Guido van Rossum, higher-order functions, information retrieval, language acquisition, lolcat, machine translation, Menlo Park, natural language processing, P = NP, search inside the book, sparse data, speech recognition, statistical model, text mining, Turing test, W. E. B. Du Bois

This inference seems so obvious that you probably didn’t notice it was made, yet a natural language system needs to be endowed with this capability in order to interact naturally. Without it, when asked, Do you know when Saving Private Ryan is playing?, a system might unhelpfully respond with a cold Yes. However, the developers of commercial dialogue systems use contextual assumptions and business logic to ensure that the different ways in which a user might express requests or provide information are handled in a way that makes sense for the particular application. So, if you type When is ..., or I want to know when ..., or Can you tell me when ..., simple rules will always yield screening times.


Programming Python by Mark Lutz

Benevolent Dictator For Life (BDFL), Build a better mousetrap, business logic, business process, cloud computing, Firefox, general-purpose programming language, Google Chrome, Guido van Rossum, iterative process, linear programming, loose coupling, machine readable, MVC pattern, natural language processing, off grid, slashdot, sorting algorithm, web application

PythonCard describes itself as a GUI construction kit for building cross-platform desktop applications on Windows, Mac OS X, and Linux, using the Python language. Dabo An open source GUI builder also built on wxPython, and a bit more. Dabo is a portable, three-tier, cross-platform desktop application development framework, inspired by Visual FoxPro and written in Python. Its tiers support database access, business logic, and user interface. Its open design is intended to eventually support a variety of databases and multiple user interfaces (wxPython, tkinter, and even HTML over HTTP). Rich Internet Applications (RIAs) Although web pages rendered with HTML are also a kind of user interface, they have historically been too limited to include in the general GUI category.

Response page created by tutor5.py (2) Keeping display and logic separate In fact, this illustrates an important point in the design of larger websites: if we are careful to keep the HTML and script code separate, we get a useful division of display and logic—each part can be worked on independently, by people with different skill sets. Web page designers, for example, can work on the display layout, while programmers can code business logic. Although this section’s example is fairly small, it already benefits from this separation for the input page. In some cases, the separation is harder to accomplish, because our example scripts embed the HTML of reply pages. With just a little more work, though, we can usually split the reply HTML off into separate files that can also be developed independently of the script’s logic.

For instance, systems such as PHP, Python Server Pages (PSP), Zope’s DTML and ZPT, and Active Server Pages provide server-side templating languages, which allow scripting language code to be embedded in HTML and executed on the server, to dynamically generate or determine part of the HTML that is sent back to a client in response to requests. The net result can cleanly insulate Python code from the complexity of HTML code and promote the separation of display format and business logic, but may add complexities of its own due to the mixture of different languages. Generalized user interface development To cover both bases, some systems attempt to separate logic from display so much as to make the choice almost irrelevant—by completely encapsulating display details, a single program can, in principle, render its user interface as either a traditional GUI or an HTML-based web page.


pages: 716 words: 192,143

The Enlightened Capitalists by James O'Toole

"Friedman doctrine" OR "shareholder theory", "World Economic Forum" Davos, Abraham Maslow, activist fund / activist shareholder / activist investor, anti-communist, Ayatollah Khomeini, benefit corporation, Bernie Madoff, Bletchley Park, book value, British Empire, business cycle, business logic, business process, California gold rush, carbon footprint, City Beautiful movement, collective bargaining, company town, compensation consultant, Cornelius Vanderbilt, corporate governance, corporate social responsibility, Credit Default Swap, crowdsourcing, cryptocurrency, desegregation, do well by doing good, Donald Trump, double entry bookkeeping, end world poverty, equal pay for equal work, Frederick Winslow Taylor, full employment, garden city movement, germ theory of disease, glass ceiling, God and Mammon, greed is good, high-speed rail, hiring and firing, income inequality, indoor plumbing, inventory management, invisible hand, James Hargreaves, job satisfaction, joint-stock company, Kickstarter, knowledge worker, Lao Tzu, Larry Ellison, longitudinal study, Louis Pasteur, Lyft, Marc Benioff, means of production, Menlo Park, North Sea oil, passive investing, Ponzi scheme, profit maximization, profit motive, Ralph Waldo Emerson, rolodex, Ronald Reagan, Salesforce, scientific management, shareholder value, Silicon Valley, Social Responsibility of Business Is to Increase Its Profits, Socratic dialogue, sovereign wealth fund, spinning jenny, Steve Jobs, Steve Wozniak, stock buybacks, stocks for the long run, stocks for the long term, The Fortune at the Bottom of the Pyramid, The Wealth of Nations by Adam Smith, Tim Cook: Apple, traveling salesman, Uber and Lyft, uber lyft, union organizing, Vanguard fund, white flight, women in the workforce, young professional

To preserve what is unique in their culture, Tom’s of Maine’s managers would find it necessary to engage in “uneconomical” practices, and occasionally put meeting their subsidiary’s long-term social mission ahead of reaching Colgate’s short-term financial goals. Those uneconomical practices represent what Waddock calls a “fairly radical departure from mainstream business logic,”76 and she doubts that large corporations are capable of dealing with such deviations from the norm. Thus large companies must eventually force their “iconic” acquisitions into the corporate mold, in the process losing the very “quirky” factors that made the acquired company attractive to them.


PostGIS in Action by Regina O. Obe, Leo S. Hsu

business logic, call centre, crowdsourcing, database schema, Debian, domain-specific language, en.wikipedia.org, Firefox, functional programming, Google Earth, job automation, McMansion, Mercator projection, Network effects, null island, openstreetmap, planetary scale, profit maximization, Ruby on Rails, Skype, South of Market, San Francisco, SQL injection, traveling salesman, web application

If your database is trigger-happy, we recommend developing a convention for naming your triggers to keep them organized. We’ll now move on to a series of examples showcasing how you can use triggers in a variety of situations to fortify your data model. Triggers are powerful tools, and your mastery of them will allow you to develop database applications that can control business logic without the need to touch the front-end application. Redirecting inserts with BEFORE triggers For our first trigger example, we’ll demonstrate how to redirect inserts on a parent table to the child tables. This is a common need when working with inherited tables. Recall that in an inheritance hierarchy with abstract parents, you want people to think they’re inserting into the parent table, but you don’t want any data going into it.


pages: 933 words: 205,691

Hadoop: The Definitive Guide by Tom White

Amazon Web Services, bioinformatics, business intelligence, business logic, combinatorial explosion, data science, database schema, Debian, domain-specific language, en.wikipedia.org, exponential backoff, fallacies of distributed computing, fault tolerance, full text search, functional programming, Grace Hopper, information retrieval, Internet Archive, Kickstarter, Large Hadron Collider, linked data, loose coupling, openstreetmap, recommendation engine, RFID, SETI@home, social graph, sparse data, web application

The abstraction from the storage layer and ACID requirements are an enormous barrier and luxury that you cannot always afford when building for scale. HBase is a distributed, column-oriented, sorted map store and not much else. The only major part that is abstracted from the user is the distribution, and that’s exactly what we don’t want to deal with. Business logic, on the other hand, is very specialized and optimized. With HBase not trying to solve all of our problems, we’ve been able to solve them better ourselves and rely on HBase for scaling our storage, not our logic. It was an extremely liberating experience to be able to focus on our applications and logic rather than the scaling of the data itself.


pages: 678 words: 216,204

The Wealth of Networks: How Social Production Transforms Markets and Freedom by Yochai Benkler

affirmative action, AOL-Time Warner, barriers to entry, bioinformatics, Brownian motion, business logic, call centre, Cass Sunstein, centre right, clean water, commoditize, commons-based peer production, dark matter, desegregation, digital divide, East Village, Eben Moglen, fear of failure, Firefox, Free Software Foundation, game design, George Gilder, hiring and firing, Howard Rheingold, informal economy, information asymmetry, information security, invention of radio, Isaac Newton, iterative process, Jean Tirole, jimmy wales, John Markoff, John Perry Barlow, Kenneth Arrow, Lewis Mumford, longitudinal study, machine readable, Mahbub ul Haq, market bubble, market clearing, Marshall McLuhan, Mitch Kapor, New Journalism, optical character recognition, pattern recognition, peer-to-peer, power law, precautionary principle, pre–internet, price discrimination, profit maximization, profit motive, public intellectual, radical decentralization, random walk, Recombinant DNA, recommendation engine, regulatory arbitrage, rent-seeking, RFID, Richard Stallman, Ronald Coase, scientific management, search costs, Search for Extraterrestrial Intelligence, SETI@home, shareholder value, Silicon Valley, Skype, slashdot, social software, software patent, spectrum auction, subscription business, tacit knowledge, technological determinism, technoutopianism, The Fortune at the Bottom of the Pyramid, the long tail, The Nature of the Firm, the strength of weak ties, Timothy McVeigh, transaction costs, vertical integration, Vilfredo Pareto, work culture , Yochai Benkler

Someone represents a party or widely known opinion, and is juxtaposed with others who similarly represent alternative widely known views. These avatars of public opinion then enact a clash of opinion, orchestrated in order to leave the media neutral and free of blame, in the eyes of their viewers, for espousing an offensively partisan view. Third, and finally, this business logic often stands in contradiction to journalistic ethic. While there are niche markets for high-end journalism and strong opinion, outlets that serve those markets are specialized. Those that cater to broader markets need to subject journalistic ethic to business necessity, emphasizing celebrities or local crime over distant famines or a careful analysis of economic policy. 368 The basic drive behind programming choices in advertising-supported mass media was explored in the context of the problem of "program diversity" and competition.


Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems by Martin Kleppmann

active measures, Amazon Web Services, billion-dollar mistake, bitcoin, blockchain, business intelligence, business logic, business process, c2.com, cloud computing, collaborative editing, commoditize, conceptual framework, cryptocurrency, data science, database schema, deep learning, DevOps, distributed ledger, Donald Knuth, Edward Snowden, end-to-end encryption, Ethereum, ethereum blockchain, exponential backoff, fake news, fault tolerance, finite state, Flash crash, Free Software Foundation, full text search, functional programming, general-purpose programming language, Hacker News, informal economy, information retrieval, Internet of things, iterative process, John von Neumann, Ken Thompson, Kubernetes, Large Hadron Collider, level 1 cache, loose coupling, machine readable, machine translation, Marc Andreessen, microservices, natural language processing, Network effects, no silver bullet, operational security, packet switching, peer-to-peer, performance metric, place-making, premature optimization, recommendation engine, Richard Feynman, self-driving car, semantic web, Shoshana Zuboff, social graph, social web, software as a service, software is eating the world, sorting algorithm, source of truth, SPARQL, speech recognition, SQL injection, statistical model, surveillance capitalism, systematic bias, systems thinking, Tragedy of the Commons, undersea cable, web application, WebSocket, wikimedia commons

In some ways, services are similar to databases: they typically allow clients to submit and query data. However, while databases allow arbitrary queries using the query lan‐ guages we discussed in Chapter 2, services expose an application-specific API that only allows inputs and outputs that are predetermined by the business logic (applica‐ tion code) of the service [33]. This restriction provides a degree of encapsulation: services can impose fine-grained restrictions on what clients can and cannot do. A key design goal of a service-oriented/microservices architecture is to make the application easier to change and maintain by making services independently deploya‐ ble and evolvable.


The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise by Martin L. Abbott, Michael T. Fisher

always be closing, anti-pattern, barriers to entry, Bernie Madoff, business climate, business continuity plan, business intelligence, business logic, business process, call centre, cloud computing, combinatorial explosion, commoditize, Computer Numeric Control, conceptual framework, database schema, discounted cash flows, Dunning–Kruger effect, en.wikipedia.org, fault tolerance, finite state, friendly fire, functional programming, hiring and firing, Infrastructure as a Service, inventory management, machine readable, new economy, OSI model, packet switching, performance metric, platform as a service, Ponzi scheme, power law, RFC: Request For Comment, risk tolerance, Rubik’s Cube, Search for Extraterrestrial Intelligence, SETI@home, shareholder value, Silicon Valley, six sigma, software as a service, the scientific method, transaction costs, Vilfredo Pareto, web application, Y2K

You can see that there are around 125 requests per second at peak for the Web servers. There are also around 80 requests per second at peak for the application servers. The reason for the difference is that there are a lot of preprocessed static pages on the Web servers that do not require any business logic computations to be performed. These pages include corporate pages, landing pages, images, and so on. You could make an argument that different types of pages scale differently and should be put on a different set of Web servers or at a minimum be analyzed differently for capacity planning. For simplicity of this example, we will continue to group them together as a total number of requests.


PostGIS in Action, 2nd Edition by Regina O. Obe, Leo S. Hsu

business logic, call centre, crowdsourcing, database schema, Debian, domain-specific language, en.wikipedia.org, Firefox, functional programming, Google Earth, job automation, McMansion, megacity, Mercator projection, Network effects, null island, openstreetmap, planetary scale, profit maximization, Ruby on Rails, Skype, South of Market, San Francisco, SQL injection, traveling salesman, web application

If your database is trigger-happy, we recommend developing a convention for naming your triggers to keep them organized. We’ll now move on to a series of examples showcasing how you can use triggers in a variety of situations to fortify your data model. Triggers are powerful tools, and your mastery of them will allow you to develop database applications that can control business logic without the need to touch the front-end application. REDIRECTING INSERTS WITH BEFORE TRIGGERS For our first trigger example, we’ll demonstrate how to redirect inserts on a parent table to the child tables. This is a common need when working with inherited tables. Recall that in an inheritance hierarchy with abstract parents, you want people to think they’re inserting into the parent table, but you don’t want any data going into it.


pages: 1,237 words: 227,370

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems by Martin Kleppmann

active measures, Amazon Web Services, billion-dollar mistake, bitcoin, blockchain, business intelligence, business logic, business process, c2.com, cloud computing, collaborative editing, commoditize, conceptual framework, cryptocurrency, data science, database schema, deep learning, DevOps, distributed ledger, Donald Knuth, Edward Snowden, end-to-end encryption, Ethereum, ethereum blockchain, exponential backoff, fake news, fault tolerance, finite state, Flash crash, Free Software Foundation, full text search, functional programming, general-purpose programming language, Hacker News, informal economy, information retrieval, Infrastructure as a Service, Internet of things, iterative process, John von Neumann, Ken Thompson, Kubernetes, Large Hadron Collider, level 1 cache, loose coupling, machine readable, machine translation, Marc Andreessen, microservices, natural language processing, Network effects, no silver bullet, operational security, packet switching, peer-to-peer, performance metric, place-making, premature optimization, recommendation engine, Richard Feynman, self-driving car, semantic web, Shoshana Zuboff, social graph, social web, software as a service, software is eating the world, sorting algorithm, source of truth, SPARQL, speech recognition, SQL injection, statistical model, surveillance capitalism, systematic bias, systems thinking, Tragedy of the Commons, undersea cable, web application, WebSocket, wikimedia commons

In some ways, services are similar to databases: they typically allow clients to submit and query data. However, while databases allow arbitrary queries using the query languages we discussed in Chapter 2, services expose an application-specific API that only allows inputs and outputs that are predetermined by the business logic (application code) of the service [33]. This restriction provides a degree of encapsulation: services can impose fine-grained restrictions on what clients can and cannot do. A key design goal of a service-oriented/microservices architecture is to make the application easier to change and maintain by making services independently deployable and evolvable.


pages: 1,230 words: 357,848

Andrew Carnegie by David Nasaw

banking crisis, book value, British Empire, Burning Man, business climate, business cycle, business logic, California gold rush, clean water, collective bargaining, company town, Corn Laws, Cornelius Vanderbilt, crony capitalism, David Brooks, death from overwork, delayed gratification, financial independence, flying shuttle, full employment, housing crisis, indoor plumbing, invention of the steam engine, it's over 9,000, James Watt: steam engine, Khartoum Gordon, land reform, land tenure, Louis Pasteur, Monroe Doctrine, price stability, railway mania, Republic of Letters, strikebreaker, Thomas Malthus, transcontinental railway, traveling salesman, union organizing, Upton Sinclair, vertical integration, work culture , Works Progress Administration

To cover the costs of moving empty cars back to Connellsville, it had raised the freight rates to Pittsburgh. With a stranglehold on three quarters of the coke traffic to Pittsburgh and no real competition, the Pennsylvania could charge whatever it chose to. While Carnegie fully understood the business logic behind the Pennsylvania’s “discriminatory” practices, he cried foul nonetheless and threatened to wreak havoc if the railroad did not do right by his and other Pittsburgh firms. “We do not agree to be singled out & discriminated against,” he wrote Thomson. “Every manfr. in Pittsburgh & in the West will rise in indignation.