| I l@ve RuBoard |
Python has excellent built-in file support that works on all platforms supported by Python.
Most of the key file-manipulation functions live in the os module and an associated module called os.path . To provide a degree of platform independence, os loads in the right module for your platform. os provides basic file-handling functions, and os.path handles operations on paths and filenames. On Windows, these modules are called nt and ntpath respectively, although they should always be referred to as os and os.path. The functions in the os module generally accept the same arguments as their corresponding MS-DOS commands. Table 17.1 depicts the os module's file and directory functions.
|
Module and Function |
Description |
|---|---|
os.getcwd() |
Gets the current working directory. |
os.chdir(newdir) |
Changes the current working directory. |
os.rmdir(dir) |
Removes a directory, if allowed. |
os.mkdir(newdir) |
Creates a directory, supplies either an absolute path or a subdirectory name to go under the current directory. |
os.exists(name) |
Says if something exists, but doesn't say if it's a file or directory. |
os.isdir(dirname) |
Says that a directory exists. |
os.isfile(filename) |
Says that a file exists. filename may include a path; if not, it looks in the current directory. |
os.listdir(dirname) |
Returns a list of the files and directories within the given directory. |
glob.glob(pattern) |
Returns a list of files matching the given pattern (using expressions such as dir *.doc is known as file globbing on Unix, hence the name). Just like the command prompt and most other Windows tools, the pattern accepts the ? character to match a single character or the * character to match any number of characters. If you need to use true regular expressions [1] to match filenames, use os.listdir() and the re module. |
[1] A regular expression uses patterns to match strings. The filename-matching capabilities described are similar in concept to regular expressions, although the regular expressions provided by the Python re module provide a syntax similar to Perl and offer far more matching capabilities than the simple filename-matching patterns described here.
Here are some quick examples:
>>> import os >>> os.getcwd() 'C:\\Program Files\\Python' >>> os.chdir('C:\\temp') >>> os.mkdir('subdirectory1') >>> os.rmdir('subdirectory1') >>>
What's with the \\? This is Python's literal string syntax. Python lets you directly enter special characters at the interactive prompt or in strings embedded in your code. For example, \n means a newline, \t is a tab, and \123 is the octal number 123. If you just want a plain old slash, you have to type \\. The only place where this feels slightly weird is in manipulating filenames. Remember to double all your slashes. An alternative is to use a forward slash (like c:/temp); but Python always gives backslashes when you ask for directory lists on Windows:
>>> mydir = 'c:\\data\\project\\oreilly\\text' >>> os.path.exists(mydir) 1 >>> os.path.isdir(mydir) 1 >>> os.path.isfile(mydir) #hope not 0 >>> os.listdir(mydir) ['ChapterXX.doc', '00index.txt', ...] >>> import glob >>> glob.glob(mydir + '\\' + '*files*.doc') ['c:\\data\\project\\oreilly\\text\\Chapter_-_Processes_and_Files1.doc', 'c:\\ data\\project\\oreilly\\text\\files.doc', 'c:\\data\\project\\oreilly\\text\\ Chapter_-_PythonFiles.doc'] >>>
Note that if you don't want full paths from glob, chdir into the directory first.
The os.path module provides platform-independent routines for chopping up and putting together filenames. os.path.split(path) separates a full path into the directory and filename components; os.path.splitext(filename) separates the filename (and path, if present) from the extension.
As discussed, DOS and Windows use a backslash to separate directories. We shouldn't have used the line glob.glob(mydir + '\\' + '*files*.doc') in the previous example; use the variable os.sep instead. On a Unix platform, this is a forward slash:
>>> os.path.split('c:\\windows\\system\\gdi.exe') ('c:\\windows\\system', 'gdi.exe') >>> os.path.splitext('gdi.exe') ('gdi', '.exe') >>> os.path.splitext('c:\\windows\\system\\gdi.exe') ('c:\\windows\\system\\gdi', '.exe') >>> (root, ext) = os.path.splitext('c:\\mydata\\myfile.txt') >>> newname = root + '.out' >>> newname 'c:\\mydata\\myfile.out' >>>
The function tempfile.mktemp() returns a filename suitable for temporary use; this function is available on every platform, but it's smart enough to know where your \temp directory is on Windows:
>>> import tempfile >>> tempfile.mktemp() 'C:\\WINDOWS\\TEMP\\~-304621-1' >>>
When the file is closed, it's automatically deleted, assisting in the housekeeping that often goes with working with temporary files.
The function os.stat( filename) returns information about files or directories without opening them. It returns a tuple of ten items. With a tuple of this size, it can be hard to recall what each element is for, so the standard Python module stat contains a number of constants and functions to assist in working with these entries. Table 17.2 lists the entries returned by os.stat().
|
Index |
Constant |
Description |
|---|---|---|
|
0 |
stat.ST_MODE |
Bit mask for file-mode information. The stat.S_IFDIR bit is set if path specifies a directory; the stat.S_IFREG bit is set if path specifies an ordinary file or a device. |
|
1 |
stat.ST_INO |
Not used on Windows filesystems. |
|
2 |
stat.ST_DEV |
Drive number of the disk containing the file. |
|
3 |
stat.ST_NLINK |
The Visual C++ documentation is not very helpful on this one. It simply states "Always 1 on non-NTFS filesystems." |
|
4 |
stat.ST_UID |
Not used on Windows. |
|
5 |
stat.ST_GID |
Not used on Windows. |
|
6 |
stat.ST_SIZE |
Size of the file in bytes. This is limited to 64 bits, so for large files you should use the win32file.GetFileSize() function, which returns large file sizes as a long integer. |
|
7 |
stat.ST_ATIME |
The time the file was last accessed or zero if the filesystem doesn't support this information. |
|
8 |
stat.ST_MTIME |
The time the file was last modified or zero if the filesystem doesn't support this information. |
|
9 |
stat.ST_CTIME |
The time the file was created or zero if the filesystem doesn't support this information. |
Some of these aren't used on Windows, but contain useful information when used on other operating systems. Also, note that all dates are returned as integers compatible with the Python time module. Depending on the format of the disk holding the file, some of these time values may not be available.
Let's see an example of using the stat() function:
>>> os.stat('c:\\autoexec.bat') (33279, 0, 2, 1, 0, 0, 640, 916444800, 915484932, 915484930) >>>
Here's a function to decode it:
import os, stat, time def getfileinfo(filename): stats = os.stat(filename) size = stats[stat.ST_SIZE] print 'File size is %d bytes' % size accessed = stats[stat.ST_ATIME] modified = stats[stat.ST_MTIME] print 'Last accessed: ' + time.ctime(accessed) print 'Last modified: ' + time.ctime(modified)
And the output:
>>> decode_stat.getfileinfo('c:\\autoexec.bat') File size is 640 bytes Last accessed: Sat Jan 16 00:00:00 1999 Last modified: Mon Jan 04 21:22:12 1999 >>>
Unfortunately, there's no portable Python module for working with file permissions. Modules exist for working with permissions on various operating systems, including Windows and Unix, but the differences between the various schemes make a simple and unified model difficult. Windows NT permissions are themselves complex and beyond the scope of this book; indeed, it would require a book of this size to cover them in detail. There is a brief example of working with permissions in Chapter 16.
Often you need to move through a directory tree looking at all the subdirectories or files in turn. The Python library provides a powerful generic routine to do this: os.path.walk() .
The general idea is that you specify a directory, and os.path.walk() calls a function (that you write) once for each subdirectory of the main directory. Each time your function is called, it's passed a list of all filenames in that directory. Thus, your function can examine every file in every directory under the starting point you specify.
The function you write to perform the desired operation on the file is of the form myfunc(arg, dirname, filenames). The first argument can be anything you want; we will see examples later. The second argument contains the name of the current directory being examined, starting with the directory you specify in the argument to os.path.walk(); the third is the list of filenames in the directory.
Once you have written the function, call os.path.walk() with three parameters: the name of the directory in which to begin the walking, your callback function, and any third parameter you choose. This third parameter is passed unchanged in your callback function's first parameter, as described previously.
This first example lists the directories examined and how many files are present in each. This makes the callback function simple: you print the dirname parameter, and the length of the filenames parameter. Then call os.path.walk(), passing a directory from the Python installation and the simple function as the callback:
>>> def walker1(arg, dirname, filenames): ... #List directories and numbers of files ... print dirname,' contains', len(filenames), 'files' ... >>> os.path.walk('c:\\program files\\python\\win32', walker1, None) c:\program files\python\win32 contains 24 files c:\program files\python\win32\lib contains 39 files c:\program files\python\win32\Help contains 3 files c:\program files\python\win32\demos contains 19 files c:\program files\python\win32\demos\service contains 8 files c:\program files\python\win32\demos\service\install contains 3 files >>>
That was easy! Note that you don't need the extra argument and so use the value None. Now let's try something a bit more practical and write a program to scan for recent changes. This is useful for archiving or for trying to figure out which new application just ate your registry. The callback function becomes slightly more complex as you loop over the list of files. The example then checks the Windows system directory for all files changed in the last 30 days:
>>> import time >>> def walker2(arg, dirname, filenames): ... "Lists files modified in last ARG days" ... cutoff = time.time() - (arg * 24 * 60 * 60) ... for filename in filenames: ... stats = os.stat(dirname + os.sep + filename) ... modified = stats[8] ... if modified >= cutoff: ... print dirname + os.sep + filename ... >>> os.path.walk('c:\\windows\\system', walker2, 30) c:\windows\system\FFASTLOG.TXT c:\windows\system\MSISYS.VXD c:\windows\system\HwInfoD.vxd c:\windows\system\ws552689.ocx >>>
So far you haven't returned anything; indeed, if walker2 returned a value, you'd have no easy way to grab it. This is another common use for the "extra argument." Let's imagine you want to total the size of all files in a directory. It's tempting to try this:
def walker3(arg, dirname, filenames): "Adds up total size of all files" for filename in filenames: stats = os.stat(dirname + os.sep + filename) size = stats[6] arg = arg + size def compute_size(rootdir): "uses walker3 to compute the size" total = 0 os.path.walk(rootdir, walker3, total) return total
Here, a walker function does the work, and a controlling function sets up the arguments and returns the results. This is a common pattern when dealing with recursive functions.
Unfortunately this returns zero. You can't modify a simple numeric argument in this way, since arg within the function walker3() is a local variable. However, if arg was an object, you could modify its properties. One of the simplest answers is to use a list; it's passed around, and the walker function is free to modify its contents. Let's rewrite the function to generate a list of sizes:
# these two work... def walker4(arg, dirname, filenames): "Adds up total size of all files" for filename in filenames: stats = os.stat(dirname + os.sep + filename) size = stats[6] arg.append(size) def compute_size(rootdir): "uses walker3 to compute the size" sizes = [] os.path.walk(rootdir, walker4, sizes) # now add them up total = 0 for size in sizes: total = total + size return total
When run, this code behaves as desired:
>>> compute_size('c:\\program files\\python') 26386305 >>> # well, I do have a lot of extensions installed
There are numerous uses for this function, and it can save a lot of lines of code. Some possibilities include:
Archiving all files older than a certain date
Building a list of filenames meeting certain criteria for further processing
Synchronizing two file trees efficiently across a network, copying only the changes
Keeping an eye on users' storage requirements
We've started to see what makes Python so powerful for manipulating filesystems. It's not just the walk function: that could have been done in many languages. The key point is how walk interacts with Python's higher-level data structures, such as lists, to make these examples simple and straightforward.
Now we've had a good look at moving files around; it's time to look inside them.
Python has a built-in file object, which is available on all Python platforms. Any Python program you hope to run on platforms other than Windows should use the standard file objects. Once you have a Python file object, you can use the methods to read data from the file, write data to the file, and perform various other operations.
The function open(filename, mode="r") returns a file object. If mode is omitted, the file is opened read-only. Mode is a string, and can be r for reading, w for writing, or a for appending. Add the letter b for binary (as discussed in Chapter 3), and w+ opens it for updating. See the Python Library Reference (included in HTML format in the standard Python distribution) for further details.
Table 17.3 shows the most important methods for file objects. C programmers will note the similarity to the STDIO routines; this should be no surprise, as they are implemented using the C STDIO routines of the same names.
Every language has functions, such as read and write, and many have readline. Python's ability to handle lists and strings is what really makes file processing a joy. Let's run through a few common idioms.
Here readlines loads the entire file into a list of strings in memory:
>>> f = open('c:\\config.sys','r') >>> lines = f.readlines() >>> f.close() >>> from pprint import pprint >>> pprint(lines[0:3]) ['DEVICEHIGH = A:\\CDROM\\CDROM.SYS /D:CD001\012', 'device=C:\\WINDOWS\\COMMAND\\display.sys con=(ega,,1)\012', 'Country=044,850,C:\\WINDOWS\\COMMAND\\country.sys\012'] >>>
The pprint function (short for pretty-print) lets you display large data structures on several lines. Note also that each line still ends in a newline character (octal 012, decimal 10). Because the file is opened in text mode (by omitting the binary specification), you see a single newline character terminating each line, even if the actual file is terminated with carriage-return/linefeed pairs.
You can follow this with a call to string.split() to parse each line. Here's a generic function to parse tab-delimited data:
def read_tab_delimited_file(filename): "returns a list of tuples" # we can compress the file opening down to a one-liner - # the file will be closed automatically lines = open(filename).readlines() table = [] for line in lines: #chop off the final newline line = line[:-1] # split up the row on tab characters row = string.split(line, '\t') table.append(row) return table
And here's what it can do:
>>> data = read_tab_delimited_file('c:\\temp\\sales.txt') >>> pprint(data) [['Sales', '1996', '1997', '1998'], ['North', '100', '115', '122'], ['South', '176', '154', '180'], ['East', '130', '150', '190']] >>>
Note once again how useful pprint is! This is another of Python's key strengths: you can work at the interactive prompt, looking at your raw data, which helps you to get your code right early in the development process.
The previous example is suitable only for files that definitely fit into memory. If they might get bigger, you should loop a line at a time. Here is the common idiom for doing this:
f = open(filename,'r') s = f.readline() while s <> '': # do something with string 's' s = f.readline() f.close()
A number of people have complained about having to type readline() twice, while Perl has a one-line construction to loop over files. The standard library now includes a module called fileinput to save you this minimal amount of extra typing. The module lets you do the following:
import fileinput for line in fileinput.input([filename]): process(line)
If no filename is provided, the module loops over standard input, useful in script processing. Pass the filename parameter in single item list; fileinput iterates automatically over any number of files simply by including more items in this parameter. fileinput also lets you access the name of the file and the current line number and provides a mechanism to modify files in place (with a backup) in case something goes wrong.
The read() command loads an entire file into memory if you don't specify a size.  You didn't assign the file object to a variable, so Python closes it and deletes the object (but not the file!) after the line executes. You can slurp an entire file into a string in one line.
Python strings are eight-bit safe and are the easiest means to manipulate binary data. In addition to this, the struct module lets you create C-compatible structures and convert them to and from strings; and the array module efficiently handles arrays of data, which it can convert to and from strings and files.
More information on working with files and the other various Python modules we discussed here can be found in either of these fine O'Reilly Python books we've mentioned before: Programming Python and Learning Python .
| I l@ve RuBoard |


Serialization
Not all of our beloved Ruby objects can be serialized and set to the database in our queries. For these cases, Origin provides the means to define custom serializers for Ruby types that need translation to Mongo compatible forms. To get custom serialization for your objects, you need to do 1 of 2 things to "evolve" your objects into Mongo friendly values.
Class Method Evolution
Your first option is to provide a class method named
evolve
that takes a object on your object's class. A
good example of this is Ruby's Date
, which MongoDB
cannot handle - it only accepts times.
class Date def self.evolve(date) Time.utc(date.year, date.month, date.day, 0, 0, 0, 0) end end
In the above case, everytime you create a query that has a Date
object in it, Origin would convert the date to a UTC time for you. Note
that Origin already handles this for you, this is just an example of how it
was done.
Key Based Evolution
There may be cases that you want custom serialization based on the name of
the field that you are querying on, not the type you passed in. An example
of this are named fields in Mongoid - they use a class named
Field
to handle all of Mongoid's behaviour, but they need to
also serialize to the appropriate type when queries are made. Custom named
serializers need just to respond to an instance method evolve
.
class DateSerializer def evolve(date) Time.utc(date.year, date.month, date.day, 0, 0, 0, 0) end end
Then when instantiating your queryable, you need to provide it a hash of field name/serializer pairs as its second argument.
class Query include Origin::Queryable end queryable = Query.new({}, { "date" => DateSerializer.new })
After this, any queries made with the field date
in the
criteria will use the serializer to convert the value.
queryable.where(date: Date.new) #=> Will convert the date to a time.


ABN
Shows
Almost Better Than Dragons
A dungeons and dragons adventure by the cast of Almost Better Than Silence
Almost Better Than Silence
A show about technology and gaming on the internet
Dumbbells and Dragons
In a world where fitness and nerdiness collide, one man chooses to share the adventure with everyone.
Erie Canal Theatre
Erie Canal Theatre is a new ensemble creating art in Detroit.
One Track Gamers
A Video Game podcast that has a conversation about the latest updates in games and nerdy news.
Press Continue Podcast
Nostalgia in the form of retro and card gaming, arcade adventures, and board game conversations.
Paper News Out Loud
An absurdist news comedy that just might make you laugh.
Archived Shows
Cast
Contact
Podcasts
Almost Better Than Dragons
Almost Better Than Silence
Dumbbells and Dragons
Erie Canal Theatre
One Track Gamers
Press Continue Podcast
Paper News Out Loud
Almost Better
Network
{% block content %}{% endblock %}


|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.cloudera.sqoop.lib.FieldFormatter
public final class FieldFormatter
Static helper class that will help format data with quotes and escape chars.
| Method Summary | |
|---|---|
static java.lang.String |
escapeAndEnclose(java.lang.String str,
DelimiterSet delimiters)
Takes an input string representing the value of a field, encloses it in enclosing chars, and escapes any occurrences of such characters in the middle. |
static java.lang.String |
hiveStringDropDelims(java.lang.String str,
DelimiterSet delimiters)
only pass fields that are strings when --hive-drop-delims option is on. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public static java.lang.String hiveStringDropDelims(java.lang.String str, DelimiterSet delimiters)
str
- delimiters
-
public static java.lang.String escapeAndEnclose(java.lang.String str, DelimiterSet delimiters)
str
- - The user's string to escape and enclosedelimiters
- - The DelimiterSet to use identifying the escape and
enclose semantics. If the specified escape or enclose characters are
'\000', those operations are not performed.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Planning is a crucial component in robotic systems.
Nevertheless, the state-of-the art algorithms do not perform well in realistic conditions for robot groups.
On the one hand, sampling or graph based methods which operate in joint space suffer from the dimensionality explosion.
On the other hand, planners which try to avoid that effect make simplifying assumptions, limiting its practical applications.
We investigate planning algorithms which work in realistic conditions (that is kinematic constraints and imperfect plan execution) for robot groups.
Because there is always the possibility that a single robot fails, such plans need to be either be computable in a very short amount of time or it needs to be possible to update them online.
The following video shows an example of a motion planning problem. The robots need to swap sides, but there is only a small corridor available. Nevertheless, we want to find a motion plan for each robot such that the overal swapping time is minimal (or within a specifiable factor away from the optimum).
W. Hönig, S. Kiesel, A. Tinka, J. W. Durham,, and N. Ayanian.
"Persistent and Robust Execution of MAPF Schedules in Warehouses",
in IEEE Robotics and Automation Letters (RA-L), Accepted, To Appear, 2019.
[
PDF Preprint,
Video,
DOI
]
B. Şenbaşlar, W. Hönig, and N. Ayanian.
"Robust Trajectory Execution for Multi-Robot Teams Using Distributed Real-time Replanning (Extended Abstract)",
in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (Poster), Madrid, Spain, October 2018.
[
PDF Preprint,
Video
]
B. Şenbaşlar, W. Hönig, and N. Ayanian.
"Robust Trajectory Execution for Multi-Robot Teams Using Distributed Real-time Replanning",
in Int. Symp. on Distributed Autonomous Robotic Systems (DARS), Boulder, CO, USA, October 2018.
[
PDF Preprint,
Video
]
W. Hönig, J. A. Preiss, T. K. S. Kumar, G. S. Sukhatme, and N. Ayanian.
"Trajectory Planning for Quadrotor Swarms",
in IEEE Transactions on Robotics (T-RO), Special Issue Aerial Swarm Robotics, vol. 34, no. 4, pp. 856-869, August 2018.
[
PDF Preprint,
Video,
DOI
]
M. Debord, W. Hönig, and N. Ayanian.
"Trajectory Planning for Heterogeneous Robot Teams",
in Proc. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, Spain, October 2018.
[
PDF Preprint,
Video,
Blog Post
]
W. Hönig, S. Kiesel, A. Tinka, J. W. Durham, and N. Ayanian.
"Conflict-Based Search with Optimal Task Assignment",
In Proc. of the 17th International Conference on Autonomous Agents and Multiagent Systems (AAMAS), Stockholm, Sweden, July 2018.
[
PDF Preprint,
ACM,
DBLP
]
J. A. Preiss, W. Hönig, G. S. Sukhatme, and N. Ayanian.
"Downwash-Aware Trajectory Planning for Large Quadrotor Teams",
in Proc. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, Canada, September 2017.
[
PDF Preprint,
Video,
DOI,
DBLP
]
H. Ma, W. Hönig, L. Cohen, T. Uras, H. Xu, T. K. S. Kumar, N. Ayanian and S. Koenig.
"Overview: A Hierarchical Framework for Plan Generation and Execution in Multirobot Systems",
in IEEE Intelligent Systems, vol. 32, no. 6, pp. 6-12, November/December 2017.
[
PDF Preprint,
Video,
DOI,
DBLP
]
W. Hönig, T. K. S. Kumar, L. Cohen, H. Ma, H. Xu, N. Ayanian, and S. Koenig.
"Summary: Multi-Agent Path Finding with Kinematic Contraints",
in International Joint Conferences on Artificial Intelligence, Melbourne, Australia, August 2017.
[
PDF,
Video,
DBLP
]
W. Hönig, T. K. S. Kumar, H. Ma, S. Koenig, and N. Ayanian
"Formation change for robot groups in occluded environments",
in Proc. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Daejeon, Korea, October 2016.
[
PDF Preprint,
Video,
BibTeX
]
H. Ma, S. Koenig, N. Ayanian, L. Cohen, W. Hönig, T. K. S. Kumar, T. Uras, H. Xu, C. Tovey, and G. Sharon.
"Overview: Generalizations of Multi-Agent Path Finding to Real-World Scenarios",
in IJCAI-16 Workshop on Multi-Agent Path Finding (WOMPF), New York City, NY, July 2016.
[
PDF Preprint
]
W. Hönig, T. K. S. Kumar, L. Cohen, H. Ma, S. Koenig, and N. Ayanian.
"Path Planning With Kinematic Constraints For Robot Groups",
in Southern California Robotics Symposium (SCR), San Diego, CA, April 2016.
[
PDF Preprint
]
W. Hönig, T. K. S. Kumar, L. Cohen, H. Ma, H. Xu, N. Ayanian, and S. Koenig.
"Multi-Agent Path Finding with Kinematic Contraints",
in International Conference on Automated Planning and Scheduling, London, U.K., June 2016. AWARDED BEST PAPER IN ROBOTICS TRACK.
[
PDF Preprint,
Video,
BibTeX
]


PROJECT 1
AMAZING PEOLE ARE MAKING AMAZING DESIGNS IN A FUN ENVIRONMENT
When you work with us you are a part of committed collaborators.All aspects of our software development are intergrated,interactive and agile
Our approach unifies design, development and product management to create exceptional products
We start each project by understanding your business goals,users needs and the product requirements
Then we help them translate into effective and elegant solutions
Before We sign a contract or write a line of code, our team will spend the necessary
time needed to
understand our product vision.
The outcome of this scoping session is a proposal or high-level
statement of work.
Based on your requirements, we can provide a complete offering or just the
pieces
you need.
Our design practice offers a full range of services including brand strategy, interaction and visual design and user experience testing. Throughout your project, our designers create and implement visual design and workflows, solicit user feedback and work with you to make sure what gets built is what is needed.
All engineers are fluent in the latest enterprise, mobile and web development technologies. They collaborate with your team to write, and improve code on a daily basis, using proven practices such as test-driven development and pair programming.
Planning and development is iterative. Because we are constantly coding and testing, the products we build are always ready to go live. This iterative process allows for changes as business requirements evolv daily basis, using proven practices such as test-driven development and pair programming.


Welcome Internet Traveller!
You have reached a hidden link! Your reward for your futile expedition is to see my insufferably bad hand-written HTML pages. For your viewing pleasure:
iChair
Pigs
checkout


Not everyone can manage with duel. Sometimes it needs only one stroke of the sword can reduce your HP till zero.
You can take part in batlle and earn some reward if you sure in your force.
You can create a new battle
or you can open a list with requests


SIGNUP
Name
Email
Password
Confirm Password
Phone Number
Gender
Male
Female
Other
DOB
SIGNUP
ALREADY A USER
ADMIN


Frequently Asked Questions - C++
Questions
1. Compiling and Using the Library
1.1. Is OpenSSL required?
The main development work for the library is done using OpenSSL, so this is the recommended option. However, a Windows Crypto API interface is also now provided.
It is also possible to implement interfaces for other cryptographic libraries and pass them into the xml-security-c library during initialisation (via the XSECPlatformUtils::Initialise() call).
1.2. Does the library provide a full C++ wrapper for OpenSSL?
The C++ crypto interface layer provided for the library provides only the smallest subset of cryptographic functions necessary for the library to make calls to the provided library. Applications will need to work directly with OpenSSL (or other libraries) to read and manipulate encryption keys that should then be wrapped in XSECCrypto* objects and passed into the library.
1.3. What is WinCAPI?
WinCAPI is the developmental interface being built to give users of the library access to the Windows Cryptographic library.
It is not a C API wrapper for the overall library.
1.4. Is Xalan required?
The library can be compiled without linking to Xalan-c. However doing so will disable support for XPath and XSLT transformations.
To disable Xalan-c support either use --without-xalan when running configure on UNIX, or use the VC++ "without Xalan" settings.
1.5. Are versions of Xalan prior to 1.6 supported?
No. Whilst the functionality required is available in prior versions, the location of include files changed in 1.6. A decision was made in version 1.0.0 of xml-security-c to update the source to support these new locations.
1.6. I sign a document and when I try to verify using the same key, it fails
After you have created the XMLSignature object, before you sign the document, you must embed the signature element in the owning document (which is returned by the call to DSIGSignature::createBlankSignature(...)) before calling the DSIGSignature::sign() method,
During canonicalisation of the SignedInfo element, the library looks at the parent and ancestor nodes of the Signature element to find any namespaces that the SignedInfo node has inherited. Any that are found are embedded in the canonical form of the SignedInfo. (This is not true when Exclusive Canonicalisation is used, but it is still good practice to insert the element node prior to the sign() method being called).
If you have not embedded the signature node in the document, it will not have any parent or ancestor nodes, so it will not inherit their namespaces. If you then embed it in the document and call verify(), the namespaces will be found and the canonical form of SignedInfo will be different to that generated during sign().
1.7. How does the library identify Id attributes?
During a signing operation, finding the correct Id attribute is vital. Should the wrong Id Attribute be used, the wrong part of the document will be identified, and what the user signs will not be what they expect to sign.
The preferred method (and the method the library uses first) of finding an Id is via the DOM Level 2 call DOMDocument::getElementById(). This indicates to the library that the Id has been explicitly identified via a schema, DTD or during document building. However, if this call fails, the library will then search the document for attributes named "Id" or "id" with the appropriate value. The first one found will be used as document fragment identifier.
As of version 1.2, the library also provides methods to allow callers to set additional Id attribute names. This can be done in one of two ways. DSIGSignature::registerIdAttributeName() will register a new name that will not be matched to a namespace. DSIGDSignature::registerIdAttribiteNameNS() will register an attribute name together with the namespace in which the attribute resides.
As this is a potential security exposure, this behaviour can be disabled using a call to DISGSignatures::setIdByAttributeName(false). There are also methods provided to modify the list of attributes that will be searched. However it is recommended that these methods not be used, and DOM attributes of Type=ID be used.
1.8. What parts of the XKMS specification does the library support?
The library currently supports X-KISS (XML Key Information Service Specification) message generation and processing. Support for X-KRSS (XML Key Registration Service Specification) will be provided in version 1.3 of the library.
1.9. Does the library provide a programmatic XKMS client?
Not yet. A command line tool xklient is provided for generating and processing messages. This can be used as an example for processing XKMS messages.
A programmatic client will be provided in version 1.3 of the C++ library.


Speculation mounts over Lisa Smith's return to Ireland next week
by Marita MoloneyThere is speculation that Irish woman Lisa Smith could be returned to Ireland as early as next Tuesday.
The Dundalk woman left three years ago to join the so-called Islamic State group in Syria.
She is currently being held in a camp on the Turkish/Syrian border with her two-year-old child.
Earlier this week, the Turkish foreign minister was quoted as saying that two Irish people are to be deported, along with more than 20 other Europeans.
There is now speculation that this may take place as a soon as Tuesday.
Speaking with Susan Keogh on Newstalk Breakfast, journalist Norma Costello said when Smith returns will depend on how long it takes Turkish security forces to question her.
She said that Turkey can be "a bit of wild car in terms of diplomacy" and highlighted the fact that Smith is in a sovereign state that Ireland has no jurisdiction over.
Ms Costello said: "It doesn't matter what plans are laid in Dublin, Ankara could choose to change that in a minute."
Garda investigation
She said there are questions over what Smith did in Syria, but gardaí have been looking at her for a long time.
She said that they began their investigations into the former Defence Forces member a year before she went to ISIS territory.
Ms Costello said: "The information gardaí have on her, it's not vapour, they have been gathering evidence on Lisa for several years.
"That's an imperative thing to understand because the evidence in Syria is so sparce and something that could be easily challenged in an Irish court.
"The fact that they might have evidence they ascertained in Ireland changes the whole picture for her.
Ms Costello, who has been extensively covering Smith's story in the Middle East, said that the likelihood that she will be arrested upon her return is "high", but whether charges will be successfully brought is not as clear.
People 'furious and scared'
She said the issue was a "political football" and it would be damaging for a politician to sign-off on Smith's repatriation only for the prosecution against her to fail.
"There's an awful lot of impetus to get Lisa home, get her arrested and then try and get a charge against her," she said.
The freelance journalist said that people in Smith's hometown of Dundalk were "furious and scared".
Ms Costello also said she has been approached by the government for access to the information she has gathered on Smith.
However, she said she would not be used as a "security source".
"I'm a journalist...I'm not going to testify against her because that's not my responsibility," she said.
Meanwhile, it emerged this morning that Smith's family reportedly want her to tell her story on the Late Late Show when she returns.
A family spokesperson told the Irish Sunday Mirror that Smith wants the opportunity to express her innocence in her own words.


Gecode::Int::Channel Namespace Reference
Channel propagators More...
Classes | |
| class | DomInfo |
| Combine view with information for domain propagation. More... | |
| class | BoolIter |
| Iterates the values to be removed as defined by an array of Boolean views. More... | |
| class | ValInfo |
| Combine view with information for value propagation. More... | |
| class | Base |
| Base-class for channel propagators. More... | |
| class | Val |
| Naive channel propagator. More... | |
| class | Dom |
| Domain consistent channel propagator. More... | |
| class | LinkSingle |
| Link propagator for a single Boolean view. More... | |
| class | LinkMulti |
| Link propagator for multiple Boolean views. More... | |
Typedefs | |
| typedef Support::StaticStack < int, Region > | ProcessStack |
| Processing stack. | |
Functions | |
| template<class View , class Offset > | |
| ExecStatus | prop_dom (Space &home, int n, DomInfo< View, Offset > *x, Offset &ox, DomInfo< View, Offset > *y, Offset &oy, ProcessStack &ya) |
| template<class View , class Offset , class Info > | |
| ExecStatus | doprop_val (Space &home, int n, Info *x, Offset &ox, Info *y, Offset &oy, int &n_na, ProcessStack &xa, ProcessStack &ya) |
| template<class View , class Offset , class Info > | |
| ExecStatus | prop_val (Space &home, int n, Info *x, Offset &ox, Info *y, Offset &oy, int &n_na, ProcessStack &xa, ProcessStack &ya) |
Detailed Description
Channel propagators
Typedef Documentation
| typedef Support::StaticStack<int,Region> Gecode::Int::Channel::ProcessStack |
Processing stack.
Definition at line 52 of file channel.hh.
Function Documentation
template<class View , class Offset >
| ExecStatus Gecode::Int::Channel::prop_dom | ( | Space & | home, | |
| int | n, | |||
| DomInfo< View, Offset > * | x, | |||
| Offset & | ox, | |||
| DomInfo< View, Offset > * | y, | |||
| Offset & | oy, | |||
| ProcessStack & | ya | |||
| ) | [inline] |
template<class View , class Offset , class Info >
| ExecStatus Gecode::Int::Channel::doprop_val | ( | Space & | home, | |
| int | n, | |||
| Info * | x, | |||
| Offset & | ox, | |||
| Info * | y, | |||
| Offset & | oy, | |||
| int & | n_na, | |||
| ProcessStack & | xa, | |||
| ProcessStack & | ya | |||
| ) | [inline] |
template<class View , class Offset , class Info >
| ExecStatus Gecode::Int::Channel::prop_val | ( | Space & | home, | |
| int | n, | |||
| Info * | x, | |||
| Offset & | ox, | |||
| Info * | y, | |||
| Offset & | oy, | |||
| int & | n_na, | |||
| ProcessStack & | xa, | |||
| ProcessStack & | ya | |||
| ) | [inline] |


Main content
This is the first paragraph.
This is a second paragraph. Will be followed by a list of items.
- Item 1
- Item 2
- Item 3
- Item 4
This is the third and last paragraph.
This is the first paragraph.
This is a second paragraph. Will be followed by a list of items.
This is the third and last paragraph.


Table of contents
LESSON 1
1-The Web
2-HTML
3-Tags and Elements
4-HTTP
5-Web Applications
1- See HTML as a web page
2- See a web page as HTML
3- Add structure to your page
4- Avoid repetition with CSS
1- Make your page look good
2- Keep pushing the boundaries of today, into tomorrow
LESSON 2
1- Computer
2- Program
3- Precise sequence of steps
4- Computation
5- High-level language
6- Input
7- Interpreter
1- What is a variable in Python?
2- What does it mean to assign a value to a variable? How do you do it?
3- What's the difference between what the equals sign = means in 2+3=5 and my_variable=5?
4-What are some ways that variables are useful?
5- What is the difference between 2+2 and "2"+"2"?
What is a function(procedure)?
What is the difference between making and using a function?
How do functions help programmers avoid repetition?
What happens if a function doesn't have a return statement?
1- Don't panic.
2- What are the inputs?
3- What are the outputs?
4- Work through some examples by hand.
5- Simple mechanical solution.
6- Develop incrementally and test as we go.
LESSON 3
1- Class.
2- Instance.
3- Constructor.
4- Instance variable.
5- Instance method.
6-Conclusion.
LESSON 1
Unit 1: Introduction to the Web and HTML
1- The web
The World Wide Web is made up of HTML.
HTML means- HyperText Markup Language
Hyper (Links) where Invented in the 1990s. Today there is roughly 30 billion pages availible on the internet. But how does this system work? Well, there is an information system on the Internet that allows documents to be connected to other documents by hypertext links, enabling the user to search for information by moving from one document to another.
2- HTML
Hypertext Markup Language, is a standardized system for tagging text files to achieve font, color, graphic, and hyperlink effects on World Wide Web pages.
3- Tags and Elements
HTML documents are made of HTML elements. When writing HTML, we tell browsers the type of each element by using HTML tags.
4- HTTP
HTTP (Hypertext Transfer Protocol) is the set of rules for transferring files (text, graphic images, sound, video, and other multimedia files) on the World Wide Web. As soon as a Web user opens their Web browser, the user is indirectly making use of HTTP
5- Web Applications
A web application or web app is any software that runs in a web browser. It is created in a browser-supported programming language (such as the combination of JavaScript, HTML and CSS) and relies on a web browser to render the application.
Unit 2: Using HTML to create a structured Document
1- See HTML as a web page
Imagine the world of Web as a house. There is three main parts to a house to make it durable. Walls, The style of your house, and the interactive components. In this case your walls are HTML. Your style is CSS. and Your interactive components would be JS. This way we can start to see web sites as HTML
2- See a web page as HTML
So now that we understand how to see a website when we look at HTML, We should try the other side of that coin. Seeing a Web page as HTML. Find a Web page and look at the different parts. Which parts are the walls?(HTML) What parts look like style elements?(CSS) Is there any buttons or moving parts?(JS)
3- Add structure to your page
Adding structure to your page is fairly simple. It involves three main steps. 1- Gathering ideas. 2- Put your idea to HTML. 3- use CSS to bring it to life.
4- Avoid repetition with CSS
Something that all programmers try to avoid is using the same stylistic “spice” over and over. Because once you use the same element, again, again, it loses it’s “spice” Avoid repetition.
Unit 3: Adding CSS
1- Make your page look good
Now we have almost finished everything we need to learn before we can make our own very basic Web page. But We still have to make that page look good. We do that by adding CSS, The sugar on the pudding… If people did that. Style elements are used to give your Website that extra flair. Although CSS is one of the more complicated steps its worth the time to learn it, And it’s pretty sweet.
2- Keep pushing the boundaries of today, into tomorrow
Perhaps the most important part of Programming is developing a Never giving up mentality. To really become successful at anything we do, we can’t be afraid of making mistakes, learning, trying, failing, learning more, and still messing up. Because if we really do push the boundaries of today into tomorrow, We can’t be held back, And we will succeed.
LESSON 2
Unit 1: Key Terms
1- Computer
An electronic device for storing and processing data, typically in binary form, according to instructions given to it in a variable program.
2- Program
provide (a computer or other machine) with coded instructions for the automatic performance of a particular task
3- Precise sequence of steps
In mathematics and computer science, an algorithm is a self-contained step-by-step set of operations to be performed. Algorithms exist that perform calculation, data processing, and automated reasoning.
4- Computation
an act, process, or method of computing; calculation.
5- High-level language
In computer science, a high-level programming language is a programming language with strong abstraction from the details of the computer.
6- Input
what is put in, taken in, or operated on by any process or system.
7- Interpreter
a program that can analyze and execute a program line by line
Unit 2: Variables
1- What is a variable in Python?
As the name implies, a variable is something which can change. A variable is a way of referring to a memory location used by a computer program. A variable is a symbolic name for this physical location. This memory location contains values, like numbers, text or more complicated types.
A variable can be seen as a container (or some say a pigeonhole) to store certain values. While the program is running, variables are accessed and sometimes changed, i.e. a new value will be assigned to the variable.
2- What does it mean to assign a value to a variable? How do you do it?
All JavaScript variables must be identified with unique names.
These unique names are called identifiers.
Identifiers can be short names (like x and y), or more descriptive names (age, sum, totalVolume).
3- What's the difference between what the sign "=" means in 2+3=5 and my_variable=5?
When we use the "=" sign in programing at means "Assign to" So to speak. So If I where to say 'My birthday is July 30th' We could program it like "my_birthday = July 30th" When We do this the Value of "my_birthday" becomes July 30th
4- What are some ways that variables are useful?
Once a variable is assigned a value, the variable can be used in place of that value. The response to the expression width is the same as if its value had been entered.
5- What is the difference between 2+2 and "2"+"2"?
When we use the expression 2+2 we are using one string. If we use "2"+"2" We are combining two strings together.
Unit 3: Functions/Procedures
1- What is a function/Procedure?
What are functions? Well, in effect, functions are little self-contained programs that perform a specific task, which you can incorporate into your own, larger programs.
1- What is the difference between making and using a function?
After you have created a function, you can use it at any time, in any place. This saves you the time and effort of having to retell the computer what to do every time it does a common task, for example getting the user to type something in.
1- How do functions help programmers avoid repetition?
Procedures are just like small programs. Sometimes they are called sub--programs. They help the programmer to avoid repetitions. A procedure start off with a begin and ends up with an end.
1- What happens if a function doesn't have a return statement?
If we leave out a return statement in our program, it won't know what you are asking to display. So it will display "none" or something similar. In computer programming, a return statement causes execution to leave the current subroutine and resume at the point in the code immediately after where the subroutine was called, known as its return address.
Unit 4: Solving Problems
1- Don't panic.
As fun as freaking out is, It's best to avoid doing this when solving a problem. Keep a level head. Your head is the most comlicated object in the known universe. Use it.
2- What are the inputs?
What are we looking at? What are the different componants in the problem? KNow what you are dealing with before you move further
3- What are the outputs?
What is the outcome? What are the different ways it could end. Find the best one for your needs.
4- Work through some examples by hand.
 No shame in jotting down your thoughts as you prepare to tackle a dizzying problem.
5- Simple mechanical solution.
Break it down now y'all. Meaning, make the one big problem into smaller easier problems. Break it into small steps that are more general.
6- Develop incrementally and test as we go.
 So now we actually start programming.  You get the idea. Before you know it, You solved the problem.
LESSON 3
Unit 1: Object Oriented Programming.
Object-oriented programming (OOP) is a programming language model organized around objects rather than "actions" and data rather than logic. Historically, a program has been viewed as a logical procedure that takes input data, processes it, and produces output data.
1- Class.
In object-oriented programming, a class is an extensible program-code-template for creating objects, providing initial values for state (member variables) and implementations of behavior (member functions, methods).
2- Instance.
An instance is a specific realization of any object. Formally, "instance" is synonymous with "object" as they are each a particular value (realization), and these may be called an instance object; "instance" emphasizes the distinct identity of the object. The creation of a realized instance is called instantiation.
3- Constructor.
In class-based object-oriented programming, a constructor (abbreviation: ctor) in a class is a special type of subroutine called to create an object. It prepares the new object for use, often accepting arguments that the constructor uses to set required member variables.
4- Instance variable.
In object-oriented programming with classes, an instance variable is a variable defined in a class (i.e. a member variable), for which each instantiated object of the class has a separate copy, or instance. An instance variable is similar to a class variable.
5- Instance method.
A method (or message) in object-oriented programming (OOP) is a procedure associated with an object class. An object is made up of behavior and data. Data is represented as properties of the object and behavior as methods. Methods are also the interface an object presents to the outside world. For example a window object would have methods such as open and close. One of the most important capabilities that a method provides is method overriding.
6- Conclusion.
All in all, Object Oriented Programming is simply amazing. Inheritance is fascinating. And I’m excited to continue. I have posted videos of my further work on the discussion forum. (Movies, turtle, profanity editor, etc.) Thanks guys!


{% extends 'staff_base.html' %} {% load static %} {% load student_filters %} {% block breadcrumb %} {{ block.super }}
{% trans 'Changes of the form above are only reflected after the form has been saved.' %}


About Me
Here are few tings about me
My name is Grievin Okumu
Swimming and body building are my hobies
My spirit animal is a honey badger


Contact prediction using shrinked covariance (COUSCOus). COUSCOus is a residue-residue contact detecting method approaching the contact inference using the glassofast implementation of Matyas and Sustik (2012, The University of Texas at Austin UTCS Technical Report 2012:1-3. TR-12-29.) that solves the L_1 regularised Gaussian maximum likelihood estimation of the inverse of a covariance matrix. Prior to the inverse covariance matrix estimation we utilise a covariance matrix shrinkage approach, the empirical Bayes covariance estimator, which has been shown by Haff (1980) <doi:10.1214/aos/1176345010> to be the best estimator in a Bayesian framework, especially dominating estimators of the form aS, such as the smoothed covariance estimator applied in a related contact inference technique PSICOV.
| Version: | 1.0.0 |
| Depends: | R (≥ 3.2.2) |
| Imports: | bio3d (≥ 2.2-2), matrixcalc (≥ 1.0-3), utils (≥ 3.2.2) |
| Published: | 2016-02-28 |
| Author: | Reda Rawi [aut,cre], Matyas A. Sustik [aut], Ben Calderhead [aut] |
| Maintainer: | Reda Rawi <rrawi at qf.org.qa> |
| License: | GPL (≥ 3) |
| NeedsCompilation: | yes |
| CRAN checks: | COUSCOus results |
| Reference manual: | COUSCOus.pdf |
| Package source: | COUSCOus_1.0.0.tar.gz |
| Windows binaries: | r-devel: COUSCOus_1.0.0.zip, r-release: COUSCOus_1.0.0.zip, r-oldrel: COUSCOus_1.0.0.zip |
| OS X binaries: | r-release: COUSCOus_1.0.0.tgz, r-oldrel: COUSCOus_1.0.0.tgz |
Please use the canonical form https://CRAN.R-project.org/package=COUSCOus to link to this page.


Cruel Intentions (1999)
Director: Roger Kumble Cast: Sarah Michelle Gellar, Ryan Phillippe, Reese Witherspoon, Selma Blair, Christine Baranski, Joshua Jackson Screenplay: Roger Kumble Producers: Neal H. Moritz Runtime: 90 min. US Distribution: Columbia Rated R: sex, language, drug use
Copyright 1998 Nathaniel R. Atcheson
When I first saw the preview for Cruel Intentions, I turned to my friend and said, "Dangerous Liaisons for Kids!" It was clear to me that the film would be an obvious chunk of plagiarized nonsense, owing everything it is to Stephen Frears' 1988 masterpiece. Imagine my surprise to see that writer/director Roger Kumble has given credit to his source material: Choderlos de Laclos is recognized for his novel Les Liaisons Dangereuses in the opening credits. And I was impressed.
In fact, I was much more impressed with this recognition than with the actual film, which is an appalling excuse for a movie. It's kiddie-porn hackwork, complete with earthy sex-talk and fully-clothed hand-jobs. I suppose this kind of movie was inevitable; with all the teen high-school angst movies coming out, there was certainly room for a pretentious and laughable movie about a bunch of teenagers who think they're smarter and more beautiful than all the other people on earth combined. Cruel Intentions is a mess in every possible way, and it fails primarily in the way I expected it to: I hated all the characters, and I hate everything they do.
I also hate Ryan Phillippe, so perhaps my opinion is not as objective as it could be. Phillippe plays (check out this name) Sebastian Valmont. Wow. Isn't that a memorable name? I could just say it over and over again. Sebastian Valmont. It kind of rolls off the tongue, in the spirit of phrases like Sanguine Vapors and Velvet Sandwich. Sebastian Valmont is the coolest guy who ever walked the earth; there is no woman he can't have, no material object out of his reach. He has all the money, all the sex -- all at his fingertips. And, luckily, his parents never enter into his life -- no, in the world of Cruel Intentions, adults don't really exist. The ones who do are irritating.
Sebastian Valmont lives with his stepsister, Kathryn Merteuil (Sarah Michelle Gellar), the bitch-queen of the universe, and also the woman every man wants.  Kathryn wants Sebastian Valmont to de-virginize Cecile Caldwell (Selma Blair), a naive dork-chick who has somehow wronged Kathryn. But it's too easy for Sebastian Valmont -- he wants to nail Annette Hargrove (Reese Witherspoon), the "paradigm of chastity and beauty." So, Sebastian Valmont and Kathryn make a deal (which is too explicit to state here). But -- dear God! -- Sebastian Valmont actually begins to fall for poor Annette Hargrove.
Dangerous Liaisons is a great movie because the characters are all believable, and because of its masterful acting. Cruel Intentions is bad for many reasons, but it lacks both believable characters and masterful acting. Kathryn Merteuil is simply a hateful witch, a girl so loathsome that I would probably enjoy pouring hot lead on her. She is supposed to be mean, but Glenn Close gave the character some depth in Dangerous Liaisons. Gellar, while aesthetically pleasing, is one-dimensional and utterly repulsive.
But I can't forget Mr. Phillippe, who continues to exceed my expectations with his impenetrable, invulnerable blandness. I have to give him credit and say that he did, in fact, manage to change his facial expression about three times during the course of Cruel Intentions. And there's one point in the film in which he shouts, thereby defeating my hypothesis that he is vocally monotone. True, he is bad, but it doesn't help that he has no character to work with. Kumble has drained all the interesting aspects from this character, leaving us with a sex-crazed lunatic who is supposed to be sympathetic because he falls in love with a moral flower and shuns the wicked bitch.
The film fails in every other way, too. First of all, nobody talks like this. Even the "intellectuals" I know don't bother with this kind of pointless and pretentious yammering. For a while, the movie looks like it might play itself for laughs, but it ends up taking itself so seriously that there's no way we can join it. Cruel Intentions also manages to come off as soft-porn in more than one scene. Earlier I mentioned a fully-clothed hand-job; this occurs between Kathryn and Sebastian Valmont, both of whom are intended to be hateful at this point in the movie.  Titillation, of course. It can't even work under the pretense of "meaningful love scene," because we hate the characters.
It's interesting to note some of the parallels between Cruel Intentions and Dangerous Liaisons. Kumble is clearly familiar with the earlier film; many of the scenes have a similar tone, and there are moments in Frears' film that Kumble imitates almost completely (such as the last scene, in which [spoiler warning!] the antagonist is humiliated in front of her peers). But kids don't act like this. Nobody acts like this. In his translation, Roger Kumble forgot character development and sympathy -- some pretty crucial elements. The result is a picture of confounding badness, a kiddie-porn mess that thinks it's really deep and profound. I'll give Cruel Intentions credit for realizing its influences, but that doesn't change the fact that it's awful.
Psychosis Rating: 2/10
Visit FILM PSYCHOSIS at http://www.pyramid.net/natesmovies
Nathaniel R. Atcheson
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


Note: WSGIKit has been renamed to
Python Paste
I think there's some confusion about what WSGIKit is, and what I
intend for it to provide:
-
WSGIKit isn't WSGI. "WSGIKit" is, rather, a poor
name for a project. It really needs a new name. Greg McClure
suggested
Underware, which kind of amuses me, but probably is a bad
choice.
-
WSGIKit isn't a WSGI server. Still, it does include glue for
servers (just a couple now, but more in the future). It will
probably be distributed with some servers, just because
that's more expedient and gives people a better experience.
-
WSGIKit includes several pieces of middleware, like an error
catcher and a session manager.
-
WSGIKit includes a from-scratch reimplementation of the
Webware
API, but that API is completely separated in a subpackage
(wsgikit.webkit) and while it has (so far) driven the specific features,
it isn't preferred in any way.
-
I use Zope Page Templates in the
tutorial, but that's even less connected, just some code to
integrate ZPT written for the old Webware, that also works
for WSGIKit Webware.
-
I've included a script (app-setup) for setting up new application instances. This creates
files and directories, and can provide custom commands as
well. This uses "application template", the first
of which (webkit_zpt) is based on Webware,
Component, and
ZPTKit.
-
It includes a script for starting up servers and the general
WSGIKit environment. This involves creating a stack of WSGI
middleware, some application loader, and loading the
appropriate configuration.
-
It includes configuration. Configuration currently is just
done with Python files. To a degree other formats could be
supported, though often that is more difficult in practice
than theory. This configuration is used by a variety of
middleware as well as the server. It is also used by
app-setup
and possibly other components. I've already integrated
SQLObject (through
sqlobject-admin) into this configuration.
-
It includes a single URL parser at this point, that matches
the general algorithm of Webware URL parsing. This is also,
essentially, the application builder -- it loads modules and
files, looks for appropriate objects in those modules, and
can do small amounts of conversion to get them in an
appropriate state. It doesn't strictly "know"
about Webware, but not-so-coincidentally it works with the
Webware model. I'd like to include other URL
parsers/application builders -- as few as possible, but as
many as necessary to support the full range of URL parsing
we see in the wild. The full range isn't actually that full
-- the current parser plus an object publisher or two
(configurable to provide backward-compatible parsing) should
do.
-
The basic architecture is similar -- I think -- to Java
servlet filters. Or CherryPy filters. Or other pipeline-like
systems. Still when possible code should be provided as
libraries instead of middleware (it's more predictable,
easier to use), but that's not always possible. By using
generic middleware -- especially as we add more
configuration to the middleware -- we can introduce global
and interesting functionality to an application or a set of
applications.
-
It includes a kind-of test framework, based on
py.test. Kind of a framework, because it's not very complicated,
but I've found it quite convenient -- WSGI makes it easy to
test individual pieces in isolation, and to create fake
requests. So unit testing can occur reliably on a fairly
granular level. I've also been building a bit of a framework
for testing tutorials with doctest.
-
Hopefully soon it will provide a nice installation
experience, including a large download that includes all
sorts of optional pieces that might be useful or helpful.
So... that's what WSGIKit is. I'd really like to support more
frameworks, more servers, and bring more developers in. There's
room! I'm willing to give commit access to anyone who's been
around in the community, or really anyone who shows a little
interest and competence (and of course plays well with others)
-- the nice thing about version control is that nothing is
permanent, so we might as well take advantage of that. I think
WSGIKit has the potential to provide a compelling and simple
installation and configuration experience for a whole variety of
frameworks, removing the diversity that's not interesting but
just annoying. At the same time it shouldn't infringe on any of
the interesting diversity. It's also a good, testable, decoupled
architecture to make a solid foundation.
Update: A couple people complained that I
haven't actually said what WSGIKit is, maybe just where
I think it should fit in. So...
-
WSGIKit uses
WSGI (PEP 333)
as its means of internal communication. In practice, this is
like a request and response object, in the form of the
environ dictionary (the request) and the return values and
callbacks (the response). The PEP explains WSGI well, so I
won't repeat the whole thing.
-
WSGIKit includes a "server" program, which starts
up a server (e.g., Twisted) and reads the configuration, and
sets up the stack of components and middleware. If you look
at the
tutorial, you'll see some of how that works (the tutorial doesn't
leave out any steps, except for the download-all-components
part, which I'm still working out). In many ways, I'm seeing
that this startup process is fairl central.
-
WSGIKit isn't a framework, but kind of a glue for
frameworks, and infrastructure to set up and deploy
projects. It's like a metaframework, but maybe that makes it
sound fancier than it actually is.
-
WSGIKit contains reusable components for use
in frameworks. It's like a library for frameworks,
and a library for some stuff that wasn't possible to
generalize across frameworks without WSGI. From this
perspective, it's only interesting to framework authors
(though web developers tend to drift into framework
development whether they want to or not, so it's not
entirely hidden).
So... what is WSGIKit? Maybe I'm a little confused now as well.
I guess it's really about glue and reusable components to be
provided to framework authors. Which puts it in a slightly funny
place, because as glue it's actually front-facing to users in
many ways. It's not an app server -- it can be run in a
threaded, multiprocess, or CGI environment, embedded in Twisted,
Apache, or another container. It's not a framework, those get
built on top. It's not a template at all, nor any sort of model.
It's just a lot of glue, I guess.
Bah! This does not explain what WSGIKit is. It
explains various things that it contains, but not what it's
for. There I was thinking "ahahaha! now I will suddenly
get to see what the whole WSGI thing is all about, since I
am clearly not in touch with the Zen because I don't get
it", and...this has not made things a lot clearer :-)
Sir Ian, Your Kung Foo is the greatest. But You still have not
explained what WSGIKit is. Is it an app server? Where does it
fit in the stack of Web server, templating engine, model and
interface to the model?
A picture might be worth a thousand words here...
I think Mr. Sparks has it right here -- one rough
graphic with some boxes and arrows could probably
largely explain what you've clearly put a lot of time
into writing. Perhaps a couple possible setups with
well-known (in python webapp world at least) frameworks
and/or behind apache with the parts labeled would
probably explain it once and for all for the dim-witted
or short of attention of us out here.
And if you happen to be on a Mac and/or have access to
OmniGraffle that app makes almost any diagram look all
fancy and special.
Also I keep sort of sensing the word 'substrate' as kind
of what/where wsgikit is - maybe 'webstrate'. Assuming I
kind of understand correctly...
Framework glue, huh? Pehaps you could call it "sticky"
or "elmers", "Pyste" (python-paste or
phonetically "pissed"). I'm envisioning frameworks as
popsicle sticks or toothpicks and WSGIKit as the paste that
holds it all together. Hmm... WSGIKit -> stikwig, swiktig,
wisk, gitwisk, wig skit! Hmm... running "wsgi glue"
through an gives "wiggles u". ;-) Hmm... What about
"Waypoint"?
Just call it Chicago... as in "all roads lead to
Chicago". ;-) Isn't that what WSGI is all about? For a
more Euroasian reference, you could use
"Constantinople", but that's pretty long. Besides,
aren't you from the windy-city?
I'll add my voice to the general clamor of those who were
hoping for an actual answer to the title question. I'm
pretty sure now that it has more to do with web presentation
than it does with scientific computing... but I was hoping
to pin it down a bit more clearly. An example or two might
help: "I would use WSGIKit when coding XXX because it provides
YYY."


Following are some web-based mapping projects I've done:
Learn a bit about historic sites in Lafayette Colorado
Take a virtual tour through the majectic Arches National Park
A look into avalanches in the Wasatch Range of Utah
Here are some images of mods/themes i've done to my HTC Evo 3D:
Please click an image to zoom


| |
Hey IDEAS,
sometimes you just want to see all the comments once a week in one place. This is it: Your summary from Monday, the 28.08.2017 to Friday, the 01.09.2017. This is week #35
Overall Average Mood: 3.2 / 4
Overall Participation: 28%
AS Ideas Engineering - IdeasPool
Average Mood: 3.0 / 4
Participation: 35%
Find more for the team directly at TeamMood!
A great team, good music, nice projects === happy day
Thursday, 31.08.2017
|
BACK AT ASIDEAS! WHOOHOO
Thursday, 31.08.2017
|
Bye bye idealo, es war großartig bei euch!
Thursday, 31.08.2017
|
A nice team with cool tasks makes a great experience. Wait, did I say experience???
Tuesday, 29.08.2017
|
so nach außen, gut...innerlich sind infrastruktur-themen einfach kacke....
Monday, 28.08.2017
|
Tolles Review bei Idealo. Habt ihr juht jemooocht!
Thursday, 31.08.2017
|
T-2d
Tuesday, 29.08.2017
|
Sooooooo müde & kränklich
Monday, 28.08.2017
|
tired....soooo tired....
Thursday, 31.08.2017
|
Inbar!!! NOOOOO!!! DON'T GO!!! I will miss you :-*
Wednesday, 30.08.2017
|
Bar Inbar 😢
Tuesday, 29.08.2017
|
AS Ideas Engineering - PCP
Average Mood: 2.7 / 4
Participation: 10%
Find more for the team directly at TeamMood!
AS Ideas Engineering - Querschnittsteams
Average Mood: 3.6 / 4
Participation: 45%
Find more for the team directly at TeamMood!
Just back from holiday... Great! :-)
Tuesday, 29.08.2017
|
a lot done from the to-do-list today
Thursday, 31.08.2017
|
erster Tag nach dem Urlaub
Tuesday, 29.08.2017
|
|
|
|
|


Log In Page
* Is Required
Username
*
is a required field
Password
*
is a required field
Log In
Forgot Username or Password?


Transfer your files
fast and easily through a Pipe Connection
After a pipe connection is set, you don’t have to renew link/reload page again.
Click button to generate link
A person joined the pipe and you’re ready to exchange files!
Drag & Drop to Upload a File
OR
Sending 60% ...


Toggle navigation
Sign Up
Log In
Log In
Remember me
Log In
I forgot my password
Sign up an account, it's free!


(.) cases culture tuberculosis smear sputum {border-style positive px;} subjects tests using #ffffff;} AFB Korea U.S. screening Lee MTB population study (.%) Disease Control South Tuberculosis United incidence patients results Korean Prevention active age CDC Dis applicants population) test visa years Centers Med TB: performed compared identified immigrants prevalence px; smear-negative treatment {font-family CXR Kim No. States TB. Tuberc chest consecutive drug font-size medical report Class Mycobacterium Respir Table cases, double; new technical CDOT Korea. Organization States, border-color border-width class classified collab: cultures data diagnosed important number older protocol review seven solid; study, suggestive {font-style {font-weight <. (%) DST Figure Health Lung Posey Society TB, TB; TI. World according age, bacilli bold considered consistent control countries courier; culture-based diagnosis directly em; examinations high history including infection negative observed private pt;} pulmonary radiographic resistance resistant smear-based AFB


Before Change
debug=False
)
// ...then restore it to what it was before instantiating the client
logging.getLogger().setLevel(log_level)
except HTTPError as err:
if err.response.status_code == HTTP_BAD_REQUEST:
After Change
if _LOGGER.isEnabledFor(logging.DEBUG):
tmp_loc = dict(evo_data["config"])
tmp_loc["locationInfo"]["postcode"] = "REDACTED"
if "dhw" in tmp_loc[GWS][0][TCS][0]: // if this location has DHW...
tmp_loc[GWS][0][TCS][0]["dhw"] = "..."
_LOGGER.debug("setup(): evo_data["config"]=%s", tmp_loc)
load_platform(hass, "climate", DOMAIN, {}, hass_config)


WITNESS LIST Finance Committee April 19, 2006 - 9:30A SJR 7 FOR: Schlomach, Byron Chief Economist (Texas Public Policy Foundation), Austin, TX AGAINST: Downing, Clayton Executive Director (Texas School Coalition), Flower Mound, TX Lavine, Dick Senior Fiscal Analyst (Center for Public Policy Priorities), Austin, TX ON: Gonzalez, Daniel Director of Legislative Affairs (Texas Association of Realtors), Austin, TX Hebert, Bryan Attorney (Texas Legislative Council), Austin, TX O'Brien, John Staff (LBB), Austin, TX Registering, but not testifying: Against: Allaway, Bill (Texas Taxpayer and Research Association), Austin, TX Grusendorf, Bill Executive Director (Texas Association of Rural Schools), San Saba, TX On: Harrison, Shawn (Texas Legislative Council), Austin, TX Milios, Danica Attorney (Office of the Attorney General), Austin, TX Warr, Amy Attorney (Office of the Attorney General), Austin, TX


| DOSE: |
5.0 mg |
oral |
5-MeO-AMT |
(powder / crystals) |
The following 'overview' of a low-level (2.5-5mg dose, taken orally) 5-MeO-AMT experience follows. This generalization of 'what to expect' is taken from 3 experiences, 1 with ~2.5mg taken by a 180 lb. individual (myself), another at ~5mg taken by my friend (almost 300 lbs.), and a third dose taken by myself 4 days after the first, this time at 5mg but with almost identical results to the first trial (likely due to a high/quick body tolerance build-up to the drug). Each of the 3 experiences were almost identical, and as the varied experiences my friend and I read on Erowid before taking the substance were quite varied, I thought it might be comforting and helpful to someone wishing to try out this compound if they could read an experience account giving them an idea of what to expect, in a more 'scientific' format.
(time is in hours:minutes format)
+0:15 - First signs of nausea, leading directly into the following:
+0:30-1:30 - Extreme nausea and body high, best described as a 'toxic reaction feeling' of sickness; flu-like. During this period, don't expect to do anything other than feel like you're dying. Expect to either vomit or fight the urge to vomit for this time-period, although vomiting seems to shorten the overall 'toxic' period of the trip. Feelings may include bowel pressure.
+1:30-1:45 - The body high and nausea suddenly and quickly dissipate, and the psychedelic effects begin. The body high is somewhere between mushrooms and LSD (although lighter and 'easier to work with'), as are the visuals. Mentally, the ability to focus on a single subject is much better than sober, while multi-tasking is nearly impossible even at a low/threshold dose.
+1:45-3:30 - Slowly come up to plateau. During this time, expect a 'rolling' feeling, similar to MDMA, as the visuals, body high, and mental effects go up and down constantly. A feeling of 'pressure on the bowels' continues throughout the trip, and bowel movements are loose. However, bowel movements came neither more frequently or urgently than they would while sober.
+3:30-4:00 - Plateau is reached.
4:00-??? - The substance just keeps going, and going, for hours and hours. The three trials performed by myself and my friend all started early in the morning (7 or 8-ish), yet the effects of the substance (most notably the body high) were still felt the following morning. Sleep is (mentally) difficult on the substance, although not impossible.
And, here's a nice little summary of how you're likely going to feel on the substance (*at low doses only!* - likely will not apply to higher dose trips):
Body-High: 'Energized' feeling under the skin, light muscle tension throughout the body, higher tension in the neck and back of the jaw. Possible feeling of pressure in your ears, which may continue for days following the experience (possibly due to an interaction between the substance and chemicals that react badly with MAOIs - I take Chlorpheniramine regularly, and it's data sheet warns against taking it with MAOIs). A constant feeling of 'bowel pressure' is there, although it is possible to ignore for the most part.
Visuals: Colors are all 'skewed' to the red and green spectrums, with a slight 'wobbling' effect. Textures (such as stucco, carpeting, bumpy ceilings) flow and wave in a unique way, somewhere between LSD and psilocybin mushrooms. Visual effects are, overall, mild.
 The passing of time seems to slow dramatically. The 'all-encompassing' feeling of activities you focus on seems to increase their entertainment value when compared to performing the activity while sober.
Overall: The entire experience feels much more 'natural' than LSD or mushrooms, in that you are 'still you' (no ego-loss or modification), albeit under the effects of a chemical. As long as you stay within the limitations of drug (lack of multi-tasking), functioning in day-to-day activities is quite possible at a low dose.
In both my and my friend's opinion, although the trip itself is quite enjoyable at a low dose, it is not worth the initial sickness. In a few weeks (to hopefully get rid of the tolerance aspect of this substance) I will perform some more tests at a higher dose, to see if it is worth the initial nausea.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Crypto wallet provider Komodo effectively hacked itself to prevent fraudsters from accessing its users’ funds, the company confirmed in a blog post on June 5. Security researchers had alerted the company to a vulnerability in its Agama wallet. Realizing that hackers cou...


@* * This template takes a single argument, a String containing a * message to display. *@ @(message: String) @* * Call the `main` template with two arguments. The first * argument is a `String` with the title of the page, the second * argument is an `Html` object containing the body of the page. *@ @main("Welcome to Play") { } { @* * Get an `Html` object by calling the built-in Play welcome * template and passing a `String` message. *@ @* @play20.welcome(message, style = "Java") *@


This library provides the Flash API build on top of open web standards (HTML5). Developers who build applications with Flash may have noticed that Flash isn't a popular choice for web development anymore. Some of you probably think about a migration strategy from Flash to HTML5.
What we try to achieve with StageXL:
JavaScript is the lingua franca of the Web. The problem with JavaScript is that it sucks. You may disagree but if you come from the ActionScript world you scratch your head and wonder. Maybe Google thought the same and started the Dart programming language project. This language fixes all the flaws of JavaScript and at the same time compiles to JavaScript to run your application on all modern browers.
Check out the projects web site: The Dart programming language
StageXL is not finished and new features are added on a regular basis. Here are some topics we think about. Let us know of your ideas and feature requests.
If you have a question or you would like to discuss about a feature request, please use
the StageXL Forum.
If you would like to report a bug, please use the
issue tracker on github.
Last but not least you can send an email to the StageXL team<EMAIL_ADDRESS>Simplified BSD License
Copyright (c) 2013, Bernhard Pichler All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.


{% include 'menu.html' %}
Enter criteria for searching contact details
{% include 'searchform.html' %}


Test that we can get an NPObject returned through a method on an NPAPI Object. Prints "SUCCESS" on success, "FAILURE" on failure.


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/use.20and.20exists_prop.html ---
For teaching purposes, I wonder whether we should slightly modify use
to try rw exsists_prop
at the end. It shouldn't break too many proofs since you can still use use
when the goal is a conjunction
I'm thinking of goal that look like ∃ δ > 0, ...
where the goal becomes ∃ (H : δ > 0), ...
after giving the required δ
I think this is a very good idea if we want this tactic to be use
r-friendly.
You have my vote.
/me wrote edited his first tactic...
Voila:
namespace tactic namespace interactive open interactive interactive.types meta def use_this (l : parse pexpr_list_or_texpr) : tactic unit := (tactic.use l >> (triv <|> try `[rw exists_prop])) end interactive end tactic
In fact, I would rather see that ∃ p ≥ n, prime p
is expanded to the sane thing as soon as I enter the begin end
-block.
Now I see ∃ (p : ℕ) (H : p ≥ n), prime p
, which is of course quite ugly. Can't some magic in begin
turn this into
∃ (p : ℕ), p ≥ n ∧ prime p
immediately?
@Keeley Hoek you seem to be able to make begin
do magic tricks. Is this something that could be done?
Well, in general, we don't want begin
to replace things by non-defeq things
I wish ∃ p ≥ n, prime p
was syntactic sugar for ∃ (p : ℕ), p ≥ n ∧ prime p
.
I would like set_option newbie_mode true
that would fix some of these things.
Even if we don't want that option in mathlib.
Maybe better than rw exists_prop
would be whatever the version with apply
would be, so that it only applies at the outermost position
Hmm, that makes sense.
I'm revisiting an old thread since it's Lean-teaching time again. Should we replace https://github.com/leanprover-community/mathlib/blob/3053a16942cf8bc388eb4758cf9f9f5c0ff02ccb/src/tactic/interactive.lean#L615-L616 by:
meta def use (l : parse pexpr_list_or_texpr) : tactic unit := do tactic.use l, try triv, try (do `(Exists %%p) ← target, to_expr ``(exists_prop.mpr) >>= tactic.apply >> skip)
I tried and it doesn't break mathlib. I guess one could use a more primitive approach without using apply
but I have no idea whether it would be faster.
Recall the goal is to avoid ∃ δ > 0
becoming ∃ (H : δ > 0)
after calling use
.
Probably best to wrap it in a focus1 $
, so the try
s can't randomly affect other goals (not sure this is possible with the current version of use
)
Thanks Reid. See https://github.com/leanprover-community/mathlib/pull/1882.
BTW, how hard would be making use a
as good in reporting errors as refine ⟨a, _⟩
. Currently if I make a typo in a
, it fails with very uninformative message, and I have to write let a := ...
or have a := ...
first to find out what's wrong.
This is added to my list of things to think about when I have spare cycles, but it sounds generally fine to me.
BTW, how hard would be making
use a
as good in reporting errors asrefine ⟨a, _⟩
. Currently if I make a typo ina
, it fails with very uninformative message, and I have to writelet a := ...
orhave a := ...
first to find out what's wrong.
use
is more general, since use a
doesn't know the pattern ⟨a, _⟩
. It will work for something like ⟨⟨a, _⟩, _⟩
as well. Perhaps the error messages can be improved.
Yeah, I never use use
, because refine
is already ingrained and there's a ~25% chance I have a type error in which case I will need to change it to refine
to get a useful error message.
I always use use
, because I am often writing Lean code in front of people who have very little clue about Lean, and the word use
explains really well what is going on. When it works, it works great.
I suspect Patrick will be in a similar position this term.
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


Epicodus Week One Portfolio
My name is Allie Holcombe, and that is not a picture of me. I was unable to find any on this PC, so I am temporarily using a sim I made back when I was super into the Sims 3.
I come to Epicodus from a retail sales leadership position and most of an undergrad degree in history. In January, a friend of mine with a degree in theater tech started working at a startup as a junior developer. When I asked how she got there, she told me about her experiences at a coding bootcamp. For the first time since leaving college, a new path forward caught my attention.
"I can do that," I thought. "I used to enjoy HTML and CSS so much!" Unfortunately, with college work and a full-time job, my time spent learning how to make Wordpress themes and figuring out how Joomla worked dwindled to no time at all.
After several months of investigating bootcamps and learn-to-code programs in Washington, California, and Colorado, as well as studying Javascript to pass one of the admissions exams, I found Epicodus. The flipped-classroom and pairing model sold me.
When not coding, I like to hang out with my dogs and paint my nails, like a super-duper interesting person.


interface CustomQueryPostProcessor<R> : GenericQueryPostProcessor<Any?, R>
Post-processors can be implemented to enhance the Named Query API.
Streams are used for lazy operations to reduce memory footprint.
This interface allows implementors to operate on query results of type Any. It is up to the implementor to perform type checking and ensure type safety during casting of the query result. Returns a Stream of user defined type R.
name is used to identify post-processors during the Named Query RPC API.


CS235 - Project 2
Impact of disasters on economy and population
Selection
Criteria
Total deaths
Total damage
Insured losses


class: center, middle # Back to basics # How web works --- Links # How the Web works https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/How_the_Web_works # How internet works https://developer.mozilla.org/en-US/docs/Learn/Common_questions/How_does_the_Internet_work # Why is it called "the/a web"? Google it https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/How_the_Web_works --- # How to put something on the web --- # How do you access the web? ![client server](https://mdn.mozillademos.org/files/8973/Client-server.jpg) You -> computer -> browser -> website -> web server -> browser -> you --- # What does the browser do? Displays HTML. --- # What is HTML? Hypertext Markup Language. --- # What is "hypertext"? hyper = "over" or more accurately *"more than"* --- # What is HTTP? Hypertext transfer protocol. --- # Why transfer? Why protocol? - It's a way of "transferring" information. - protocol = "conventions for communication" --- # What's the difference between a website and a web server? - site = "location" - server = "entity that serves" --- # Is HTML all there is to it? ## Front end - Style vs. substance - Interactivity - Single-page applications ## Back end - Generated HTML - Incorporating data - Authentication and authorization --- # Tiny App ```ruby require 'sinatra' require 'pry' get '/' do s = 'hello' + ' world!' #binding.pry s end post '/' do s = 'hello' + params['message'] #binding.pry s end get '/frank-says' do 'Put this in your pipe & smoke it!' end ``` --- # telnet ```shell > telnet o localhost 4567 GET: / HTTP/1.0 Host: localhost ``` --- # curl ```shell > curl localhost:4567 > curl -I localhost:4567 > curl -Ivs localhost:4567 > curl --trace-ascii - localhost:4567 > curl -Ivs localhost:4567 | grep Length ``` ---


@@include("../../partials/head.html")
+20.9$
5%
+1200
12%
4.6%
4.6%
4.6%
| United States | 22,120 | 34.54% |
| India | 12,756 | 22.43% |
| United Kingdom | 8,864 | 34.54% |
| Sweden | 6,749 | 5.29% |
| Organic Search | 2,120 | 4.54% |
| Direct | 639 | 4.37% |
| Refferrals | 520 | 45.14% |
| Social Media | 116 | 12.24% |
| Google Chrome | 21.54% |
| Mozilla Firefox | 14.43% |
| Brave | 14.43% |
| Apple Safari | 8.54% |
| Internet Export | 6.21% |
| Opera Mini | 8% |
| 3,454 (24%) |
|
|
| 2,351 (18.5%) |
|
|
| 2,243 (6.5%) |
|
|
| 812 (5.1%) |
|
|
| Github | 621(0.3%) |
|
| Youtube | 450 (0.12%) |
|


Sliced OT Color Transfer / CPU / Balanced
We discuss some technical details of the Sliced OT implementation in C++. The code use classical STL containers and algorithms, stb_image.h/stb_image_writer.h for image IO and Cimg for the bilateral filter that can be used to regularize the output.
Code
colorTransfer.cpp
Code comments
First, to uniformly sample the set of directions S^3, we first create a (seeded) random Number generator following a centered normal distribution law.
//Random generator init to draw random line directions
std::mt19937 gen;
gen.seed(10);
std::normal_distribution<float> dist{0.0,1.0};
Uniform directions are then selected by normalizing the three realizations of that random number generator1:
//Random direction
float dirx = dist(gen);
float diry = dist(gen);
float dirz = dist(gen);
float norm = sqrt(dirx*dirx + diry*diry + dirz*dirz);
dirx /= norm;
diry /= norm;
dirz /= norm;
Then, the core of the method consists in computing the projections:
//We project the points
for(auto i = 0; i < projsource.size(); ++i)
{
projsource[i] = dirx * source[3*i] + diry * source[3*i+1] + dirz * source[3*i+2];
projtarget[i] = dirx * target[3*i] + diry * target[3*i+1] + dirz * target[3*i+2];
}
and sorting the id of the points according to their projection. Sorting the point sets is the bottleneck of the method. As the two sorts are independent, we can do them in parallel:
std::thread threadA([&]{ std::sort(idSource.begin(), idSource.end(), lambdaProjSource); });
std::sort(idTarget.begin(), idTarget.end(), lambdaProjTarget);
threadA.join();
//Lambda expression for the comparison of points in RGB
//according to their projections
auto lambdaProjSource = [&projsource](unsigned int a, unsigned int b) {return projsource[a] < projsource[b]; };
auto lambdaProjTarget = [&projtarget](unsigned int a, unsigned int b) {return projtarget[a] < projtarget[b]; };
Then, advection vectors can be accumulated in a batch
for(auto i = 0; i < idSource.size(); ++i)
{
auto pix = idSource[i];
advect[3*pix] += dirx * (projtarget[idTarget[i]] - projsource[idSource[i]]);
advect[3*pix+1] += diry * (projtarget[idTarget[i]] - projsource[idSource[i]]);
advect[3*pix+2] += dirz * (projtarget[idTarget[i]] - projsource[idSource[i]]);
}
Before being used to advect the source image points:
for(auto i = 0; i <3*N; ++i)
source[i] += advect[i]/(float)batchSize;
Usage
colorTransfer
Usage: ./colorTransfer [OPTIONS]
Options:
-h,--help Print this help message and exit
-s,--source TEXT Source image
-t,--target TEXT Target image
-o,--output TEXT Output image
-n,--nbsteps UINT Number of sliced steps (3)
-b,--sizeBatch UINT Number of dirtections on a batch (1)
-r,--regularization Apply a regularization step of the transport plan using bilateral filter (false).
--sigmaXY FLOAT Sigma parameter in the spatial domain for the bilateral regularization (16.0)
--sigmaV FLOAT Sigma parameter in the value domain for the bilateral regularization (5.0)
--silent No verbose messages
Timings
100 slices, default parameters, no regularization (3,5 GHz 6-Core Intel Xeon E5).
./colorTransfer -s pexelA-0.png -t pexelB-0.png -o output.png -n 100 --silent
Source image: 1280x1024 (3)
Target image: 1280x1024 (3)
...
elapsed time: 14.5373s
-
Muller, M. E. “A Note on a Method for Generating Points Uniformly on N-Dimensional Spheres.” Comm. Assoc. Comput. Mach. 2, 19-20, Apr. 1959. ↩


{% extends "base.html" %} {% load url from future %} {% block head_title %}Change Password{% endblock head_title %} {% block page_title %}Change Password{% endblock page_title %} {% block content %} {% if request.GET.code_valid == 'False' %}
The password reset link was invalid, possibly because it has already been used. Please request a new password reset.
{% else %}


public class MessageStats
extends java.lang.Object
| Constructor and Description |
|---|
MessageStats() |
public long getRedeliver()
public void setRedeliver(long redeliver)
public RateDetails getRedeliverDetails()
public void setRedeliverDetails(RateDetails redeliverDetails)
public long getBasicPublish()
public void setBasicPublish(long basicPublish)
public RateDetails getBasicPublishDetails()
public void setBasicPublishDetails(RateDetails basicPublishDetails)
public long getPublisherConfirm()
public void setPublisherConfirm(long publisherConfirm)
public RateDetails getPublisherConfirmDetails()
public void setPublisherConfirmDetails(RateDetails publisherConfirmDetails)
public long getBasicReturn()
public void setBasicReturn(long basicReturn)
public RateDetails getBasicReturnDetails()
public void setBasicReturnDetails(RateDetails basicReturnDetails)
public long getBasicDeliver()
public void setBasicDeliver(long basicDeliver)
public long getBasicGet()
public void setBasicGet(long basicGet)
public RateDetails getBasicGetDetails()
public void setBasicGetDetails(RateDetails basicGetDetails)
public RateDetails getBasicDeliverDetails()
public void setBasicDeliverDetails(RateDetails basicDeliverDetails)
public long getBasicDeliverNoAck()
public void setBasicDeliverNoAck(long basicDeliverNoAck)
public RateDetails getBasicDeliverNoAckDetails()
public void setBasicDeliverNoAckDetails(RateDetails basicDeliverNoAckDetails)
public long getBasicGetNoAck()
public void setBasicGetNoAck(long basicGetNoAck)
public RateDetails getBasicGetNoAckDetails()
public void setBasicGetNoAckDetails(RateDetails basicGetNoAckDetails)
public long getAck()
public void setAck(long ack)
public RateDetails getAckDetails()
public void setAckDetails(RateDetails ackDetails)
public long getGetCounter()
public void setGetCounter(long getCounter)
public RateDetails getGetDetails()
public void setGetDetails(RateDetails getDetails)
public java.lang.String toString()
toString
in class java.lang.Object


Sometimes we need a service that generates all the numbers from 1 to N… So, this web service returns all the numbers from 1 to the user’s choice as a JSON array. It also has a client where you test it or use it to generate these numbers.
Server
- Ruby version
2.4.0
- Deployment instructions
bundle install
bundle exec rails s
- Visit
localhost:3000/numbers/[:number]
- To run the tests, just run
bundle exec rspec
Code explanation
Controller
[app/controllers/numbers_controller.rb
]
Renders the valid array only if we got a valid response from the method serial
of NumberService
, otherwise it renders nothing with status 400
.
Service
[app/services/number_service.rb
]
This service has two public methods and one private. The private method valid_integer
validates if the number that we received is not a string and if it is smaller than the maximum Integer that Ruby can handle.
The public method serial
is the one that returns the array containing all the numbers from 1 to N. It will return the array only if the number is valid.
The public method as_json
gives a Hash
format to the answer.
Specs
[spec/controllers/numbers_controller_spec.rb
]
[spec/services/number_service_spec.rb
]
Using rspec, this project is testing the possible calls to the controller and all the public methods of the service. This is also being tested by TravisCI.
API Resource
- [GET /numbers/[:number]]
GET /numbers/[:number]
Example: https://serene-meadow-78539.herokuapp.com/numbers/12
Response body:
{
"numbers": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12
]
}
The code is hosted on and hosted on heroku. Here is the repository: https://github.com/isabel22/numbers-server.
Client
This is a simple client to test the service provided before.
Local test
- Download the file
index.html
- Open the file (you can just double click on it)
- Enter a number in the field
- Press the
Submit
button - The result will be shown at the bottom
Online test
- Visit https://isabel22.github.io/numbers-client/
- Enter a number in the field
- Press the
Submit
button - The result will be shown at the bottom
The code is hosted on . Here is the repository: https://github.com/isabel22/numbers-client.
This client is hosted on GitHub Pages: https://isabel22.github.io/numbers-client/


CBSE CTET admit card 2019 released: How to download at ctet.nic.in
CBSE CTET Admit Card 2019: CBSE has released the admit card for the Central Teacher Eligibility Test. The candidates can download the admit cards from the official website-ctet.nic.in.
by Careers DeskCBSE CTET admit card December 2019: The Central Board of Secondary Education has released the admit card or the exam hall ticket for the Central Teacher Eligibility Test (CTET) examination. The candidates who are appearing for the CTET can download the admit cards from the official website — ctet.nic.in.
The Central Teacher Eligibility Test will be conducted on Sunday – December 8, 2019. Paper-I will be held from 9:30 am to noon and Paper-II from 2 pm to 4:30 pm.
CBSE CTET admit card 2019: Steps to download
Step 1-Visit the official website-ctet.nic.in
Step 2- On the homepage, click on the CTET admit card link that will be flashing.
Step 3: A new tab will open on the screen.
Step 4: In the space provided, enter the details asked and click on submit.
Step 5: The CTET admit card will be displayed on the screen.
Step 6: Download the admit cards and take a print out for future reference.
The candidates must take the admit card along with them to the examination hall. The CTET Part-I exam will be conducted for the candidates who will teach classes 1 to 5, while Part-II exam will be conducted for candidates who will teach classes 6 to 8.
The candidates will have to report 90 minutes before the commencement of the exam at the examination centre. They will not be allowed to enter the examination centre after 9:30 am for Paper-I and after 2 pm for Paper-II.
The scores secured by the candidates in Central Teacher Eligibility Test are valid up to seven years from the date of the declaration of results.


"The preparation of good food is merely another expression of art, one of the joys of civilized living"
Hello welcome to our blog, we are food photographers based in Wroclaw, Poland. Our passion is food and photography. Our day to day passion involves working with food and photography, in-between shoots we create recipes and look for inspiration from chefs, photographers, family an friends. We even leave the studio to go on the odd adventure from time to time. We have a passion for food and photography, we hope you can find some inspiration here through our photographic processes the recipes we recreate and develop and the everyday things that drives our vision.Food-project started in January 2016 and is growing every day! Creating beauty and discovering tastes is our top priority! Let us know if you like it, suggest us or just say hello!
Read More