A Gentle Introduction to Data Security
Data security is one of those things you hear a lot about, but most of us are busy getting things done; unfortunately for our users, data security tends to be put on the back-burner, if we remember it at all. Data security doesn’t have to be a burden on the developer, and most importantly, it’s in the best interest of users. One principle I particularly like for software engineering is the Principle of Least Astonishment.
THE PRINCIPLE OF LEAST ASTONISHMENT:
A program’s behaviour should not surprise the end user.
How does this relate to data security? A user never expects their data to be leaked out of the application or their information to be shared with people they dont intend for it to. This might be an explicit understanding or an implicit one, especially when users don’t really understand the problem domain. If your users are from a wide range of backgrounds, they may not have a solid understanding of the basics of how to keep their information safe. In fact, they may not even realise what they don’t know. So, it becomes even more important for developers to ensure that, as much as possible, their data is safe. What I will discuss in this book are ways to do that, while keeping in mind the misconception (not always true) that the more secure a system is, the less accessible it is. I’d like to address that misconception, and help you to make your applications as transparently secure as possible.
The first thing we’ll take a look at are some of the objectives of information security that are most generally applicable to software, i.e. those that we can address. Then we’ll take a high-level walk through some basic UNIX security that’s applicable (and perhaps on the Windows platform as well). Even if your application is a web application, it’s probably running on a UNIX machine of some sort, and that represents an area that you should pay attention to as well. If you’re a Windows developer, there will still be some information applicable, but you can probably skim through this part. Then we’ll take a high level look at cryptography; I’ve chosen to stay away from deep mathematical discussions and only discuss those aspects you need to understand as a coder to effectively make use of it. Following that, we’ll see a few scenarios where your code is vulnerable. The rest of this chapter will be a gentle introduction to each of those areas, and the rest of the book will flesh it out with code examples.
There are four information security principles you should keep in mind when writing software:
- Privacy
- Anonymity
- Repudiation
- Integrity
Let’s take a look at these in a little more depth, and see how they apply to the software we’re writing.
First, we visit the concepts of authentication and authorisation. Authentication is confirming the identity of a user–most often by way of a username (the user’s identity) and password (the secret used to authenticate). Other ways of authentication include using smart cards, where the identity is given by the cryptographic key on the card and the authentication is done by entering a PIN to unlock the key, or perhaps using something like a one-time password token tied to an OpenID. Once the user’s identity has been confirmed (the user is now authenticated), their access to resources is controlled by authorisation. Authorisation is the check to see “is this user allowed to do this?” If we look at this from the perspective of a user’s ability to access files on a computer, they are typically authenticated by their login and password (or, on some laptops, via a login and fingerprint). When a user tries to read or write to a file, the system checks the access control list (an authorisation scheme) to see if the user is authorised to do this. Let’s look at the Twitter application on a mobile as another example: when you try to use the app, you have to sign into twitter and authorise access on Twitter’s website for the application. Your username and password authenticate you to Twitter, and then you choose to authorise the application’s access to the site. Authentication and authorisation may be done by other means as well for entities other than users. We’ll call any entity a user in this book, but that user might be a person, a computer, or something else entirely. With that dead horse beaten, we can move on.
The principle of privacy states that information may only be viewed by those authorised to view it. In terms of UNIX files, a user might be able to log into a computer, but does not have access to read another user’s files. On twitter, you can protect your timeline, so that only your friends can read your tweet. It’s not unreasonable for a user to expect they can control who else has access to their resources; obviously a user with a public blog expects anyone to be able to read their posts, but they may not expect just anyone to see other details about that user. When you’re designing an application, it helps to think about which pieces of information a user should have control over. Some applications will require fine-grained control–say it’s designed so user A can choose to share one post only with group B and another post only with group C. Others will be course-grained–users in group B will always have access to posts by user A.
Anonymity is a hot topic these days with the so-called “nym wars” on Google+ as but one example. This boils down to the idea that, depending on your stance, a user should be able to separate their different identities from each other. In the Google+ debate, it’s the idea that users want to be able to separate their real-world identity from their electronic identity. That is, my identity on Google+ may not be the same identity I want to use on my blog. This brings out another point about security: most security engineering isn’t just a technical question; it’s a social question. Many of our applications aren’t just technical applications, but have social value as well; many security decisions are made by weighing social considerations. Your decision in regards to anonymity is going to be a social decision, but it should be decided while designing the application. Bolt-on security (added after the design phase) may be somewhat effective, but it tends to cause a lot of problems.
Repudiation is a fancy word that means the ability to deny ownership of information. You’ll hear this term a lot in discussions about cryptography, particularly with digital signatures. If a user’s data is repudiable, the user can plausibly deny owning that data (for example, user A might want to be able to deny having posted something unpopular about a sensitive topic). Conversely, if a user’s information is non-repudiable, she cannot plausibly deny owning that information. I’ll have more to say on this in a bit, but for now you know what I’m talking about when I bandy about the term like “non-repudiable.”
Users also want some degree of assurance that their data won’t be changed or tampered with. This is the principle of data integrity–information may only be changed by people authorised to do so. This isn’t just a security issue; natural disasters and junior sysadmins (some would say naming both is a redundancy) have a clever way of accidentally modifying your data without the user’s authorisation. Of course, we expect (and probably constantly tell) users to backup their data, but your application may not be easily backed up by the user. There’s also a case to be made for transparency in both showing users what data you have of theirs on your systems or in your application and allowing them to download or backup that information easily. Even data like photos, which are easy to back up, may come from a disparate number of sources, should be considered. For example, a user might upload photos from his phone, his laptop, and his tablet. All these different sources may make backing up more difficult, although far from impossible, and having one place to back them all up from may be useful.
These basic principles are all properties to consider when designing your system; they fit alongside all the other software engineering principles like modularity that should be considered. It is far easier to design these in at the start than to try to bolt them on later.
Another thing to think about is the use case for your software; namely, you might not be able to think of all the ways users will use the system. Of course, we’d like to think of our users as living in an ideal world where using real names isn’t an issue and no one has anything to hide, but this is not the world we live in. You should also consider some of the challenges faced by users living in non-ideal places. If you’re allowing people to upload data or users must download information to synchronise, consider that many users don’t have high-speed internet or a large bandwidth cap. In many countries, power is at a premium, and users shut down their computers when they aren’t using them out of economic necessity, instead of being able to leave them on. Users might also be living in restrictive regions where posting information critical of other people might be dangerous for them. If you have any desire for your software to have a global impact, you should consider them. If your application isn’t region-specific, you should most certainly keep this in mind when designing your software.
There are a couple areas you can start to actually design security into your code. First, there are the fundamental security mechanisms available on the platform you are coding on. There are coding errors that can lead to flaws, such as the well-known SQL injections and buffer overflows that are some of the mainstays of many successful attacks. There are mechanisms to secure data in transit (when the data is being accessed and used) and at rest (when the data is not being used). As coding errors have been dealt with quite effectively in many other books (see the bibliography for more), we’ll focus on the fundamental security mechanisms and other data security mechanisms, and in particular, how we can use basic UNIX security mechanisms and cryptography effectively. We’ll also consider some real world ways in which failing to secure your code can lead to an exploit.


SAX parser handler that handles XML 1-wire tags.
More...
Inherits org::xml::sax::ErrorHandler, and org::xml::sax::DocumentHandler.
List of all members.
Public Member Functions |
| void | setDocumentLocator (Locator locator) |
| | Method setDocumentLocator.
|
| void | startDocument () throws SAXException |
| | Method startDocument.
|
| void | endDocument () throws SAXException |
| | Method endDocument.
|
| void | startElement (String name, AttributeList atts) throws SAXException |
| | Method startElement.
|
| void | endElement (String name) throws SAXException |
| | Method endElement.
|
| void | characters (char ch[], int start, int length) throws SAXException |
| | Method characters.
|
| void | ignorableWhitespace (char ch[], int start, int length) throws SAXException |
| | Method ignorableWhitespace.
|
| void | processingInstruction (String target, String data) throws SAXException |
| | Method processingInstruction.
|
| Vector | getTaggedDeviceList () |
| | Method getTaggedDeviceList.
|
| void | setAdapter (DSPortAdapter adapter) throws com.dalsemi.onewire.OneWireException |
| | Method setAdapter.
|
| void | fatalError (SAXParseException exception) throws SAXParseException |
| | Method fatalError.
|
| void | error (SAXParseException exception) throws SAXParseException |
| | Method error.
|
| void | warning (SAXParseException exception) |
| | Method warning.
|
| Vector | getAllBranches () |
| | Method getAllBranches.
|
| Vector | getAllBranchPaths () |
| | Method getAllBranchPaths.
|
Detailed Description
SAX parser handler that handles XML 1-wire tags.
Member Function Documentation
| void characters |
( |
char |
ch[], |
|
|
int |
start, |
|
|
int |
length |
|
) |
| throws SAXException |
Method characters.
- Parameters:
-
- Exceptions:
-
| void endDocument |
( |
| ) |
throws SAXException |
Method endDocument.
- Exceptions:
-
| void endElement |
( |
String |
name | ) |
throws SAXException |
Method endElement.
- Parameters:
-
- Exceptions:
-
| void error |
( |
SAXParseException |
exception | ) |
throws SAXParseException |
Method error.
- Parameters:
-
- Exceptions:
-
| void fatalError |
( |
SAXParseException |
exception | ) |
throws SAXParseException |
Method fatalError.
- Parameters:
-
- Exceptions:
-
| Vector getAllBranches |
( |
| ) |
|
Method getAllBranches.
- Parameters:
-
- Returns:
- Vector of all TaggedDevices of type "branch".
| Vector getAllBranchPaths |
( |
| ) |
|
Method getAllBranchPaths.
- Parameters:
-
- Returns:
- Vector of all possible OWPaths.
| Vector getTaggedDeviceList |
( |
| ) |
|
Method getTaggedDeviceList.
- Returns:
| void ignorableWhitespace |
( |
char |
ch[], |
|
|
int |
start, |
|
|
int |
length |
|
) |
| throws SAXException |
Method ignorableWhitespace.
- Parameters:
-
- Exceptions:
-
| void processingInstruction |
( |
String |
target, |
|
|
String |
data |
|
) |
| throws SAXException |
Method processingInstruction.
- Parameters:
-
- Exceptions:
-
Method setAdapter.
- Parameters:
-
- Exceptions:
-
| void setDocumentLocator |
( |
Locator |
locator | ) |
|
Method setDocumentLocator.
- Parameters:
-
| void startDocument |
( |
| ) |
throws SAXException |
Method startDocument.
- Exceptions:
-
| void startElement |
( |
String |
name, |
|
|
AttributeList |
atts |
|
) |
| throws SAXException |
Method startElement.
- Parameters:
-
- Exceptions:
-
| void warning |
( |
SAXParseException |
exception | ) |
|
Method warning.
- Parameters:
-
The documentation for this class was generated from the following file:


Python InheritanceInheritance is an important aspect of the object-oriented paradigm. Inheritance provides code reusability to the program because we can use an existing class to create a new class instead of creating it from scratch. In inheritance, the child class acquires the properties and can access all the data members and functions defined in the parent class. A child class can also provide its specific implementation to the functions of the parent class. In this section of the tutorial, we will discuss inheritance in detail. In python, a derived class can inherit base class by just mentioning the base in the bracket after the derived class name. Consider the following syntax to inherit a base class into the derived class. SyntaxA class can inherit multiple classes by mentioning all of them inside the bracket. Consider the following syntax. SyntaxExample 1Output: dog barking Animal Speaking Python Multi-Level inheritanceMulti-Level inheritance is possible in python like other object-oriented languages. Multi-level inheritance is archived when a derived class inherits another derived class. There is no limit on the number of levels up to which, the multi-level inheritance is archived in python. The syntax of multi-level inheritance is given below. SyntaxExampleOutput: dog barking Animal Speaking Eating bread... Python Multiple inheritancePython provides us the flexibility to inherit multiple base classes in the child class. The syntax to perform multiple inheritance is given below. SyntaxExampleOutput: 30 200 0.5 The issubclass(sub,sup) methodThe issubclass(sub, sup) method is used to check the relationships between the specified classes. It returns true if the first class is the subclass of the second class, and false otherwise. Consider the following example. ExampleOutput: True False The isinstance (obj, class) methodThe isinstance() method is used to check the relationship between the objects and classes. It returns true if the first parameter, i.e., obj is the instance of the second parameter, i.e., class. Consider the following example. ExampleOutput: True Method OverridingWe can provide some specific implementation of the parent class method in our child class. When the parent class method is defined in the child class with some specific implementation, then the concept is called method overriding. We may need to perform method overriding in the scenario where the different definition of a parent class method is needed in the child class. Consider the following example to perform method overriding in python. ExampleOutput: Barking Real Life Example of method overridingOutput: Bank Rate of interest: 10 SBI Rate of interest: 7 ICICI Rate of interest: 8 Data abstraction in pythonAbstraction is an important aspect of object-oriented programming. In python, we can also perform data hiding by adding the double underscore (___) as a prefix to the attribute which is to be hidden. After this, the attribute will not be visible outside of the class through the object. Consider the following example. ExampleOutput: The number of employees 2 AttributeError: 'Employee' object has no attribute '__count'
Next TopicEnvironment Setup
|
Python InheritanceInheritance is an important aspect of the object-oriented paradigm. Inheritance provides code reusability to the program because we can use an existing class to create a new class instead of creating it from scratch. In inheritance, the child class acquires the properties and can access all the data members and functions defined in the parent class. A child class can also provide its specific implementation to the functions of the parent class. In this section of the tutorial, we will discuss inheritance in detail. In python, a derived class can inherit base class by just mentioning the base in the bracket after the derived class name. Consider the following syntax to inherit a base class into the derived class. SyntaxA class can inherit multiple classes by mentioning all of them inside the bracket. Consider the following syntax. SyntaxExample 1Output: dog barking Animal Speaking Python Multi-Level inheritanceMulti-Level inheritance is possible in python like other object-oriented languages. Multi-level inheritance is archived when a derived class inherits another derived class. There is no limit on the number of levels up to which, the multi-level inheritance is archived in python. The syntax of multi-level inheritance is given below. SyntaxExampleOutput: dog barking Animal Speaking Eating bread... Python Multiple inheritancePython provides us the flexibility to inherit multiple base classes in the child class. The syntax to perform multiple inheritance is given below. SyntaxExampleOutput: 30 200 0.5 The issubclass(sub,sup) methodThe issubclass(sub, sup) method is used to check the relationships between the specified classes. It returns true if the first class is the subclass of the second class, and false otherwise. Consider the following example. ExampleOutput: True False The isinstance (obj, class) methodThe isinstance() method is used to check the relationship between the objects and classes. It returns true if the first parameter, i.e., obj is the instance of the second parameter, i.e., class. Consider the following example. ExampleOutput: True Method OverridingWe can provide some specific implementation of the parent class method in our child class. When the parent class method is defined in the child class with some specific implementation, then the concept is called method overriding. We may need to perform method overriding in the scenario where the different definition of a parent class method is needed in the child class. Consider the following example to perform method overriding in python. ExampleOutput: Barking Real Life Example of method overridingOutput: Bank Rate of interest: 10 SBI Rate of interest: 7 ICICI Rate of interest: 8 Data abstraction in pythonAbstraction is an important aspect of object-oriented programming. In python, we can also perform data hiding by adding the double underscore (___) as a prefix to the attribute which is to be hidden. After this, the attribute will not be visible outside of the class through the object. Consider the following example. ExampleOutput: The number of employees 2 AttributeError: 'Employee' object has no attribute '__count'
Next TopicEnvironment Setup
|
Python InheritanceInheritance is an important aspect of the object-oriented paradigm. Inheritance provides code reusability to the program because we can use an existing class to create a new class instead of creating it from scratch. In inheritance, the child class acquires the properties and can access all the data members and functions defined in the parent class. A child class can also provide its specific implementation to the functions of the parent class. In this section of the tutorial, we will discuss inheritance in detail. In python, a derived class can inherit base class by just mentioning the base in the bracket after the derived class name. Consider the following syntax to inherit a base class into the derived class. SyntaxA class can inherit multiple classes by mentioning all of them inside the bracket. Consider the following syntax. SyntaxExample 1Output: dog barking Animal Speaking Python Multi-Level inheritanceMulti-Level inheritance is possible in python like other object-oriented languages. Multi-level inheritance is archived when a derived class inherits another derived class. There is no limit on the number of levels up to which, the multi-level inheritance is archived in python. The syntax of multi-level inheritance is given below. SyntaxExampleOutput: dog barking Animal Speaking Eating bread... Python Multiple inheritancePython provides us the flexibility to inherit multiple base classes in the child class. The syntax to perform multiple inheritance is given below. SyntaxExampleOutput: 30 200 0.5 The issubclass(sub,sup) methodThe issubclass(sub, sup) method is used to check the relationships between the specified classes. It returns true if the first class is the subclass of the second class, and false otherwise. Consider the following example. ExampleOutput: True False The isinstance (obj, class) methodThe isinstance() method is used to check the relationship between the objects and classes. It returns true if the first parameter, i.e., obj is the instance of the second parameter, i.e., class. Consider the following example. ExampleOutput: True Method OverridingWe can provide some specific implementation of the parent class method in our child class. When the parent class method is defined in the child class with some specific implementation, then the concept is called method overriding. We may need to perform method overriding in the scenario where the different definition of a parent class method is needed in the child class. Consider the following example to perform method overriding in python. ExampleOutput: Barking Real Life Example of method overridingOutput: Bank Rate of interest: 10 SBI Rate of interest: 7 ICICI Rate of interest: 8 Data abstraction in pythonAbstraction is an important aspect of object-oriented programming. In python, we can also perform data hiding by adding the double underscore (___) as a prefix to the attribute which is to be hidden. After this, the attribute will not be visible outside of the class through the object. Consider the following example. ExampleOutput: The number of employees 2 AttributeError: 'Employee' object has no attribute '__count'
Next TopicEnvironment Setup
|
Python InheritanceInheritance is an important aspect of the object-oriented paradigm. Inheritance provides code reusability to the program because we can use an existing class to create a new class instead of creating it from scratch. In inheritance, the child class acquires the properties and can access all the data members and functions defined in the parent class. A child class can also provide its specific implementation to the functions of the parent class. In this section of the tutorial, we will discuss inheritance in detail. In python, a derived class can inherit base class by just mentioning the base in the bracket after the derived class name. Consider the following syntax to inherit a base class into the derived class. SyntaxA class can inherit multiple classes by mentioning all of them inside the bracket. Consider the following syntax. SyntaxExample 1Output: dog barking Animal Speaking Python Multi-Level inheritanceMulti-Level inheritance is possible in python like other object-oriented languages. Multi-level inheritance is archived when a derived class inherits another derived class. There is no limit on the number of levels up to which, the multi-level inheritance is archived in python. The syntax of multi-level inheritance is given below. SyntaxExampleOutput: dog barking Animal Speaking Eating bread... Python Multiple inheritancePython provides us the flexibility to inherit multiple base classes in the child class. The syntax to perform multiple inheritance is given below. SyntaxExampleOutput: 30 200 0.5 The issubclass(sub,sup) methodThe issubclass(sub, sup) method is used to check the relationships between the specified classes. It returns true if the first class is the subclass of the second class, and false otherwise. Consider the following example. ExampleOutput: True False The isinstance (obj, class) methodThe isinstance() method is used to check the relationship between the objects and classes. It returns true if the first parameter, i.e., obj is the instance of the second parameter, i.e., class. Consider the following example. ExampleOutput: True Method OverridingWe can provide some specific implementation of the parent class method in our child class. When the parent class method is defined in the child class with some specific implementation, then the concept is called method overriding. We may need to perform method overriding in the scenario where the different definition of a parent class method is needed in the child class. Consider the following example to perform method overriding in python. ExampleOutput: Barking Real Life Example of method overridingOutput: Bank Rate of interest: 10 SBI Rate of interest: 7 ICICI Rate of interest: 8 Data abstraction in pythonAbstraction is an important aspect of object-oriented programming. In python, we can also perform data hiding by adding the double underscore (___) as a prefix to the attribute which is to be hidden. After this, the attribute will not be visible outside of the class through the object. Consider the following example. ExampleOutput: The number of employees 2 AttributeError: 'Employee' object has no attribute '__count'
Next TopicEnvironment Setup
|


Before becoming a software developer, I made a living as a musician. I've had the pleasure of performing throughout the United States in various operatic roles and as a concert soloist. Here are some pictures of me performing and a couple audio clips accompanied by Joseph Eckelkamp


THE FIFTH ELEMENT A film review by Bennett Nason Copyright 1997 Bennett Nason
Well, I've been lurking a bit here reading the posts on T5E, and have only one thing to say...
If you have time, *get out to see it!!*
It seems that many people are analyzing/understanding the movie incorrectly. The movie, as many people state, isn't meant to be serious (despite the message that love has extraordinary power at the end, which I kinda' liked...) It has a *ton* of humor in it, which is one of the most decisive factors in favor of this movie. I couldn't help but laugh all the way through the scene with the Father and Zorg (not to disclose too much here, but the funny looking alien thing with the long nose and the little robots were too much, not to mention Ruby and Zorg in general...)
In addition, the special effects were simply dazzling... the visual artistry within this movie is deserving of much merit. The label of "eye candy" that is applied to it isn't in my mind fair. To call this film "eye candy" would be like calling the Mona Lisa "eye candy", something I hope all reading this would understand to be too simplistic. The scenes of NY and the multi-layered traffic scenes are absolutely breathtaking. (As a disclaimer, I'm not comparing T5E to the Mona Lisa... just drawing an analogy of sorts...)
As far as the script and acting go, I'm more or less convinced that it is so-so. However, I enjoyed throughly the performances of Oldman (Zorg), Ruby, and thought that Jovovich did a damned cool job of playing Leeloo. However, I don't go to movies to gaggle and drool over good acting - if that's what I want, I go to stage performances. The two mediums are meant for different things, and you'll find many mroe talented **ACTORS**, in the purest sense, on stage, not on screen. Screen actors have to perform differently, and they more or less didn't detract from this movie.
So, in the end, I think that the movie is a success, in that it delivers all it is meant to. It isn't meant to be th most fabulous movie of all time - it is meant to entertain and do so well. In that regard, I didn't get bored once, but stayed entertained and more all the way through.
-Bennett Nason
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


MANON OF THE SPRING A film review by Wayne Citrin Copyright 1987 Wayne Citrin
Just caught a local sneak preview yesterday of MANON OF THE SPRING, the second part of JEAN DE FLORETTE. I gave JEAN DE FLORETTE a favorable (3 stars out 4) review about a month ago, and reported that it seemed to stand on its own even though it was the first part of a two-part work. In this it differs from MANON OF THE SPRING, which I believe cannot be properly appreciated without having seen the first part. I don't want to give away too much of the plot, since it may spoil it for those who haven't seen JEAN DE FLORETTE, but it is safe to report that MANON OF THE SPRING is the story of the revenge taken by the daughter of Jean on Papet and Ugolin, which is to be expected by those who saw the first film. The way in which this revenge unfolded was somewhat of a surprise (at least to me), although what was not a surprise was the way in which the second film clarifies the personal relationships that were only hinted at in the first film.
MANON OF THE SPRING moves more quickly than JEAN DE FLORETTE, due to the larger number of locations and characters and the broader sweep of the plot, which takes in the whole town, unlike the first film which concentrated on the struggle over a single farm. The acting and production are up to the high standards of the first film and, if anything, the portrayal of the dynamics of provincial village life in southern France between the wars is even better. Again, the characters are well-rounded and well-motivated, even the nominal villains.
Ideally, the best way to see this film is as a double feature with an intermission, as I did last night. Seeing MANON OF THE SPRING alone is less satisfying, particularly if one has not seen JEAN DE FLORETTE. For those who have seen JEAN DE FLORETTE, however, I give MANON OF THE SPRING the same three stars out of four.
Wayne Citrin (ucbvax!citrin)
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Toolkit for processing and calling interactions in capture Hi-C data. Converts BAM files into counts of reads linking restriction fragments, and identifies pairs of fragments that interact more than expected by chance. Significant interactions are identified by comparing the observed read count to the expected background rate from a count regression model.
| Version: | 0.1.0 |
| Depends: | R (≥ 3.4.0), gamlss.tr, gamlss |
| Imports: | data.table, MASS, stats, foreach, doParallel |
| Suggests: | knitr, rmarkdown, testthat, GenomicInteractions, Gviz |
| Published: | 2018-08-30 |
| Author: | Erle Holgersen [aut, cre], Olivia Leavy [aut], Olivia Fletcher [aut], Frank Dudbridge [aut], Syed Haider [aut] |
| Maintainer: | Erle Holgersen <Erle.Holgersen at icr.ac.uk> |
| License: | GPL-2 |
| NeedsCompilation: | no |
| SystemRequirements: | bedtools |
| Materials: | NEWS |
| CRAN checks: | chicane results |
| Reference manual: | chicane.pdf |
| Vignettes: |
Introduction Visualising Interactions |
| Package source: | chicane_0.1.0.tar.gz |
| Windows binaries: | r-devel: chicane_0.1.0.zip, r-release: chicane_0.1.0.zip, r-oldrel: chicane_0.1.0.zip |
| OS X binaries: | r-release: chicane_0.1.0.tgz, r-oldrel: chicane_0.1.0.tgz |
Please use the canonical form https://CRAN.R-project.org/package=chicane to link to this page.


{% extends "base.html" %} {% load static %} {% block content %}
Simple home heating/cooling systems only react after a change has occurred (e.g. Boolean Thermostat, Timer) rather than proactively anticipating temperature fluctuations in a system. If these external fluctuations could be anticipated – the internal fluctuations in temperature wouldn’t be as severe (if any at all). This intelligent home heating/cooling system can be used to record and monitor both the state and rate of change of internal/external temperature & weather data. The recorded data can then be used with simple machine learning to optimize cost and/or comfort. The simple & concise interface allows full control and monitoring over the entire system.


Multi Series Line chart for the Number of Persons Arrested and Not_Arrested for the Assault case over the years(2001-2016)
Back


A smarter way to sleep and wake up with a natural light alarm smart pillow.
Physical Prototyper
UX Design
Research has shown artificial dawn alarms to reduce “sleep inertia”, the period of grogginess following waking. Additionally, sleepers are relying more and more on their mobile phones for checking the time and setting alarms which can disrupt sleep for a variety of reasons. I approached the following questions:
Our team reviewed sleep literature and distributed a survey to try and understand sleeping habits of respondents. The survey was created using Google Forms and our literature review was trying to understand what color lights to use in which circumstances to achieve our goals of either gently waking our users or preventing their sleep from being disrupted when checking the time in the middle of the night.
Over half of our 23 respondents used their cell phone at night to check the time when they woke up, which can disrupt sleep with bright lights, notifications and potential anxiety.
Our survey showed that of our 23 respondents, most used a sound based alarm to wake up in the morning – meaning a more abrupt, less rested waking experience.
The ideation process was quick revolved around objects already found in the rooms of those surveyed. I used individual sketching and group ideation techniques. Possible solutions evolved to be:
After deciding on the pillow direction, I created a mobile interface for setting alarms for Eos. I began by sketching interface concepts. I took cues from well designed existing alarm solutions and paired this with standard usability practices to establish my app design goals:
The final product is a hand sewn pillow two Arduinos, a flexible baseboard with the LED arrays mounted to it. The pillow stuffing serves to diffuse the light from the LEDs. A wake cycle demo is programmed into the Arduinos which simulates an expedited alarm sequence. First, the lights uniformly change from off to a deep blue, which then fades into a bright white. This white then fades into an orange white twinkle imitating twilight at the time the user sets their alarm. If they have not been gently roused from their sleep, the vibration motors engage to provide a physical alarm along with an orange pulsing, until the user flips their pillow over to silence the alarm.
An abstract clock is on the side of the pillow is engaged by a soft potentiometer, resulting in activation by touch.
Two Arduinos control the lights and vibration motors enclosed in a laser cut box, powered by a 6000mah USB power bank.
The array of LEDs serve to light the pillow. Each light can be set with an RGB value, enabling fading and animating.
Two clock modes prevent the use of a bright and distracting phone in the middle of the night to check the time.
The pillow cycles through various light colors and intensities before entering alarm mode which introduces vibration.
I created a mockup of the application in Sketch and animated it in Principle.
The mobile application is designed to be very similar to the iOS clock application so users feel familiar with the interface from the start. First, the pillow is connected to the app interface. Next, the alarm is set. The options available compliment the abilities of the LEDs and motors, and allow the user to select:
By tapping the alarm, the app previews the wake cycle.
Evaluation was limited to casual testing of light brightness, vibration intensity and discussions of usefulness. I would be interested in implementing the following in later versions:
Redesign the brain of the system by using one single Raspberry Pi Zero or custom printed circuit board to control the lights, which would also allow the system to understand what time it was.
Remove flexible baseboard in favor of LEDs connected with conductive thread, allowing them to float freely and making the pillow far more comfortable.


Generate HTML5 slideshows from markdown, ReST, or textile.
Landslide is primarily written in Python, but it's themes use:
Landslide supports code snippets
1 def log(self, message, level='notice'):
2 if self.logger and not callable(self.logger):
3 raise ValueError(u"Invalid logger set, must be a callable")
4
5 if self.verbose and self.logger:
6 self.logger(message, level)
| Table of Contents | t |
|---|---|
| Exposé | ESC |
| Full screen slides | e |
| Presenter View | p |
| Source Files | s |
| Slide Numbers | n |
| Toggle screen blanking | b |
| Show/hide slide context | c |
| Notes | 2 |
| Help | h |


'Endless pastabilities': Regina's Olive Garden opens Monday
Get ready for endless soup, salad and breadsticks, Regina.
by Regina Leader-PostGet ready for endless soup, salad and breadsticks, Regina.
The city’s first Olive Garden, located on Gordon Road in the Grasslands Shopping Centre near Harbour Landing, opens at 11 a.m. Monday.
Saskatoon is also getting a location of the Italian restaurant chain, which is yet to open. Each location is expected to create “about 150 jobs.”
The location in Saskatoon is expected to open at Preston Crossing.
Business experts in Saskatoon said the restaurant will be a welcome addition.
“It’s very important that we have both sides of that coin, that equation, in terms of local, organic businesses that are grown right here in Saskatoon, as well as chain versions of business that come into Saskatoon,” said Darla Lindbjerg, CEO of the Greater Saskatoon Chamber of Commerce.
With Saskatoon the youngest, fastest growing metropolitan area in Canada, restaurant chains like Olive Garden and other businesses “are taking notice and seeing the potential here in Saskatoon,” she said.
Terri Klyne, director of property management with Harvard Property Management Inc. in Saskatchewan — which operates the Preston Crossing open-air retail space — said the company is excited to have Olive Garden come into the mix.
“Olive Garden is a household name in many other provinces and we are definitely excited to have them come to site,” Klyne said. “We expect that it will open to great fanfare.”


{include file="layout/c_style" /} {include file="layout/c_corejs" /} {load href="/static/css/productManagement.css" /}


Total invoices
75, 650
39% more growth
New users
37, 650
43% more this year
Unique visits
1349
69% increase
Bounce rate
37, 580
65% higher rate
GoogleGoogle Inc.
The search engine giant
Czech Republic
+3.53%TeslaTesla, Inc.
Master of innovations
South Africa
+1.26%Performance
Data 70%
Email 15%
Website 35%
Mobile App 30%
Branding 50%
UI Kits 90%
Total income
$8900
New expense
$6340
Earning report
Past 30 Days — Last Updated Oct 14, 2017
Projects of the month
We have 12 new projects from USA this month in Web Applications
| Assigned | Product | Priority |
|---|---|---|
|
Sophia Brown Product Designer |
Web App | |
|
Rachel Newton Mobile Developer |
Mobile App | |
|
Marcus Stevens Core Developer |
Plugin | |
|
Theresa Becker Product Designer |
Web App | |
|
Jessie Ortiz Web Developer |
SAAS App |
Todo list
Issue rate
12,456
Issues this Month


Download
Deltacloud Core
Deltacloud Core provides the API server and drivers necessary for connecting to the cloud providers.
Presently, it is packaged as a Ruby gem. You can install it by typing the following command:
$ sudo gem install deltacloud-core
Additional Tools
These are complementary to the essential Core components.
libdeltacloud
A library for accessing the Deltacloud API from C/C++ programs.
You can get the source code:
$ git clone git://git.fedorahosted.org/deltacloud/libdeltacloud.git
Or you can download the RPMs for Fedora 12 and 13:
http://people.redhat.com/clalance/libdeltacloud
Contributed by Chris Lalancette.
Deltacloud Client
Deltacloud Client is a command line tool that communicates with the Deltacloud API.
Type the following command to install it:
$ gem install deltacloud-core
Deltacloud driver for VirtualBox
http://gitorious.org/deltacloud-devel/deltacloud-virtualbox-driver
Contributed by Michal Fojtik.
Your name here
Do you have a tool to make Deltacloud more useful? Let us know on our [deltacloud-devel mailing list][deltacloud-devel] and we'll post it here!