Set of properties (atomicity, consistency, isolation, durability) of database transactions intended to guarantee validity even in the event of errors, power failures, etc. According to Gray and Reuter, IMS supported ACID transactions as early as 1973 (although the term ACID came later). Characteristics The characteristics of these four properties as defined by Reuter and Härder are as follows: Atomicity An example of an atomic transaction is a monetary transfer from bank account A to account B. Consistency Isolation Durability Examples The following examples further illustrate the ACID properties. CREATE TABLE acidtest (A INTEGER, B INTEGER, CHECK (A + B = 100)); Atomicity Atomicity is the guarantee that series of database operations in an atomic transaction will either all occur (a successful operation), or none will occur (an unsuccessful operation). Consistency failure Isolation failure Combined, there are four actions: Implementation
Representational state transferRepresentational State Transfer (REST) is a software architecture style consisting of guidelines and best practices for creating scalable web services. REST is a coordinated set of constraints applied to the design of components in a distributed hypermedia system that can lead to a more performant and maintainable architecture. REST has gained widespread acceptance across the Web as a simpler alternative to SOAP and WSDL-based Web services. RESTful systems typically, but not always, communicate over the Hypertext Transfer Protocol with the same HTTP verbs (GET, POST, PUT, DELETE, etc.) used by web browsers to retrieve web pages and send data to remote servers. The REST architectural style was developed by W3C Technical Architecture Group (TAG) in parallel with HTTP 1.1, based on the existing design of HTTP 1.0. The World Wide Web represents the largest implementation of a system conforming to the REST architectural style. Architectural properties
Boy or Girl paradoxThe Boy or Girl paradox surrounds a well-known set of questions in probability theory which are also known as The Two Child Problem, Mr. Smith's Children and the Mrs. Smith Problem. Mr. Gardner initially gave the answers 1/2 and 1/3, respectively; but later acknowledged that the second question was ambiguous. Its answer could be 1/2, depending on how you found out that one child was a boy. The paradox has frequently stimulated a great deal of controversy. Many people argued strongly for both sides with a great deal of confidence, sometimes showing disdain for those who took the opposing view. Common assumptions Each child is either male or female.Each child has the same chance of being male as of being female.The sex of each child is independent of the sex of the other. First question Mr. Under the forementioned assumptions, in this problem, a random family is selected. Only two of these possible events meet the criteria specified in the question (e.g., GG, GB).
Micro Service ArchitectureConceptually speaking MSA is not particularly difficult to grasp but in practice it does raise many questions. How do these services communicate? What about latency between services? How do you test the services? How do you detect and respond to failure? How do you manage deployments when you have a bunch of interdependencies? Anatomy of a Micro Service First things first what actually is a micro service? In terms of a footprint these services will be small, you're potentially going to run a lot of them on the same machine so you don't want to be holding on to memory or resources that you aren't intending to use. This decoupling at a service level also offers another interesting option. You're also not going to find any true micro service based architectures that are hosted in an application server, that kinds of defeats the point. Communication This is an interesting one. But hardcoded urls kind of imply a certain strict coupling and A-B-C workflow. Monitoring & Metrics Testing Issues
FPF Announces New Group to Develop Best Practices for Retail Location Analytics Companies « Future of PrivacyThe Future of Privacy Forum Announces New Group to Develop Best Practices for Retail Location Analytics Companies First Step for Shaping Privacy Principles for Technologies Aiming to Improve the In-Store Shopping Experience Date: July 16, 2013 WASHINGTON, D.C. – The Future of Privacy Forum (FPF) today announced that it is working with a group of leading technology companies to develop best practices for retail location analytics. FPF’s goal is to make sure these technologies are subject to privacy controls and are used responsibly to improve the consumer shopping experience. “Companies need to ensure they have data protection standards in place to de-identify data, to provide consumers with effective choices to not be tracked and to explain to consumers the purposes for which data is being used,” said Jules Polonetsky, Director of the Future of Privacy Forum. “ShopperTrak is working with FPF because we believe in individuals’ rights to privacy.
SOLID (object-oriented design)In computer programming, SOLID (Single responsibility, Open-closed, Liskov substitution, Interface segregation and Dependency inversion) is a mnemonic acronym introduced by Michael Feathers for the "first five principles" named by Robert C. Martin in the early 2000s that stands for five basic principles of object-oriented programming and design. The principles, when applied together, intend to make it more likely that a programmer will create a system that is easy to maintain and extend over time. The principles of SOLID are guidelines that can be applied while working on software to remove code smells by causing the programmer to refactor the software's source code until it is both legible and extensible. It is part of an overall strategy of agile and adaptive programming.
The Factoring Dead: Preparing for the CryptopocalypseAmazon EC2 – Mongo Play Scala Instance setup guide | Steven AlexanderEDIT: These instructions are now out of date as the SBT and Play dependences now need to be installed via the Typesafe Activator, see the Play Framework documentation for details. This is a quick guide on how to create an EC2 instance with Mongo DB and Play/Scala, allowing you to quickly spin up a server and put your application online in half an hour or less. You can do all this with the AWS Free usage tier, so it costs nothing. Chosen Play/Scala cause it’s what I’m working with now, but the same advantages apply to any other open source frameworks and dbs. Play/Scala is insanely easy and quick to use, see James Hughes great starter guide for info. 1. – Ubuntu Server Instance (12.04 used for this example) – Security group open SSH – 22, HTTP – HTTPS – 443, TCP – 80 (add more if necessary), TCP – 28017 (mongo) 2. 3. – – – using vi to edit the list file 4. 5. 6. 7. – .
Audit TrailsAUDIT TRAILS Audit trails maintain a record of system activity both by system and application processes and by user activity of systems and applications. In conjunction with appropriate tools and procedures, audit trails can assist in detecting security violations, performance problems, and flaws in applications. This bulletin focuses on audit trails as a technical control and discusses the benefits and objectives of audit trails, the types of audit trails, and some common implementation issues. An audit trail is a series of records of computer events, about an operating system, an application, or user activities.
Step 1: Create an Application Server - Getting Started with AWSYou can use Amazon EC2 to create a virtual server to run your web app. These virtual servers are called EC2 instances. Typically, you start from a base image called an Amazon Machine Image (AMI). To create a virtual server using Amazon EC2, complete the following tasks. Create a Security Group for Your Amazon EC2 Instance A security group acts as a firewall that controls the traffic allowed to reach one or more EC2 instances. For this tutorial, we'll create a security group and add the following rules: Allow inbound HTTP access from anywhereAllow inbound SSH traffic from your computer's public IP address so that you can connect to your instance To create and configure your security group Decide who requires access to your instance; for example, a single computer or all the computers on a network that you trust. For more information, see Security Groups in the Amazon EC2 User Guide for Linux Instances. All requests to AWS must be cryptographically signed using credentials issued by AWS.