| Path: | README |
| Last Update: | Tue May 15 11:59:16 -0400 2007 |
FacebookBot is a blast from the future! Basically, it can (will? might?) turn the beloved Facebook into some sort of monster. It allows for completely automated control of your Facebook profile. Now with less MySpace!
FacebookBot allows you to destroy Facebook via:
You can obtain the hot-off-the-press-brand-spanking-new FacebookBot and loads of pretty examples from rubyforge.org/frs/?group_id=3643 !
FacebookBot is provided to you kindly under the MIT license. A copy of the MIT license can be found in the LICENSE file.
FacebookBot is just a simple Ruby program. So, obviously you‘ll need ruby installed. It would probably be a good idea if you actually knew ruby too. However, there is at least one module you should probably install, if you want the program to work.
Here‘s a list:
Wasn‘t that a short list? The following should already be installed, but are also used rigorously:
To install these, you can try `gem install gemnamehere` — worked for me!
Please use FacebookBot for good, not evil. We don‘t want another Myspace on our hands. Look at the EXAMPLES file for examples.
You can try emailing me. Or maybe ask a kind neighbor? A friend from the past? An ex-lover? You can also check out the FacebookBot Rubyforge page, located at rubyforge.org/projects/facebookbot/
Enjoy, and don‘t forget your smile!
| Chris McClelland: | mcclelland.c at gmail ddddot com |


% const currentSection = 'images' %> <% const modules = [] %> <% const intro = false %> <% modules.push({ "title": "Lazy-loading Image", "description": "An image loaded when the user scrolls down to its location on the page.", "background": "light", "code": `` }); %> <% modules.push({ "title": "Lazy-loading Background Image", "description": "Loads a background image when the user scrolls down to its location on the page. Uses a JSON object in the `data-bg-array` attribute to create CSS that laods the background image. Multiple images can be loaded via media queries defined in the JSON object.", "background": "light", "demoCode": `


THE BEST MAN *** (out of four stars) A review by Jamey Hughton
Starring-Taye Diggs, Nia Long, Morris Chestnut, Harold Perrineau Jr. and Terrence Dashon Howard Director-Malcolm D. Lee Canadian Rating-14A Released by Universal Pictures - 10/99
MOVIE VIEWS by Jamey Hughton http://Welcome.to/MovieViews
Crafting a slick, enjoyable bachelor comedy while eluding all of the genre pratfalls is not an easy task, but Malcolm D. Lee has done it with =93The Best Man=94. The film does get submerged in some formula quicksand=
now and again, particularly en route toward the over-dramatic conclusion, but Lee handles the elements skillfully. Coupled with a young, talented African American cast, this makes =93The Best Man=94 a brisk, highly entertaining comedy that only stutters when it tries too hard for audience approval.
Taye Diggs is one of the most exciting young actors in Hollywood today. After his feature debut in 1998=92s =93How Stella Got Her Groove Back=94,=
Diggs rose to electrifying new heights with the psychadelic =93Go=94 last=
year, and -- not including his tedious caricature in the scattershot =93House on Haunted Hill=94 -- the actor revitalizes familiar material to=
make it seem fresh and exhilarating. Similar praise can be offered for his performance in =93The Best Man=94. Diggs plays a Chicago-based author=
named Harper, who, after one last erotic rendezvous with longtime girlfriend Robin (Sanaa Lathan), is headed off to New York to join his chums for a few games of friendly polker (and etc.) during a wedding day countdown. Harper=92s latest novel, a romance about commitment and deception, contains a few elements of real life. For that reason, he is less than ecstatic about the notion of his buddies discovering the total contents of the book - and is downright adamant in forbidding a few friends even to even touch it. There=92s some horrible secret stewing within the pages, and Harper is regretting ever publishing it.
The bachelor posse of =93The Best Man=94 is a group of fun guys. The groo= m is Lance (Morris Chestnut), a hulking but sensitive professional football player who wants his bride to have a one-man policy, even if he hasn=92t practiced a one-woman approach over the years. Murch (Harold Perrineau Jr.) is more of the quiet type; a shy teacher who is hesitant when it comes to expressing his true feelings.  The screenplay, by Lee, makes even the most simplistic conversation involving and intuitive. Some of the best moments of =93The Best Man=94 occur when the boys just sit aroun= d and play poker, where their constant chatter is filled with bright, fluid dialogue that keeps both eyes attentively fixed on the screen. This makes character development light and easy, which is instantly refreshing. =93The Best Man=94 is, essentially, a buoyant and featherweig= ht comedy until it dives into more dramatically preachy material as the clock winds down. But even when it gets marred by comedic sobriety, the film is still enjoyable.
The romantic portion of the plot is fairly elementary, but later on, the process opens up to honesty and truthful surprise. Harper=92s love life i= s complicated by the resurfacing of old college flame Jordan (Nia Long), who threatens to stir up trouble before Robin is scheduled to arrive later on for the wedding. Director Lee, as Spike=92s cousin, has a knack for writing perceptive dialogue exchanges, and =93The Best Man=94 is chock-full of those. The characters, both caring and snobby, are perfectly cast and laid-out in a manner so we can appreciate them from a distance. This could have been a flaky, straightforward takeoff of =93The=
Big Chill=94, but thanks to proper care.... it=92s fun.
Fun because of the acting abilities of the all-black cast. Playing a character more complex than at first glance, Chestnut is wholly believable in juggling his two personality conditions: mean and delicate. The most extensive showcase is provided for Diggs and Long, who both oscillate with charming appeal and provide plenty of truthful and funny moments. While it takes a dramatic detour during segments when more comic filler would have been adequate, =93The Best Man=94 is still a=
swift, breezy tale of romance and personal discovery.
=A9 2000, Jamey Hughton
MOVIE VIEWS by Jamey Hughton http://Welcome.to/MovieViews Full Member - Online Film Critics Society http://www.ofcs.org
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


Collecting aggregations¶
All computational results are collected in a so-called qp.Stack
object which
acts as a container for large amount of aggregations in form of qp.Link
s.
What is a qp.Link?
¶
A qp.Link
is defined by four attributes that make it unique and set how it is
stored in a qp.Stack
. These four attributes are data_key
, filter
,
x
(downbreak) and y
(crossbreak), which are positioned in a qp.Stack
similar to a tree diagram:
- Each
Stack
can have variousdata_key
s.- Each
data_key
can have variousfilter
s.- Each
filter
can have variousx
s.- Each
x
can have variousy
s.
Consequently qp.Stack[dk][filter][x][y]
is one qp.Link
that can be added
using add_link(self, data_keys=None, filters=['no_filter'], x=None, y=None, ...)
qp.Link
s are are storing different qp.View
s (frequencies, statistics,
etc. - all kinds of computations) that are applied on the same four data attributes.
Populating a qp.Stack
¶
A qp.Stack
is able to cope with a large amount of aggregations, so it is
impractical to add Link
s one by one with repeated Stack.add_link()
calls.
It is much easier to create a “construction plan” using a qp.Batch
and
apply the settings saved in DataSet._meta['sets']['batches']
to populate a
qp.Stack
instance. In the following, let’s assume dataset
is containing
the definitions of two qp.Batch
es, a qp.Stack
can be created running:
stack = dataset.populate(batches='all')
For the Batch
definitions from here, you
will get the following construction plans:
>>> batch1 = dataset.get_batch('batch1')
>>> batch1.add_y_on_y('y_keys')
>>> print batch1.x_y_map
OrderedDict([('q1', ['@', 'gender', 'q1', 'locality', 'ethnicity']),
('q2', ['locality', 'ethnicity']),
('q6', ['@']),
('@', ['q6']),
(u'q6_1', ['@', 'gender', 'q1']),
(u'q6_2', ['@', 'gender', 'q1']),
(u'q6_3', ['@', 'gender', 'q1'])])
>>> print batch1.x_filter_map
OrderedDict([('q1', {'(men only)+(q1)': (<function _intersection at 0x0000000019AE06D8>, [{'gender': 1}, {'age': [20, 21, 22, 23, 24, 25]}])}),
('q2', {'men only': {'gender': 1}}),
('q6', {'men only': {'gender': 1}}),
('q6_1', {'men only': {'gender': 1}}),
('q6_2', {'men only': {'gender': 1}}),
('q6_3', {'men only': {'gender': 1}})])
>>> batch2 = dataset.get_batch('batch2')
>>> print batch2.x_y_map
OrderedDict([('q2b', ['@', 'gender'])])
>>> print batch2.x_filter_map
OrderedDict([('q2b', 'no_filter')])
As both Batch
es refer to the same data file, the same data_key
(in this
case the name of dataset
) is defining all Links
.
After populating the Stack
content can be viewed using .describe()
:
>>> stack.describe()
data filter x y view #
0 Example Data (A) men only q1 q1 NaN 1
1 Example Data (A) men only q1 @ NaN 1
2 Example Data (A) men only q1 gender NaN 1
3 Example Data (A) men only @ q6 NaN 1
4 Example Data (A) men only q2 ethnicity NaN 1
5 Example Data (A) men only q2 locality NaN 1
6 Example Data (A) men only q6_1 q1 NaN 1
7 Example Data (A) men only q6_1 @ NaN 1
8 Example Data (A) men only q6_1 gender NaN 1
9 Example Data (A) men only q6_2 q1 NaN 1
10 Example Data (A) men only q6_2 @ NaN 1
11 Example Data (A) men only q6_2 gender NaN 1
12 Example Data (A) men only q6_3 q1 NaN 1
13 Example Data (A) men only q6_3 @ NaN 1
14 Example Data (A) men only q6_3 gender NaN 1
15 Example Data (A) men only gender q1 NaN 1
16 Example Data (A) men only gender @ NaN 1
17 Example Data (A) men only gender gender NaN 1
18 Example Data (A) men only q6 @ NaN 1
19 Example Data (A) (men only)+(q1) q1 q1 NaN 1
20 Example Data (A) (men only)+(q1) q1 @ NaN 1
21 Example Data (A) (men only)+(q1) q1 locality NaN 1
22 Example Data (A) (men only)+(q1) q1 ethnicity NaN 1
23 Example Data (A) (men only)+(q1) q1 gender NaN 1
24 Example Data (A) no_filter q2b @ NaN 1
25 Example Data (A) no_filter q2b gender NaN 1
You can find all combinations defined in the x_y_map
in the
Stack
structure, but also Link
s like Stack['Example Data (A)']['men only']['gender']['gender']
are included. These special cases arising from the y_on_y
setting. Sometimes
it is helpful to group a describe
-dataframe and create a cross-tabulation
of the four Link
attributes to get a better overview, e.g. to see how many
Links
are included for each x-filter combination.
:
>>> stack.describe('x', 'filter')
filter (men only)+(q1) men only no_filter
x
@ NaN 1.0 NaN
gender NaN 3.0 NaN
q1 5.0 3.0 NaN
q2 NaN 2.0 NaN
q2b NaN NaN 2.0
q6 NaN 1.0 NaN
q6_1 NaN 3.0 NaN
q6_2 NaN 3.0 NaN
q6_3 NaN 3.0 NaN


Your browser does not support HTML5 video.
Hello Everyone
Lorem ipsum dolor sit,
Read More
Section A
lorem
Section B
lorem
Section C
lorem


NIRVANA
© 2019 Nirvana. Designed and Developed by Transility
Ethereum is an open-source, public, blockchain-based distributed computing platform and operating system featuring smart contract (scripting) functionality. It supports a modified version of Nakamoto consensus via transaction-based state transitions.
We can also say Ethereum is a programmable blockchain that will serve a majority of B2C enterprise in the future. Ethereum gives developers the freedom of creating complex models to be executed on the blockchain.
Ethereum network consist of two major thing on which the whole ecosystem works
The Ethereum has two types of accounts
both External and Contract are referred to as “state objects” which tell the state of Ethereum network and is owned by external user and miner and is generally controlled with public key cryptography algorithms like RSA and serves as a medium for users to interact with block chain
Contract accounts are a collection of code residing on the blockchain at a specific address. These contracts are invoked by external accounts, or by other contracts through a specific call-to-action function. These contracts are written in high-level scripting languages like Solidity, Serpent or LLL. Every contract that resides on the ethereum blockchain is stored in a specific format called EVM (Ethereum Virtual Machine) bytecode which is an ethereum specific binary format.
The Ethereum Virtual Machine (EVM) is the runtime environment for smart contracts in Ethereum. It is the fundamental consensus mechanism for Ethereum. And is responsible for executing all transections
The Nirwana library is a collection API wrapper and modules which contain functionality for the Ethereum ecosystem to build DAPPs over Ethereum
Nirwana wrap the complexity of Web3 API in Simple Rest API interface for developer to quick start development and hiding complex code behind API.
Below are the main feature which nirvana providesNirwana covers below mentioned modules for Ethereum block chain which are wrapped using RestAPIs
To help Nirwana integrate into different projects with different we provide simple way to communicate and handle various events and call-backs generated by Ethereum Network
As web3.js returns Call-back , Promises and Eventes to chain functions, nirwana provide simple way to handle these
Callback, Promises are handled as RestAPI response (Json Response) and the Events are handled using Socket communication where various type of event data will be received as Json.
web3.eth.sendTransaction({from: '0x123...', data: '0x432...'}) .once('transactionHash', function(hash){ ... }) .once('receipt', function(receipt){ ... })
.on('confirmation', function(confNumber, receipt){ ... }) .on('error', function(error){ ... })
.then(function(receipt){
// will be fired once the receipt is mined
});
var chat = io.connect('http://localhost/chat')
, news = io.connect('http://localhost/news');
chat.on('connect', function () {
chat.emit('hi!');
});
news.on('news', function () {
news.emit('woot');
});
Similarly, for android, iOS and other platform same code can be ported to handle blockchain events.
GET:
v1/eth/getNodeStatus
The Default Block which will be used for the requests
Success:
{
peerCount: result,
sucess: true
}
Error:
{
error: errorObj,
sucess: false
}


Power-User
Name:
Esteban Sandoval
Bio:
Esteban is a career counselor at a local high school. He is passionate about encouraging his students to continue their education and is always on the lookout for scholarships.
Technologies:
- 27” iMac with OSX
- iPhone 11 with iOS 13
- Macbook Air with Macos 11.0.1
Proficiency:
Advanced
Passion for Technology:
Esteban is grateful for search options. He uses his research skills daily and enjoys learning the functionalities of web pages and apps.
Attitudes and Needs:
- Esteban is passionate about helping his students find new and exciting opportunities.
- Esteban loves a secure log in.
- Esteban likes a no-nonsense layout when a website is displaying data.
Frustrations:
- Esteban is frustrated when an informational website or app doesn't have a search feature.
- Esteban is frustrated by needless pop-ups.
- Esteban hates when websites ask for unnecessary data.
- Esteban dislikes when information is buried behind too many links.
Role:
Esteban is a Power user who logs into his SSF.com profile everyday to find information about career paths for his students.
Use-Case:
As a career counselor, I want to direct my students to resources that will help them reach their career goals.
User Story
Esteban receives an e-mail from one of his colleagues informing him of a new scholarship his students might be eligible for. After researching the scholarship's criteria and validity, Esteban decides to submit the scholarship to the SSF.com webpage.
Interaction-flow
- Esteban logs into SSF.com --> SSF.com displays User Home page
- Esteban clicks the "Add New Scholarship" link --> SSF.com opens a form
- Esteban fills in the required form fields and clicks "Submit" --> SSF.com displays an alert box that reads: "Success! Your scholarship will be posted upon review. Thank you for your submission."
- Esteban clicks the X on the alert box --> SSF.com closes the alert box


WayFair@Home
You are your choices
Products
Stores
Stock Information
Locations
Add Stock
Create a new stock
ID:
Store ID:
Product ID:
Product Quantity:
Change the stock
Store ID:
Product ID:
Product Quantity:


@* * Copyright 2017 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @( title: String, sidebarLinks: Option[Html] = None, warnings: Option[Html] = None, bodyClasses: Option[String] = None, mainClass: Option[String] = None, sidebarClasses: Option[String] = None, analyticsAdditionalJs: Option[Html] = None, scriptElem: Option[Html] = None, afterHeader: Option[Html] = None, includeHMRCBranding: Boolean = false, betaBanner: Boolean = false, breadCrumbs: Html = Html("") )( mainContent: Html )( implicit userProfile: uk.gov.hmrc.epaye.connectors.UserProfile, authContext: uk.gov.hmrc.play.frontend.auth.AuthContext, request : Request[_], lang : Lang, messages: Messages ) @import uk.gov.hmrc.epaye.views.helpers._ @import uk.gov.hmrc.epaye.views.helpers @import uk.gov.hmrc.play.views.html.layouts @serviceInfoContent = { @if(!includeHMRCBranding) { @Messages("bt.home") @breadCrumbs


Werkzeug provides some subclasses of common Python objects to extend them with additional features. Some of them are used to make them immutable, others are used to change some semantics to better work with HTTP.
You can import all these objects directly from werkzeug.
Changed in version 0.6: The general purpose classes are now pickleable in each protocol as long as the contained objects are pickleable. This means that the FileMultiDict won’t be pickleable as soon as it contains a file.
Works like a regular dict but the get() method can perform type conversions. MultiDict and CombinedMultiDict are subclasses of this class and provide the same feature.
New in version 0.5.
Return the default value if the requested data doesn’t exist. If type is provided and is a callable it should convert the value, return it or raise a ValueError if that is not possible. In this case the function will return the default as if the value was not found:
>>> d = TypeConversionDict(foo='42', bar='blub')
>>> d.get('foo', type=int)
42
>>> d.get('bar', -1, type=int)
-1
| Parameters: |
|
|---|
Works like a TypeConversionDict but does not support modifications.
New in version 0.5.
A MultiDict is a dictionary subclass customized to deal with multiple values for the same key which is for example used by the parsing functions in the wrappers. This is necessary because some HTML form elements pass multiple values for the same key.
MultiDict implements all standard dictionary methods. Internally, it saves all values for a key as a list, but the standard dict access methods will only return the first value for a key. If you want to gain access to the other values, too, you have to use the list methods as explained below.
Basic Usage:
>>> d = MultiDict([('a', 'b'), ('a', 'c')])
>>> d
MultiDict([('a', 'b'), ('a', 'c')])
>>> d['a']
'b'
>>> d.getlist('a')
['b', 'c']
>>> 'a' in d
True
It behaves like a normal dict thus all dict functions will only return the first value when multiple values for one key are found.
From Werkzeug 0.3 onwards, the KeyError raised by this class is also a subclass of the BadRequest HTTP exception and will render a page for a 400 BAD REQUEST if caught in a catch-all for HTTP exceptions.
A MultiDict can be constructed from an iterable of (key, value) tuples, a dict, a MultiDict or from Werkzeug 0.2 onwards some keyword parameters.
| Parameter: | mapping – the initial value for the MultiDict. Either a regular dict, an iterable of (key, value) tuples or None. |
|---|
Adds a new value for the key.
New in version 0.6.
| Parameters: |
|
|---|
Return the default value if the requested data doesn’t exist. If type is provided and is a callable it should convert the value, return it or raise a ValueError if that is not possible. In this case the function will return the default as if the value was not found:
>>> d = TypeConversionDict(foo='42', bar='blub')
>>> d.get('foo', type=int)
42
>>> d.get('bar', -1, type=int)
-1
| Parameters: |
|
|---|
Return the list of items for a given key. If that key is not in the MultiDict, the return value will be an empty list. Just as get getlist accepts a type parameter. All items will be converted with the callable defined there.
| Parameters: |
|
|---|---|
| Returns: | a list of all the values for the key. |
Return a list of (key, value) pairs.
| Parameter: | multi – If set to True the list returned will have a pair for each value of each key. Otherwise it will only contain pairs for the first value of each key. |
|---|---|
| Returns: | a list |
Return a list of all values associated with a key.
| Returns: | a class:list |
|---|
Return a list of (key, value) pairs, where values is the list of all values associated with the key.
| Returns: | a list |
|---|
Return a list of all values associated with a key. Zipping keys() and this is the same as calling lists():
>>> d = MultiDict({"foo": [1, 2, 3]})
>>> zip(d.keys(), d.listvalues()) == d.lists()
True
| Returns: | a list |
|---|
Pop the first item for a list on the dict. Afterwards the key is removed from the dict, so additional values are discarded:
>>> d = MultiDict({"foo": [1, 2, 3]})
>>> d.pop("foo")
1
>>> "foo" in d
False
| Parameters: |
|
|---|
Pop the list for a key from the dict. If the key is not in the dict an empty list is returned.
Changed in version 0.5: If the key does no longer exist a list is returned instead of raising an error.
Returns the value for the key if it is in the dict, otherwise it returns default and sets that value for key.
| Parameters: |
|
|---|
Remove the old values for a key and add new ones. Note that the list you pass the values in will be shallow-copied before it is inserted in the dictionary.
>>> d = MultiDict()
>>> d.setlist('foo', ['1', '2'])
>>> d['foo']
'1'
>>> d.getlist('foo')
['1', '2']
| Parameters: |
|
|---|
Like setdefault but sets multiple values. The list returned is not a copy, but the list that is actually used internally. This means that you can put new values into the dict by appending items to the list:
>>> d = MultiDict({"foo": 1})
>>> d.setlistdefault("foo").extend([2, 3])
>>> d.getlist("foo")
[1, 2, 3]
| Parameters: |
|
|---|---|
| Returns: | a list |
Return the contents as regular dict. If flat is True the returned dict will only have the first item present, if flat is False all values will be returned as lists.
| Parameter: | flat – If set to False the dict returned will have lists with all the values in it. Otherwise it will only contain the first value for each key. |
|---|---|
| Returns: | a dict |
Works like a regular MultiDict but preserves the order of the fields. To convert the ordered multi dict into a list you can use the items() method and pass it multi=True.
In general an OrderedMultiDict is an order of magnitude slower than a MultiDict.
note
Due to a limitation in Python you cannot convert an ordered multi dict into a regular dict by using dict(multidict). Instead you have to use the to_dict() method, otherwise the internal bucket objects are exposed.
An immutable OrderedMultiDict.
New in version 0.6.
A read only MultiDict that you can pass multiple MultiDict instances as sequence and it will combine the return values of all wrapped dicts:
>>> from werkzeug import MultiDict, CombinedMultiDict
>>> post = MultiDict([('foo', 'bar')])
>>> get = MultiDict([('blub', 'blah')])
>>> combined = CombinedMultiDict([get, post])
>>> combined['foo']
'bar'
>>> combined['blub']
'blah'
This works for all read operations and will raise a TypeError for methods that usually change data which isn’t possible.
From Werkzeug 0.3 onwards, the KeyError raised by this class is also a subclass of the BadRequest HTTP exception and will render a page for a 400 BAD REQUEST if caught in a catch-all for HTTP exceptions.
A special MultiDict that has convenience methods to add files to it. This is used for EnvironBuilder and generally useful for unittesting.
New in version 0.5.
Adds a new file to the dict. file can be a file name or a file-like or a FileStorage object.
| Parameters: |
|
|---|
The FileStorage class is a thin wrapper over incoming files. It is used by the request object to represent uploaded files. All the attributes of the wrapper stream are proxied by the file storage so it’s possible to do storage.read() instead of the long form storage.stream.read().
The multipart headers as Headers object. This usually contains irrelevant information but in combination with custom multipart requests the raw headers might be interesting.
New in version 0.6.
Save the file to a destination path or file object. If the destination is a file object you have to close it yourself after the call. The buffer size is the number of bytes held in memory during the copy process. It defaults to 16KB.
For secure file saving also have a look at secure_filename().
| Parameters: |
|
|---|


--- title: Search results position: 1 heading: Search results include_in_navigation: false is_search_page: true sitemap: false ---


TextRender Example
One of the most fantastic and most distinguishing features of this species is the bold dark-bars draped across the dorsal surface. Additional dark spots are found along the lateral surfaces of the species.
Yes, we can handle font-size: x-large; and the other relational font sizings.
Hyperlinks appear HTML blue unless you specify your own color. You can also specify a background color instead of changing the text color for the hyperlink. Remember, hyperlinks execute functions you provide!
This hyperlink also works.
Unordered List:
Ordered List:
Left-Indent Style: One of the most fantastic and most distinguishing features of this species is the bold dark-bars draped across the dorsal surface. Additional dark spots are found along the lateral surfaces of the species.
Left Style: One of the most fantastic and most distinguishing features of this species is the bold dark-bars draped across the dorsal surface. Additional dark spots are found along the lateral surfaces of the species.
Right Style: One of the most fantastic and most distinguishing features of this species is the bold dark-bars draped across the dorsal surface. Additional dark spots are found along the lateral surfaces of the species.
Center Style: One of the most fantastic and most distinguishing features of this species is the bold dark-bars draped across the dorsal surface. Additional dark spots are found along the lateral surfaces of the species.
Here is an example of the <sup> and <sub> tags. Note the extra spaces so the super/subscripts don't crowd each other.
2 + 2 2 3 - x n i= 6
§§§
Note: The following is an image that is set to 50% of the text width:


Installation
No need to install, open Google Chrome and enjoy.
Seriously?
Well, if you do more than playing around with the demo site and need to have your own assets (videos, images, 3d models or vetcor designs), you may have a look at the developement wiki.
Usage
See the usage guide in the wiki.
Browser support
For now, development is focused on the latest version Google Chrome.
Firefox is a decent browser but behaves too slowly and does not support the WebMIDI API. 🤷
Browsers from Mircosoft or Apple, even the latest versions, do not deserve attention.
Development
See the development guide in the wiki.
Status
Supporting the project
You can book the author or a contributor for a live act or a workshop.
Getting in touch
Author
Valentin zeropaper
Vago
License
MIT


An example of a stacked Bipolar chart which is animated using the grow()
effect. The X axis is turned off but other than that it's a pretty standard
Bipolar chart.
<script src="RGraph.common.core.js"></script> <script src="RGraph.bipolar.js"></script>Put this where you want the chart to show up:
<canvas id="cvs" width="600" height="300"> [No canvas support] </canvas>This is the code that generates the chart - it should be placed AFTER the canvas tag(s):


This is a short quote.
short quote.
This is a
block quote. Block quotes will be longer. More than one lines maybe
Hyper Text Markup Language is abbreviated HTML was developed by Tim Berners Lee.
This is my address


JITSI FOR SLACK
Hello Slack fans! Very pleased to meet you! There's no need to create an account. Just click below, and off you go!


Easy piano
Features:
- Keyboard: 49 velocity sensitive piano-style key
- Maximum Polyphony: 49 notes
- Instruments; Built-in 128 instruments (MIDI Mode)
- Quickly Sound: 6 (Grand Piano, Bright Piano, E. Piano, Harpsichord, Church Organ, String)
- Sound Effect: Velocity (Light, Normal, Heavy) Reverb (ON/OFF)
- Other control: Transpose, MIDI IN Mode, Select/Enter Program change
- Volume Control: +,- (Touch switch)
- Octave: Up, Down (Touch switch)
- Wheels: Pitch, Modulation
- MIDI: 16 multi-timbre received, GM Level 1 standard
- Socket: Sustain pedal input, Aux out, MIDI IN/OUT, USB to computer, Steteo headphone
- Power source, USB port (for headphone only) and batteries
Technical Specifications:
- Dimensions: About 82.5x 25.5×6 cm
- Weight: about 3.3 kg (without batteries)


Most of the features implemented in this project is presented in this section. These were the ones I deemed the most important – the ones I have used in LaTeX.
Headings
Headings are automatically numbered, so the first tag will automatically get be preceded by 1, the second by 2 and so on. Subchapters like and the other heading tags will be preceded with the number related to them, e.g. 1.2.1. If one does not want the heading to be numbered, adding the attribute ignore will not assign the heading a number.
Table of contents
Adding the element will create a table of content of all the headings. Headings with the attribute ignore will not be added. Clicking a table of contents item will take you to the related heading.
Figures
Figures using the element will automatically be numbered. The default type is Figure, but by adding the attribute type="table" – the figure will be treated as a table instead.
Footnotes
Footnotes can be added by using the element . Footnotes will then be numbered and added to the bottom of the page. Clicking a footnote reference will take you to the footnote.
Citing
It is possible to cite different sources using the element . It will then look up the citation key from the provided BibTeX files. BibTeX files can be added in the head of the index.html file using the element ">. The cited items will then be listed where the element is added. Clicking a cite element will take you to the reference in the bibliography.
Parsing the BibTeX files is done by the library bib2jsonhttps://github.com/mayanklahiri/bib2json
Abbreviations
It is possible to define abbreviations using the element and then reference them by using . Clicking a abbreviation takes you to the definition.
Referencing
It is possible to reference headings and figures by adding the attribute ref="ref-key" to them. Now by using the element the element will be replaced with e.g. 3.2. Clicking the ref-element will take you to the referenced element.
Including from other files
The element allows the user to include HTML from other files. The whole element will be replaced by the included HTML.
It is also possible to include text using the attribute include-text="...path". This is especially useful for including e.g. HTML code that otherwise would have to be escaped.
The paths of both and include-text are relative to the file that they are being referenced from.
Page numbers
Page numbers are added when pages are split. If the number needs to be changed, the element and attribute can be used. In this case, pages will increment from 1. It is also possible to use roman numbers by using the attribute roman="true".
Plain text
The element and attribute can be used to enter text without the need of escaping, e.g. and .
URLs
Using the element will make the URL clickable.
Code highlighting
Using the code snippet presented in Figure code-highlighting highlights the syntax of the code (also shown in the same figure). The library PrismJShttps://prismjs.com is used to highlight the code. To add line numbers to the code snippet – one need to add the class line-numbers. The attribute language-* tells PrismJS what coding language the content should be highlighted as. The * represents the language, e.g. language-html.
Templates
Templates are used to define the structure of the HMTL used by different components. The template for elements is shown in Figure heading-template. Attributes beginning with # are used to link templates with different components. This means that it is possible to restructure and modify the templates to one's liking as long as the same #-attributes still exist.
Extendability
Most parts of the project is extendable and modifiable. All components like headings, figures and cite can be overridden. Templates can also be overridden – Figure override-template shows how a template is overridden (or a new one is registered).
New components are registered and existing ones are overridden by using the following syntax:


Remains found in Alabama believed to be those of Aniah Blanchard, step-daughter of UFC fighter
by CNN NewsourceRemains found Macon County, Alabama are believed to be those of 19-year-old missing college student Aniah Blanchard.
The Alabama State Bureau of Investigation confirmed it had found the remains Monday. While they did not confirm the identity, the Bureau said it has reason to believe the remains are Blanchard's.
Blanchard, a student at Southern Union State Community College in Opelika, Alabama, was last seen on Oct. 23 in Auburn, Alabama.
Two suspects have been arrested in connection with her disappearance.
Antwain Shamar "Squirmy" Fisher, 35, of Montgomery was arrested and charged with first-degree kidnapping on Friday. Ibraheem Yazeed was arrested on Nov. 7.
Authorities in Lee County aren't able to answer further questions about Fisher and the case because of a gag order put into effect earlier in the month, Register said.
Blanchard, 19, the step-daughter of UFC heavyweight Walt Harris, was last seen on the evening of Oct. 23.
Two days later, her SUV was found damaged in an apartment complex an hour away in Montgomery, Alabama.
Blanchard, who is a student at Southern Union State Community, was gone. A week after Blanchard's disappearance, police said they believed she had been harmed.
The reward for helping to find Blanchard and any perpetrators involved in the case stands at more than $100,000.
A witness, whose name hasn't been made public, testified this week that he saw Blanchard being abducted outside of a convenience store in Auburn, according to CNN affiliate WTVM .


1 write to Path
Microsoft.PowerShell.Commands.Utility (1)
commands\utility\XmlCommands.cs (1)
317
Path
= value;
3 references to Path
Microsoft.PowerShell.Commands.Utility (3)
commands\utility\XmlCommands.cs (3)
312
return
Path
;
357
if (
Path
!= null)
359
foreach (string path in
Path
)


{# # The site layout template # ------------------------ # # This layout template extends the _layouts/base.html layout, and defines the # main site layout: the header, footer, and main content area. # # It’s never accessed directly. Instead it is extended by all of our main site # templates. # # This template defines one block region, `main`, which should be extended by # child templates to define the main contents for the page. -#} {% extends "_layouts/base" %} {# Define the site navigation #} {% set nav = { buy: { title: "Ready to Buy", desc: "Looking to Buy" }, sell: { title: "Sell to Us", desc: "We Buy Houses" }, list: { title: "List a House", desc: "Looking to Sell" } } %} {# Set the `bodyClass` variable to the entry's section handle if there is one, or the first URI segment (this is used by the parent template) #} {% if bodyClass is not defined %} {% set bodyClass = entry is defined ? entry.section.handle : craft.request.firstSegment %} {% endif %} {# Set the `title` variable to the nav item that matches the first segment #} {% if nav[bodyClass] is defined %} {% set title %}{% if title is defined %}{{ title }} - {% endif %}{{ nav[bodyClass].title }}{% endset %} {% endif %} {% block body %}


The sinc(x) function, abbreviated from “sine cardinal” is used frequently in signal processing calculations but is not available as part of the C standard library. The most common definition for the sinc(x) function is the following:
𝑓(_𝑥)_=_𝑠𝑖𝑛𝑐(_𝑥)_ _=_s_i_n_ _(_𝑥)_𝑥 _
The values of this function can be calculated easily, except for sinc(0) which gives an indeterminant form of 0/0. In this case, l’Hopital’s theorem from calculus can be used to prove that sinc(0) = 1.
Create a function called sinc that accepts a numeric value (x) as a parameter and returns a numeric value that is the calculated value of sinc(x). Create a program that will prompt the user for the lower limit, and upper limit, and increment value. The program will 2 generate a table of values of sinc(x) using the user-defined function sinc. For instance, if the lower limit is -3, upper limit is 4 with increments of 0.5, the following table would be generated:
Hi you might get more answers if you show some effort and provide some code you have written. You haven't even stated what your problem with the assignment is. Make sure to use the code tags - the <> button on the format menu.
If you have compile errors, post them as well (in full)
At least post some pseudo code showing how you would go about the problem.
Also, I suspect some of the special characters have not displayed properly, so the whole post is a bit meaningless at the moment. I am not going to search on wiki to find out what the formula is.
There are people willing to help out, so we look forward to seeing your code.


I am a passionate, funny, happy, possitive, and energetic Latina. I love my life, my family, dancing, my dog 'Luna' 🐶 and hanging out in nature 🌴.
Natural extrovert, open to new experiences and always finding ways to improve myself.
Love programming, building things, working with awesome people and contributing to open source software. Coorganizer of the largest tech meetup for women in Medellin (+1.000 women). I've been a speaker at multiple tech events (EmpireJS, MedellinJS, WHC, PionerasDev).
I have had the incredible pleasure of working at
Moove-it since september 2017.
Moove-it it's a software consulting firm that designs, develops, and deploys custom software solutions for organizations that want to make an impact through technology.
I had the opportunity of working at really cool projects! I greatly contributed to Kaigi, a retrospective tool for distributed teams.
Also CCXC a financial tool to drive sustainable economic growth to smaller companies in developing countries.
And finally to Catapulth Halth The leading national provider of Worksite Preventive Checkups. We empower individuals to improve their health.
I focused on building new user-facing features, reusable, maintainable and scalable code, and collaborated with other team members and stakeholders to get the best possible outcome fro client's satisfaction. Using technologies as React, Redux and Node.js.
JSConf Colombia
For the last three years, I've been an organizar of JSConf Colombia, one of the most important tech events in the country, binging the JavaScript community under one roof.
In 2019 I've been selected to be one of the Directors the conference. 🤩 🎉
I have helped with the logistics, finance and sponsors of the conference.
It's always a massive success!
Playing Around
TIC-TAC-TOE
Who hasn't played this game? It turns out that tic-tac-toe is also a great way to learn JavaScript. Next step, built an unbeatable tic-tac-toe bot!
OMG YES! I actually created a Search Engine in Python for the Udacity
Intro to CS course.
I learned how to crawl the web, collect all the links in a webpage, and create a index of the links. The index was stored as a dictionary with keyword searches as the key and urls as the value.
I created a lookup function that returns a url given a keyword.
I used a page ranking algorithm to rank the relevancy of pages for each search term.
One of the things I'm more passionate about is communities.
I am an organizer of Pioneras Developers, one of the biggest community for girls that are learning to code in Medellín, Colombia.
Diversity leads to better products and results. According to a MIT study diversity in workplaces improves performance, morale and the end product. If there are more women engineers, we can build better teams and better software. Not only that, women who code can be examples to millions of girls to show them programming is something they can do.
We seek to empower women in technology and create a strong community where we can support each other in our learning processes. We provide mentorship, community meetings, and talks on JavaScript, Ruby, HTML, CSS, Git, coding challenges, Data Science, and Computer Science.
We also hosted, and I was part of the organizig group, of the first Startup Weekend Women Edition and It was a success!
80 women entrepreneurs (among developers, designers and business women) meet up to develop a business idea with the potential of becoming a start up.
The Recurse Center is a self-directed, community-driven educational retreat for programmers in New York City.
I spent three months focusing on being a better programmer and a better human. I studied Python and built a little search engine. I also learned a little Scala to contribute to an open source Spark project.
I hosted the Career Panel where experienced professionals share their career knowledge with us
I also made life-long friends... ⬆ this was my birthday!
Speaker
I love speaking in public and inspire others to pursue tech careers
Earlier this year (2019) I was invited to speak in a regional government event to inspire 200 girls with social difficulties to study and work in tech!
It was an amazing experience and many girls reachead out to me to take pictures and ask me questions. Hopefully, they will be creating amazing software soon!
NodeSource
I loved working for NodeSource! I was the primary link to enterprise Node.js developer ecosystem.
I interacted a lot with the general open source community. I participated in many community activities, like JSConf Europe, Collaborator Summit, NodeConf, JSWeek.
I was a speaker at different national and international meetups and created a lot of technical content. I helped with the broader open source community, helping to shape messaging, campaigns, and field marketing initiatives.
I created many popular blog post! Some of them have over 15K views!


--- title: Preserving zero-length groups author: Pablo Cánovas Tourné date: '2020-05-09' slug: preserving-zero-length-groups output: blogdown::html_page: highlight: tango categories: - R - Tips tags: [Tidyverse] subtitle: "Learning the group_by attribute .drop" summary: "Don't drop that" authors: [pablo-canovas] disable_codefolding: true codefolding_show: hide codefolding_nobutton: true ---
This week I learned about another neat trick with tidyverse functions: the argument .drop
from the group_by
function.
To showcase this functionality I made up a simple example with this dataset consisting of nuclear accidents data.
Take a sneak peek of the dataset:
| Date | Location | Cost (millions 2013US$) | INES | Smyth Magnitude | Region | Fatalities |
|---|---|---|---|---|---|---|
| 4/26/1986 | Kiev, Ukraine | 259336 | 7 | 8.0 | EE | 4056 |
| 3/11/2011 | Fukushima Prefecture, Japan | 166089 | 7 | 7.5 | A | 573 |
| 12/8/1995 | Tsuruga, Japan | 15500 | NA | NA | A | 0 |
| 3/28/1979 | Middletown, Pennsylvania, United States | 10910 | 5 | 7.9 | NA | 0 |
Let’s say we are interested in knowing about how does the percentage of accidents happened in Europe vary compared to the rest of the world, and for that reason we simplify the Region
variable onto the In_Europe
boolean feature:
df <- original_data %>%
mutate(Year = Date %>% mdy() %>% year(),
In_Europe = if_else(Region %in% c("EE", "WE"), T, F) %>% as.factor()) %>%
filter(Year %>% between(1989, 2011))
We then simply compute the percentage of accidents happened every year and plot it
df_implicitNAs <- df %>%
group_by(Year, In_Europe) %>%
summarize(N = n()) %>%
mutate(Percentage = round(N / sum(N) * 100, 1))
If that chunk puzzles you, I explain what is going on under the hood in this post.
In the plot below I highlighted the strange result I found: being that there are only two possibilities (the accident happened in Europe or not) the sum of the ratios should add up to 100, right?
Not a beautiful plot but aesthetic considerations apart, what is going on here? Did we fail with the maths?
Not exactly. This result is due to a tricky behaviour of the summarise
function related with the missing values.
If we take a look to the first rows, we can see how in 1990 and 1991 there weren’t any nuclear accident in Europe, but that information is implicit instead of explicit.
| Year | In_Europe | N | Percentage |
|---|---|---|---|
| 1989 | FALSE | 4 | 66.7 |
| 1989 | TRUE | 2 | 33.3 |
| 1990 | FALSE | 1 | 100.0 |
| 1991 | FALSE | 3 | 100.0 |
| 1992 | FALSE | 3 | 75.0 |
| 1992 | TRUE | 1 | 25.0 |
When plotting with the line graph, ggplot is connecting the data points between 1989 and 1992 and therefore displaying misleading information. Obviously this is not ggplot’s fault, it’s simply how it works.
We could easily solve this problem chossing an more suitable graph as we will see below, but this example is still useful to learn about the .drop
argument:
The default behaviour of the group_by
function is to drop zero-length groups, and therefore it’s making implicit that piece of information. We can override the default behaviour simply adding .drop = FALSE
to the call:
df_explicitNAs <- df %>%
group_by(Year, In_Europe, .drop = FALSE) %>%
summarize(N = n()) %>%
mutate(Percentage = round(N / sum(N) * 100, 1))
Now we can see the years when there were no accidents in Europe:
| Year | In_Europe | N | Percentage |
|---|---|---|---|
| 1989 | FALSE | 4 | 66.7 |
| 1989 | TRUE | 2 | 33.3 |
| 1990 | FALSE | 1 | 100.0 |
| 1990 | TRUE | 0 | 0.0 |
| 1991 | FALSE | 3 | 100.0 |
| 1991 | TRUE | 0 | 0.0 |
And now the graph doesn’t deceive us anymore:
Let’s face, however, that we could have tackled this problem choosing a more suitable geom. Whenever you need to display any normalized variable, using geom_col()
is usually a better approach:


Awesome Title
awesome header
Hello there, awesome person!
apple
microsfot
nike
This is a link to GitHub!


Checks¶
Info¶
A check is one of the foundational building blocks of the monitoring system. The check determines the parts or pieces of the entity that you want to monitor, the monitoring frequency, how many monitoring zones are originating the check, and so on. When you create a new check in the monitoring system, you specify the following information:
- A name for the check
- The check’s parent entity
- The type of check you’re creating
- Details of the check
- The monitoring zones that will launch the check
The check, as created, will not trigger alert messages until you create an alarm to generate notifications, to enable the creation of a single alarm that acts upon multiple checks (e.g. alert if any of ten different servers stops responding) or multiple alarms off of a single check. (e.g. ensure both that a HTTPS server is responding and that it has a valid certificate).
Setup¶
Checks are sub-resources of Entities:
$checkId = 'chAAAA';
$check = $entity->getCheck($checkId);
Attributes¶
| Name | Description | Required? | Data type |
|---|---|---|---|
| type | The type of check. | Required | Valid check type. String (1..25 chars) |
| details | Details specific to the check type. | Optional | Array |
| disabled | Disables the check. | Optional | Boolean |
| label | A friendly label for a check. | Optional | String (1..255 chars) |
| metadata | Arbitrary key/value pairs. | Optional | Array |
| period | The period in seconds for a check. The value must be greater than the minimum period set on your account. | Optional | Integer (30..1800) |
| timeout | The timeout in seconds for a check. This has to be less than the period. | Optional | Integer (2..1800) |
Attributes used for remote Checks¶
| Name | Description | Required? | Data type |
|---|---|---|---|
| monitoring_zones_poll | List of monitoring zones to poll from. Note: This argument is only required for remote (non-agent) checks | Optional | Array |
| target_alias | A key in the entity’s ip_addresses hash used to resolve this check to an IP address. This parameter is mutually exclusive with target_hostname. | Optional | String (1..64 chars) |
| target_hostname | The hostname this check should target. This parameter is mutually exclusive with target_alias. | Optional | Valid FQDN, IPv4 or IPv6 address. String (1..256 chars). |
| target_resolver | Determines how to resolve the check target. | Optional | IPv4 or IPv6 |
Test parameters (before create)¶
$params = array(
'type' => 'remote.http',
'details' => array(
'url' => 'http://example.com',
'method' => 'GET'
),
'monitoring_zones_poll' => array('mzlon'),
'period' => '100',
'timeout' => '30',
'target_alias' => 'default',
'label' => 'Website check 1'
);
// You can do a test to see what would happen
// if a Check is launched with these params
$response = $entity->testNewCheckParams($params);
echo $response->timestamp; // When was it executed?
echo $response->available; // Was it available?
echo $response->status; // Status code
Create a Check¶
$entity->createCheck($params);
Test existing Check¶
// Set arg to TRUE for debug information
$response = $check->test(true);
echo $response->debug_info;
Check types¶
Info¶
Each check within the Rackspace Cloud Monitoring has a designated check type. The check type instructs the monitoring system how to check the monitored resource. Note: Users cannot create, update or delete check types.
Check types for commonly encountered web protocols, such as HTTP (remote.http), IMAP (remote.imap-banner) , SMTP (remote.stmp), and DNS (remote.dns) are provided. Monitoring commonly encountered infrastructure servers like MySQL (remote.mysql-banner) and PostgreSQL (remote.postgresql-banner) are also available. Monitoring custom server uptime can be accomplished with the remote.tcp banner check to check for a protocol-defined banner at the beginning of a connection. Gathering metrics from server software to create alerts against can be accomplished using the remote.http check type and the ‘extract’ attribute to define the format.
In addition to the standard Cloud Monitoring check types, you can also use agent check types if the Monitoring Agent is installed on the server you are monitoring. For a list of available check types, see the official API documentation.
Checks generate metrics that alarms will alert based upon. The metrics generated often times depend on the check’s parameters. For example, using the ‘extract’ attribute on the remote.http check, however the default metrics will always be present. To determine the exact metrics available, the Test Check API is provided.
Setup¶
If you want to see the type for an existing Check:
/** @var \OpenCloud\CloudMonitoring\Resource\CheckType */
$checkType = $check->getCheckType();
Alternatively, you can retrieve a specific type based on its ID:
$checkTypeId = 'remote.dns';
$checkType = $service->getCheckType($checkTypeId);
Attributes¶
| Name | Description | Data type | Method |
|---|---|---|---|
| type | The name of the supported check type. | String | getType() |
| fields | Check type fields. | Array | getFields() |
| supported_platforms | Platforms on which an agent check type is supported. This is advisory information only - the check may still work on other platforms, or report that check execution failed at runtime | Array | getSupportedPlatforms() |
List all possible check types¶
$checkTypes = $service->getCheckTypes();
foreach ($checkTypes as $checkType) {
echo $checkType->getId();
}


YIYIQI
Crew Neck Midi Dress
MULTIFLORA
Paneled Asymmetrical Mini Dress
Y&M
Sleeve Silk Midi Dress
DABUWAWA
Sleeve Knitted Midi Dress
Jade&Cloud
Stand Collar Organza Blouse
DABUWAWA
V Neck Simple Tunic
NATURAL HOUSE
Blue Polyester Elegant Blouse
Aporia. AS
Dye Spaghetti Vintage Cami
OTHER CRAZY
Stand Collar Paneled Coat
Olrain
Lapel Plain H-line Coat
OTHER CRAZY
Blend Pockets Bomber Jacket
Liya’s Closet
Long Sleeve Plain Coat
INMAN
Ripped Skinny Leg Pants
Toyouth
blend Casual Track Pants
IK
Pockets Straight Leg Pants
ONEBUYE
Simple Straight Leg Pants
ONEBUYE
Knitted Elegant Plain Sweater
Olrain
Neck Long Sleeve Sweater
Olrain
Casual Knitted Embroidered Sweater
OTHER CRAZY
Knitted Long Sleeve Sweater
ICYZONE
Bra (Sportswear for Fitness)
HOTFACE
Bra (Sportswear for Yoga)
HOTFACE
Bra (Sportswear for Yoga)
HOTFACE
Bra (Sportswear for Running)
VICONE
PU Summer Dress Sandals
VICONE
Ponited Toe PU Heels
CROWEDAISY
Casual Stiletto Heel Heels
VICONE
Stiletto Heel Bowknot Heels
NUCELLE
Handle with Beaded Embroidery
RADISH
Clutch with Embellished Flowers
JUST STAR
Sweet Embroideried Crossbody Bag
QIANBH
PU Sweet Crossbody Bag


I have always worked well individually and in team-based environments. Having several family members in the software development profession has encouraged me to pursue software development as a career. I enjoy creating user-friendly computer applications that solve real-world problems! I am excited to embark on this new journey in software development!
Motivation Joy is an App to keep you happy and motivated while at work! It's a great way to share your life that brings about a positive attitude in you and others. It may have the ability to influence your thinking and choices so that you can have a positive effect on this world. Developed a React-based project promoting a positive attitude in a workplace setting by sharing inspiring photos, quotes, ideas and activities of interest. Leveraged CRUD functionality with JSON server. Used Bootstrap/Reactstrap for styling elements.
Github: https://github.com/nss-day-cohort-33/c33-celebrity-tribute-kicking-krabs
Github: https://github.com/nss-day-cohort-33/welcome-to-nashville-harmonic-hedgehogs
Github: https://github.com/nss-day-cohort-33/c33-nutshell-fairy-boo-boo-1
Github: https://github.com/nss-day-cohort-33/c33-nutshell-react-the-fort-pillows


PR2StudioSwift
Contents
Requirements
- iOS 11.0+
- Xcode 9.0+
- Swift 4.0+
Installation
CocoaPods
CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:
$ gem install cocoapods
CocoaPods 1.1.0+ is required to build PR2StudioSwift
To integrate PR2StudioSwift into your Xcode project using CocoaPods, specify it in your Podfile
:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '11.0'
use_frameworks!
target '<Your Target Name>' do
pod 'PR2StudioSwift'
end
Then, run the following command:
$ pod install
Carthage
Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
You can install Carthage with Homebrew using the following command:
$ brew update
$ brew install carthage
To integrate PR2StudioSwift into your Xcode project using Carthage, specify it in your Cartfile
:
github "pabloroca/PR2StudioSwift"
Run carthage update
to build the framework and drag the built PR2StudioSwift.framework
into your Xcode project.
Manually
If you prefer not to use either of the aforementioned dependency managers, you can integrate PR2StudioSwift into your project manually.
Jazzy
Doc generation in ,/docs folder. See it here: https://rawgit.com/pabloroca/PR2StudioSwift/master/docs/index.html
https://github.com/realm/jazzy
Script to run
jazzy \
--clean \
--author PabloRoca \
--author_url https://pr2studio.com \
--module-version 1.00 \
--xcodebuild-arguments -scheme,PR2StudioSwift \
--module PR2StudioSwift \
--output docs \
--min-acl internal
Credits
Pablo Roca Rozas<EMAIL_ADDRESS>License
PR2StudioSwift is available under the MIT license. See the LICENSE file for more info.


Campaigns
class Campaigns extends CI_Controller
Campaigns Controller
Methods
No description
No description
View single campaign
Edit basic campaign settings
Edit campaign design settings
Edit campaign receipt settings
Edit campaign custom fields
Edit campaign create fields
Main edit view
Create new campaign
View single donation
Create/edit single donation
Refund handler
View recent donations. The final URL segment is used as the offset to paginate results.
Exports donation log to CSV
Details
at line 13
__construct()
at line 37
index()
at line 50
view()
View single campaign
Loads 'campaigns/view' with: * campaign Campaignmodel * stats Statsmodel * previous String * next String
at line 99
edit_basic()
Edit basic campaign settings
Loads 'campaigns/edit/basic' with: * campaign Campaign_model
at line 182
edit_design()
Edit campaign design settings
Loads 'campaigns/edit/design' view with: * campaign Campaign_model
at line 246
edit_receipt()
Edit campaign receipt settings
Loads 'campaigns/edit/receipt' view with: * campaign Campaign_model
at line 310
edit_fields()
Edit campaign custom fields
Loads 'campaigns/edit/fields' view with * campaign Campaign_model
Note that this view requires the Handlebars.js library in order to function properly.
at line 386
edit_campaign_fields()
Edit campaign create fields
Loads 'campaigns/edit/campaignfields' view with * campaign Campaignmodel
Note that this view requires the Handlebars.js library in order to function properly.
at line 459
edit()
Main edit view
Loads 'campaigns/edit' view with * campaign Campaign_model
at line 483
new_campaign()
Create new campaign
Loads 'campaign/edit/basic' with * campaign EMPTY Campaign_model
at line 538
donation()
View single donation
Loads campaigns/donation view with * donation Donationmodel * campaign Campaignmodel
at line 565
donation_edit()
Create/edit single donation
Loads campaigns/donation edit view with * campaign Campaignmodel * donation Donationmodel
at line 678
donation_refund()
Refund handler
at line 786
donations()
View recent donations. The final URL segment is used as the offset to paginate results.
Loads 'campaigns/donations' with: * campaign Campaignmodel * donations Array of Donationmodel * previous String * next String
at line 838
export()
Exports donation log to CSV


Filter/Encrypt/Openssl.php
Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled
with this package in the file LICENSE.txt.
It is also available through the world-wide-web at this URL:
http://framework.zend.com/license/new-bsd
If you did not receive a copy of the license and are unable to
obtain it through the world-wide-web, please send an email
to<EMAIL_ADDRESS>so we can send you a copy immediately.
- category
- Zend
- copyright
- Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
- license
-
New BSD License
- package
- Zend_Filter
- version
- $Id: Openssl.php 23775 2011-03-01 17:25:24Z ralph $
\Zend_Filter_Encrypt_Openssl
Encryption adapter for openssl
- Implements
- \Zend_Filter_Encrypt_Interface
- category
- Zend
- copyright
- Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
- license
-
New BSD License
- package
- Zend_Filter
Properties
$_keys= 'array'
Definitions for encryption
array(
'public' => public keys
'private' => private keys
'envelope' => resulting envelope keys
)
Default valuearray
Details
- Type
Methods
__construct(
string|array $options
=
array
)
:
void
Class constructor
Available options
'public' => public key
'private' => private key
'envelope' => envelope key
'passphrase' => passphrase
'compression' => compress value with this compression adapter
'package' => pack envelope keys into encrypted string, simplifies decryption
Parameters
| Name |
Type |
Description |
| $options |
string|array |
Options for this adapter |
decrypt(
string $value
)
:
string
Defined by Zend_Filter_Interface
Decrypts $value with the defined settings
Parameters
| Name |
Type |
Description |
| $value |
string |
Content to decrypt |
Returns
| Type |
Description |
| string |
The decrypted content |
Throws
encrypt(
string $value
)
:
string
Encrypts $value with the defined settings
Note that you also need the "encrypted" keys to be able to decrypt
Parameters
| Name |
Type |
Description |
| $value |
string |
Content to encrypt |
Returns
| Type |
Description |
| string |
The encrypted content |
Throws
setCompression(
string|array $compression
)
:
\Zend_Filter_Encrypt_Openssl
Sets a internal compression for values to encrypt
Parameters
| Name |
Type |
Description |
| $compression |
string|array |
|
Returns
setPackage(
boolean $package
)
:
\Zend_Filter_Encrypt_Openssl
Sets if the envelope keys should be included in the encrypted value
Parameters
| Name |
Type |
Description |
| $package |
boolean |
|
Returns


Associated Project: Project Name
| ORDER ID # | CREATED BY | RECEIVED BY | APPROVED BY | ORDER LIMIT | ORDER BUDGET |
| 123456789 | Douglas Densmore | N/A | N/A | 50 Items | $5000.00 |
| ITEM | QTY. | UNIT PRICE | CUSTOM UNIT PRICE | TOTAL PRICE |
| 6 Piece Pyrex Glass Test Tube Set | 6 | $7.89 | $7.89 | $37.86 |
| 10 | $84.98 | $84.98 | $849.90 |
| Total before tax: | $887.76 |
| Tax: | $62.14 |
| Grand Total: | $949.90 |


Where the attacks took place
Click on the map markers to view information about the attacks at each location.
Stade de France
9:20 p.m., 9:30 p.m., 9:53 p.m.
After being turned away by stadium security, a suicide bomber detonated an explosives belt outside of Gate D,
killing himself and one victim. The blast could be heard inside the stadium, where France and Germany were playing
an exhibition soccer match. President Francois Hollande, who was inside the stadium, made the quick decision to not
alert the players and fans. The match continued and no one was allowed to leave the building. It wound up being the
right call as ten minutes later, another suicide bomber struck outside of Gate H, killing only himself. Twenty-three
minutes after the second bomb, another suicide bomber struck not far from the stadium, also killing only himself.
The total death toll at the Stade de France, which holds over 81,000 fans, was only one. Had the stadium been
evacuated, the death toll would have been much higher.
Le Carillon and Le Petit Cambodge
9:25 p.m.
Five minutes after the attacks began at Stade de France, gunmen in a black vehicle shot at diners sitting at Le Carillon
and the nearby restaurant Le Petit Cambodge with assault rifles. The attack on the two restaurants killed 15 and left 10
more seriously wounded.
Cafe Bonne Bière
9:32 p.m.
Five diners were killed and eight more critically wounded when gunmen in a black vehicle opened fire at Cafe Bonne Bière.
La Belle Equipe
9:36 p.m.
Gunmen in a black vehicle fired onto the terrace of La Belle Equipe, killing 19 people and critically wounding nine others.
Comptoir Voltaire
9:40 p.m.
A suicide bomber detonated an explosive device at the Comptoir Voltaire restaurant, seriously wounding one person.
Bataclan
9:40 p.m.
Three men attacked the Bataclan, a concert venue that holds 1,500 people, during a sold-out performance of the American
band Eagles of Death Metal. They ran into the club's two-story ballroom throwing grenades and shooting the crowd
throughout the hall. The band and some concertgoers escaped, but after the initial gunfire the gunmen began rounding up
the remaining survivors and held them hostage as police officers amassed outside. Over two hours later, the police raided
the concert hall. Two attackers exploded their suicide vests while the third attacker's was activated by police gunfire.
The total death toll at the Bataclan was 89.


Colors
Bootstrap includes several predefined button styles, each serving its own semantic purpose, with a few extras thrown in for more control.
Sizes
Fancy larger or smaller buttons? Add .btn-lg
or .btn-sm
for additional sizes.
Use our custom button styles for actions in forms, dialogs, and more. Includes support for a handful of contextual variations.
Bootstrap includes several predefined button styles, each serving its own semantic purpose, with a few extras thrown in for more control.
Fancy larger or smaller buttons? Add .btn-lg
or .btn-sm
for additional sizes.


Service Virtualization is one of
the common categories of patterns for connectivity solutions.
The Service Virtualization patterns provide
loose coupling between services by providing additional levels
of direction through an Enterprise Service Bus.
These patterns also address the requirements of mediation (for example, routing,
protocol conversion, data transformation, and logging) between services
when addressing connectivity requirements in a service-oriented architecture.
Service virtualization patterns are typically used to address a number of distinct
requirements, including provision of:
- Loose coupling by presenting existing services as virtual
services on the Enterprise Service Bus.
- A provider facade to include transformation and enrichment.
- A provider facade to provide a standard interface
for non-standard services.
- Standard service management utilities, for example, security,
logging, monitoring, and charging.
The following diagram illustrates an example of a Service Virtualization
scenario:


|
Lager Circular Buffer
|
Module to turn static array into circular buffer. More...
Functions | |
| int | circularBuffer_init (circularBuffer_t *p_buffer, void *p_data_buffer, size_t data_buffer_size, size_t item_size) |
| int | circularBuffer_flush (circularBuffer_t *p_buffer) |
| bool | circularBuffer_is_full (const circularBuffer_t *p_buffer) |
| bool | circularBuffer_is_empty (const circularBuffer_t *p_buffer) |
| int | circularBuffer_getCount (const circularBuffer_t *p_buffer, size_t *result) |
| int | circularBuffer_push (circularBuffer_t *p_buffer, const void *FK_CB_KW_RESTRICT p_data, memcpy_t fp_memcpy) |
| int | circularBuffer_push_n (circularBuffer_t *p_buffer, const void *FK_CB_KW_RESTRICT p_data, size_t n, memcpy_t fp_memcpy) |
| int | circularBuffer_peek (const circularBuffer_t *p_buffer, void *FK_CB_KW_RESTRICT p_data, size_t n, memcpy_t fp_memcpy) |
| int | circularBuffer_popFIFO (circularBuffer_t *p_buffer, void *FK_CB_KW_RESTRICT p_data, memcpy_t fp_memcpy) |
| int | circularBuffer_popFIFO_n (circularBuffer_t *p_buffer, void *FK_CB_KW_RESTRICT p_data, size_t n, memcpy_t fp_memcpy) |
| int | circularBuffer_remove_records (circularBuffer_t *p_buffer, size_t n) |
| int | circularBuffer_popLIFO (circularBuffer_t *p_buffer, void *FK_CB_KW_RESTRICT p_data, memcpy_t fp_memcpy) |
| int | circularBuffer_popLIFO_n (circularBuffer_t *p_buffer, void *FK_CB_KW_RESTRICT p_data, size_t n, memcpy_t fp_memcpy) |
| int | circularBuffer_max_slots (const circularBuffer_t *p_buffer, size_t *result) |
| int | circularBuffer_copy (circularBuffer_t *dst, const circularBuffer_t *src, memcpy_t fp_memcpy) |
Module to turn static array into circular buffer.
Copyright (c) 2019, Fictive Kin, LLC
All rights reserved.
| int circularBuffer_init | ( | circularBuffer_t * | p_buffer, |
| void * | p_data_buffer, | ||
| size_t | data_buffer_size, | ||
| size_t | item_size | ||
| ) |
Initialize a circular buffer
| [in] | p_buffer | pointer to the circular buffer to initialize |
| [in] | p_data_buffer | pointer to the start of the memory location where the buffer's data will be stored |
| [in] | data_buffer_size | size of p_data_buffer in bytes |
| [in] | item_size | item size. data_buffer_size must be evenly divisible by item_size |
| CIRC_BUF_ADDR_ERROR | if p_buffer is NULL |
| CIRC_BUF_SIZE_ERROR | if data_buffer_size or item_size is 0, or if item_size does not evenly divide data_buffer_size |
| CIRC_BUF_NO_ERROR | on success |
| int circularBuffer_flush | ( | circularBuffer_t * | p_buffer | ) |
Flush (empty) a circular buffer
| [in] | p_buffer | pointer to the circular buffer to flush |
| CIRC_BUF_ADDR_ERROR | if p_buffer is NULL |
| CIRC_BUF_NO_ERROR | on success |
| bool circularBuffer_is_full | ( | const circularBuffer_t * | p_buffer | ) |
Determine if a circular buffer is full
| [in] | p_buffer | pointer to the circular buffer |
| bool circularBuffer_is_empty | ( | const circularBuffer_t * | p_buffer | ) |
Determine if a circular buffer is empty
| [in] | p_buffer | pointer to the circular buffer |
| int circularBuffer_getCount | ( | const circularBuffer_t * | p_buffer, |
| size_t * | result | ||
| ) |
Get number of items in a buffer
| [in] | p_buffer | pointer to the circular buffer |
| [out] | result | number of items in p_buffer |
| CIRC_BUF_ADDR_ERROR | if p_buffer or result is NULL |
| CIRC_BUF_NO_ERROR | on success |
| int circularBuffer_push | ( | circularBuffer_t * | p_buffer, |
| const void *FK_CB_KW_RESTRICT | p_data, | ||
| memcpy_t | fp_memcpy | ||
| ) |
Push 1 item from p_data
onto the end of p_buffer
.
| [in] | p_buffer | pointer to the circular buffer |
| [in] | p_data | pointer to the data to push onto the buffer. Must be at least p_buffer->item_size bytes in length. Must not overlap with p_buffer->p_data_location |
| [in] | fp_memcpy | pointer to the function to use to copy memory. If NULL is passed, memcpy will be used. |
| CIRC_BUF_ADDR_ERROR | if p_buffer is NULL |
| CIRC_BUF_BUFFER_FULL | if p_buffer is full |
| CIRC_BUF_NO_ERROR | on success |
| int circularBuffer_push_n | ( | circularBuffer_t * | p_buffer, |
| const void *FK_CB_KW_RESTRICT | p_data, | ||
| size_t | n, | ||
| memcpy_t | fp_memcpy | ||
| ) |
Push n
items from p_data
onto the end of p_buffer
| [in] | p_buffer | pointer to the circular buffer |
| [in] | p_data | pointer to the data to push onto the buffer. Must be at least p_buffer->item_size * n bytes in length. Must not overlap with p_buffer->p_data_location . |
| [in] | n | number of items to push onto p_buffer |
| [in] | fp_memcpy | pointer to the function to use to copy memory. If NULL is passed, memcpy will be used. |
| CIRC_BUF_ADDR_ERROR | if p_buffer is NULL |
| CIRC_BUF_SIZE_ERROR | if n exceeds p_buffer->buffer_slots |
| CIRC_BUF_BUFFER_FULL | if p_buffer cannot accept n more items |
| CIRC_BUF_NO_ERROR | on success |
| int circularBuffer_peek | ( | const circularBuffer_t * | p_buffer, |
| void *FK_CB_KW_RESTRICT | p_data, | ||
| size_t | n, | ||
| memcpy_t | fp_memcpy | ||
| ) |
Copy the first n
items from p_buffer
into p_data
| [in] | p_buffer | pointer to the circular buffer |
| [out] | p_data | pointer to the destination. Must be at least p_buffer->item_size * n bytes in length. Must not overlap with p_buffer->p_data_location . |
| [in] | n | number of items to read from p_buffer |
| [in] | fp_memcpy | pointer to the function to use to copy memory. If NULL is passed, memcpy will be used. |
| CIRC_BUF_ADDR_ERROR | if p_buffer is NULL |
| CIRC_BUF_BUFFER_EMPTY | if p_buffer is empty |
| CIRC_BUF_SIZE_ERROR | if n is zero or n exceeds buffer item count |
| CIRC_BUF_NO_ERROR | on success |
| int circularBuffer_popFIFO | ( | circularBuffer_t * | p_buffer, |
| void *FK_CB_KW_RESTRICT | p_data, | ||
| memcpy_t | fp_memcpy | ||
| ) |
Copy one item from the beginning of p_buffer
into p_data
and remove it from p_buffer
| [in] | p_buffer | pointer to the circular buffer |
| [out] | p_data | pointer to the destination. Must be at least p_buffer->item_size bytes in length. Must not overlap with p_buffer->p_data_location . |
| [in] | fp_memcpy | pointer to the function to use to copy memory. If NULL is passed, memcpy will be used. |
| CIRC_BUF_ADDR_ERROR | if p_buffer is NULL |
| CIRC_BUF_BUFFER_EMPTY | if p_buffer is empty |
| CIRC_BUF_NO_ERROR | on success |
| int circularBuffer_popFIFO_n | ( | circularBuffer_t * | p_buffer, |
| void *FK_CB_KW_RESTRICT | p_data, | ||
| size_t | n, | ||
| memcpy_t | fp_memcpy | ||
| ) |
Copy n
items from the beginning of p_buffer
into p_data
and remove them from p_buffer
. If n
exceeds the size of p_buffer
, circularBuffer_popFIFO_n
will pop all the elements from p_buffer
.
| [in] | p_buffer | pointer to the circular buffer |
| [out] | p_data | pointer to the destination. Must be at least p_buffer->item_size * n bytes in length. Must not overlap with p_buffer->p_data_location . |
| [in] | n | number of items to pop |
| [in] | fp_memcpy | pointer to the function to use to copy memory. If NULL is passed, memcpy will be used. |
| CIRC_BUF_ADDR_ERROR | if p_buffer is NULL |
| CIRC_BUF_BUFFER_EMPTY | if p_buffer is empty |
| CIRC_BUF_SIZE_ERROR | if n is zero |
| CIRC_BUF_NO_ERROR | on success |
| int circularBuffer_remove_records | ( | circularBuffer_t * | p_buffer, |
| size_t | n | ||
| ) |
Remove n
items from the beginning of p_buffer
. If n
exceeds the number of items in p_buffer
, all of the items will be removed.
| [in] | p_buffer | pointer to circular buffer |
| [in] | n | number of items to remove |
| CIRC_BUF_ADDR_ERROR | if p_buffer is NULL |
| CIRC_BUF_BUFFER_EMPTY | if p_buffer is empty |
| CIRC_BUF_NO_ERROR | on success |
| int circularBuffer_popLIFO | ( | circularBuffer_t * | p_buffer, |
| void *FK_CB_KW_RESTRICT | p_data, | ||
| memcpy_t | fp_memcpy | ||
| ) |
Copy one item from the end of p_buffer
into p_data
and remove it from p_buffer
| [in] | p_buffer | pointer to the circular buffer |
| [out] | p_data | pointer to the destination. Must be at least p_buffer->item_size bytes in length. Must not overlap with p_buffer->p_data_location . |
| [in] | fp_memcpy | pointer to the function to use to copy memory. If NULL is passed, memcpy will be used. |
| CIRC_BUF_ADDR_ERROR | if p_buffer is NULL |
| CIRC_BUF_BUFFER_EMPTY | if p_buffer is empty |
| CIRC_BUF_NO_ERROR | on success |
| int circularBuffer_popLIFO_n | ( | circularBuffer_t * | p_buffer, |
| void *FK_CB_KW_RESTRICT | p_data, | ||
| size_t | n, | ||
| memcpy_t | fp_memcpy | ||
| ) |
Copy n
items from the end of p_buffer
into p_data
and remove them from p_buffer
. If n
exceeds the size of p_buffer
, circularBuffer_popFIFO_n
will pop all the elements from p_buffer
.
| [in] | p_buffer | pointer to the circular buffer |
| [out] | p_data | pointer to the destination. Must be at least p_buffer->item_size * n bytes in length. Must not overlap with p_buffer->p_data_location . |
| [in] | n | number of items to pop |
| [in] | fp_memcpy | pointer to the function to use to copy memory. If NULL is passed, memcpy will be used. |
| CIRC_BUF_ADDR_ERROR | if p_buffer is NULL |
| CIRC_BUF_BUFFER_EMPTY | if p_buffer is empty |
| CIRC_BUF_SIZE_ERROR | if n is zero |
| CIRC_BUF_NO_ERROR | on success |
| int circularBuffer_max_slots | ( | const circularBuffer_t * | p_buffer, |
| size_t * | result | ||
| ) |
Get number of slots in a circular buffer
| [in] | p_buffer | pointer to circular buffer |
| [out] | result | number of slots in p_buffer |
| CIRC_BUF_ADDR_ERROR | if p_buffer or result is NULL |
| CIRC_BUF_NO_ERROR | on success |
| int circularBuffer_copy | ( | circularBuffer_t * | dst, |
| const circularBuffer_t * | src, | ||
| memcpy_t | fp_memcpy | ||
| ) |
Copy src
buffer into dst
. src
and dst
must both have been initialized with circularBuffer_init, and dst->p_data_location
must be at least as large as src->p_data_location
. dst->p_data_location
must not overlap src->p_data_location
| [out] | dst | Pointer to destination buffer |
| [in] | src | Pointer to source buffer |
| [in] | fp_memcpy | pointer to the function to use to copy memory. If NULL is passed, memcpy will be used. |
| CIRC_BUF_ADDR_ERROR | if dst or src is NULL |
| CIRC_BUF_SIZE_ERROR | if destination buffer is smaller than source buffer |
| CIRC_BUF_NO_ERROR | on success |


--- layout: doc_layout title: Understanding Transports category: Transports prev: /docs/hosting/customadapters.html next: /docs/transports/rabbitmq.html ---
Tranports are the glue that connect a Wave service to a broker. They abstract the low level connection and marshalling code, allowing the core of Wave to be agnostic of the underlying communication protocol and behavior.
In the diagram above, the arrows would be the transport layer.
As a service developer, you should need to know very little about the internal workings of each transport. Simply pick the transport that matches the broker you are using (RabbitMQ, MSMQ etc) and focus on writing actual service logic. Regardless of the chosen transport, the message delivery semantics and behavior of Wave will be the same.
Out of the box, Wave only comes with a in-memory transport. This transport is only useful for unit testing. Messages are stored in local process memory and will not be delivered to other running processes. While this might seem silly, it is by design to ensure that you can test your Wave services in isolation and without having to run a broker.
You must install a transport package to actually use Wave to communicate between services. The next sections will go over the details of the available transports.


The Objective Revision Evaluation Service (ORES) is a web service running in Wikimedia Labs that provides machine learning as a service for Wikimedia Projects. The system is designed to help automate critical wiki-work -- for example, vandalism detection and removal. This service is developed as part of the R:Revision scoring as a service project.
ORES provides a simple user interface. See /ui/.
Read about the service and how to use it here: https://meta.wikimedia.org/wiki/Objective_Revision_Evaluation_Service
See the Wikimedia policy here: https://wikimediafoundation.org/wiki/Privacy_policy


JPA Sample - Relations
JPA Sample - Relations
Please use the Clients in the Test Package to run the applications.
Relationship Samples:
- R1 - OneToOne unidirectional
- R2 - OneToOne bidirectional
- R3 - OneToMany unidirectional
- R4 - ManyToOne unidirectional
- R5 - ManyToOne / OneToMany bidirectional
- R6 - ManyToMany unidirectional
- R7 - ManyToMany bidirectional
Copyright (c) 2007-2012, iten-engineering.ch


Website Uptime Monitoring
Up
0
Down
0
Dashboard - {{name}}
Avg. Response Time
{{responseTime}}
Availability
{{availability}}
Website Details
Website URL
{{name}}
Website URL
{{url}}
Alert Email-ID
{{email}}
Tracking Since
{{startTime}}
Gone Down
{{totalDowns}}
Poll Interval
{{pollInterval}}
Notifications Panel
{{row}}
Area Chart Example


Up: Introduction
Next: MPI's Support for Libraries
Previous: Introduction
The key features needed to support
the creation of robust parallel libraries are as follows:
- Safe communication space, that guarantees that
libraries can communicate as they need to, without conflicting with
communication extraneous to the library,
- Group scope for collective operations, that allow
libraries to avoid unnecessarily synchronizing uninvolved
processes (potentially running unrelated code),
- Abstract process naming to allow libraries to describe
their communication in terms suitable to their own data
structures and algorithms,
- The ability to ``adorn'' a set of communicating processes with
additional user-defined attributes, such as extra collective
operations. This mechanism should provide a means for the
user or library writer effectively to extend a message-passing
notation.
In addition, a unified mechanism or object is needed for conveniently denoting
communication context, the group of communicating processes, to house abstract
process naming, and to store adornments.
Up: Introduction
Next: MPI's Support for Libraries
Previous: Introduction
Return to MPI 1.1 Standard Index
Return to MPI-2 Standard Index
Return to MPI Forum Home Page
MPI-1.1 of June 12, 1995
HTML Generated on August 6, 1997


This page outlines how to contribute to the cchsflow
package.
Using the naming conventions described in the variables.csv
and variable_details.csv
you can add more CCHS variables that can be transformed and harmonized across cycles.
You will first need to create a custom function that will carry out the necessary transformations needed for your derived variable. You will then need to specify your derived variable on variables.csv
and variable_details.csv
. For more information, click here.
To request a variable to be added to cchsflow, please use the variable request template available on the GitHub repository.
The easiest way to propose a change or new feature is to file an issue. If you’ve found a bug, you may also create an associated issue. If possible, try to illustrate your proposal or the bug with a minimal reproducible example. When filing an issue, please use the issues template available on the GitHub repository.
NEWS.md
describing the changes made. You may optionally add your GitHub username, and links to relevant issue(s)/PR(s).Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.


Class DSTService
Inherited Members
Namespace: TimeAndDate.Services
Assembly: TimeAndDate.Services.dll
Syntax
public class DSTService : BaseService
Constructors
| Improve this Doc View SourceDSTService(String, String)
The dstlist service can be used to obtain data about timezones in all
supported countries, eventual start and end date of daylight savings time,
and UTC offset for the timezones.
The result data is aggregated on country/timezone level. By default, only information from countries that actually observe DST is returned without listing the individually affected locations – see the parameters listplaces and onlydst to change this behavior.
Declaration
public DSTService(string accessKey, string secretKey)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | accessKey | Access key. |
| System.String | secretKey | Secret key. |
Properties
| Improve this Doc View SourceIncludeOnlyDstCountries
Return only countries which actually observe DST in the queried year. Other countries will be suppressed.
Declaration
public bool IncludeOnlyDstCountries { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
|
IncludePlacesForEveryCountry
For every timezone/country, list the individual places that belong to each record.
Declaration
public bool IncludePlacesForEveryCountry { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
|
IncludeTimeChanges
Add a list of time changes during the year to the dstentry object. This listing e.g. shows changes caused by daylight savings time.
Declaration
public bool IncludeTimeChanges { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
|
Methods
| Improve this Doc View SourceGetDaylightSavingTime()
Gets the all entries with daylight saving time
Declaration
public IList<DST> GetDaylightSavingTime()
Returns
| Type | Description |
|---|---|
| IList<DST> | The daylight saving time. |
GetDaylightSavingTime(Int32)
Gets the daylight saving time by year.
Declaration
public IList<DST> GetDaylightSavingTime(int year)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | year | Year. |
Returns
| Type | Description |
|---|---|
| IList<DST> | The daylight saving time. |
GetDaylightSavingTime(String)
Gets the daylight saving time by ISO3166-1-alpha-2 Country Code
Declaration
public IList<DST> GetDaylightSavingTime(string countryCode)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | countryCode | Country code. |
Returns
| Type | Description |
|---|---|
| IList<DST> | The daylight saving time. |
GetDaylightSavingTime(String, Int32)
Gets the daylight saving time by country and year.
Declaration
public IList<DST> GetDaylightSavingTime(string countryCode, int year)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | countryCode | ISO3166-1-alpha-2 Country Code |
| System.Int32 | year | Year. |
Returns
| Type | Description |
|---|---|
| IList<DST> | The daylight saving time. |
GetDaylightSavingTimeAsync()
Gets the all entries with daylight saving time
Declaration
public async Task<IList<DST>> GetDaylightSavingTimeAsync()
Returns
| Type | Description |
|---|---|
| Task<IList<DST>> | The daylight saving time. |
GetDaylightSavingTimeAsync(Int32)
Gets the daylight saving time by year.
Declaration
public async Task<IList<DST>> GetDaylightSavingTimeAsync(int year)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | year | Year. |
Returns
| Type | Description |
|---|---|
| Task<IList<DST>> | The daylight saving time. |
GetDaylightSavingTimeAsync(String)
Gets the daylight saving time by ISO3166-1-alpha-2 Country Code
Declaration
public async Task<IList<DST>> GetDaylightSavingTimeAsync(string countryCode)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | countryCode | Country code. |
Returns
| Type | Description |
|---|---|
| Task<IList<DST>> | The daylight saving time. |
GetDaylightSavingTimeAsync(String, Int32)
Gets the daylight saving time by country and year.
Declaration
public async Task<IList<DST>> GetDaylightSavingTimeAsync(string countryCode, int year)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | countryCode | ISO3166-1-alpha-2 Country Code |
| System.Int32 | year | Year. |
Returns
| Type | Description |
|---|---|
| Task<IList<DST>> | The daylight saving time. |


A Game for Horrible People Desperately Trying to do Good
Cards for Humanity is a fast-paced online version of the popular card game, Cards Against Humanity, that gives you the opportunity to donate to children in need -
all while remaining as despicable and awkward as you naturally are.
We're quite sure you feel the same way, so we've integrated donation widgets (via crowdrise.com),
along with some not-so-subtle reminders throughout the game to give you the opportunity to donate. If you're
signed in when you donate, we'll even upgrade your account and place a crown on your avatar's head (to remind
other players how much better you are than them).
All donations go to the Make-a-Wish Foundation and benefit children in need.


tdao::dao - Define and create Data Access Objects
tdao::dao is a sub-package of tdao package that provides methods to define the schema of a table/view in a DAO definition and create and manipulate DAO instances. The interface provided by tdao::dao package is very similar to struct::record package. It just adds additional methods ( add, get, save and delete) to struct::record package to manipulate records of a table/view.
Each DAO definition creates an object that encompasses that definition. Subsequently, using the definition object one can create DAO instances of that definition. These instances can then be manipulated with the cget, configure, reset add, get, save and delete methods.
With every DAO instance, connectionName needs to be associated to enable the instance to communicate with the database when data manipulation methods add, get, save and delete are invoked. This connectionName can be obtained using open method of ::tdao::dbc package.
The tdao::dao package only contains one top level command, but several sub commands (see below). It also obeys the namespace in which the DAO was defined, hence the objects returned are fully qualified.
Defines a DAO. definitionName is the name of the DAO definition, and is also used as an object command. This object command is used to create DAO instances. schemaName is the name of the table/view that this DAO defines. schemaFields are the field names of the schema that make up the DAO definition. Optional arguments ?-primarykey fieldsList? ?-autoincrement fieldsList? ?-unique fieldsListOfLists? are used to include further details of the schema into DAO definition.
A DAO definition contains a list of field names, where each field name represents a column name in a table/view. A field can optionally have a default initial value. When a default value is given, the field is specified as a list having its name and value as elements. If no default initial value is given, then the value is automatically set to <<dao-undefined>> by the dao define method. For example, a DAO definition of address table would look like this:
# this is a DAO definition with name Address for table address dao define Address address { addrline1 addrline2 {city Bangalore} {postalcode 560001} {country India} }
All instances created from this DAO definition, will initially have Bangalore, 560001 and India as the value for city, postalcode and country respectively. addrline1 and addrline2 will have internally set value of <<dao-undefined>>
Returns a list of DAO definitionNames that have been defined.
Returns the instances that have been instantiated by definitionName.
Returns the field names that are defined by definitionName. It returns the same format as how the DAOs were defined.
Returns a list of values that are set for the instance instanceName. The output is a list of key/value pairs.
Returns 1 if a DAO definition with the name definitionName exists, else returns 0.
Returns 1 if a DAO instance with the name instanceName exists, else returns 0
Deletes DAO definition definitionName, and all instances of definitionName. It returns an error if the definitionName does not exist.
Deletes DAO instance with the name of instanceName. It returns an error if the instanceName does not exist.
Using the definitionName command that was created from the DAO definition, instances of the DAO definition can be created. Once an instance is created, then it contains the fields of the DAO definition, very similar to how objects work. During instance generation, an object command for the instance is created as well, using instanceName. This instance object command is used to access the data members of the instance. During the instantiation, values for that instance can be given in key/value pairs.
With every DAO instance, connectionName needs to be associated to enable the instance to communicate with the database when data manipulation methods add, get, save and delete are invoked. This connectionName can be obtained using open method of ::tdao::dbc package.
Optionally, #auto can be used in place of instanceName. When #auto is used, then an instance name will automatically be generated, of the form definitionName<integer>, where <integer> is a unique integer (starting at 0) that is generated.
# create an object instance addr1 with default values Address addr1 conn
# create an object instance addr2 with assigned values Address addr2 conn -city Chennai -postalcode 638001
The following subcommands and corresponding arguments are available to any DAO instance command:
Each instance has the sub command cget associated with it. This is very similar to how Tk widget's cget command works. It queries the values of the field for that particular instance. If no arguments are given, then a key/value list is returned.
To get a value of a field, there are several ways to do this.
To get a field's value, use the instance built-in cget method:
addr1 cget -city
To get multiple field values, you can specify them all in one command:
addr1 cget -addrline1 -addrline2
To get a list of the key/value of all of the members, there are 3 ways:
addr1 addr1 cget addr1 configure
Each instance has the sub command configure associated with it. This is very similar to how Tk widget's configure command works. It sets the values of the particular field for that particular instance. If no arguments are given, then a key/value list is returned.
Each instance has the sub command reset associated with it. It sets the values of the particular field to it's initial default value given in the correponding DAO definition. Fields that were not given default initial value are given a value of <<dao-undefined>>. If no arguments are given, then value of all the fields are reset.
To set a value of a field, there are several ways to do this.
To set a field value:
addr1 configure -addrline1 val1
To set multiple field values, you can specify them all in one command:
addr1 configure -addrline1 va1 -addrline2 val2
To reset all the field values as per the DAO definition:
addr1 reset
Each instance has the sub command add associated with it. It inserts the object as a new record into database. In preparing the record to insert, this method prepares a list of name-value pairs, by default, from all the fields of the object. However, if the optional arguments are passed, it uses only those field names in the arguments in preparing the name-value pairs. While preparing the name-value pairs, it includes only those fields that are initialized with a value other than <<dao-undefined>>. Instead of an empty string, we make use of this state of a field to indicate the absense of a field in the insert operation (thus resulting in NULL or default value in the database). Upon successful completion of add operation, the new values of sequence / auto-incremented fields are populated back into the object.
Returns the status of add operation as a numerical value. A value greater than zero indicates success.
Each instance has the sub command get associated with it. It retrieves a unique record from the database and populates DAO instance fields. The process of preparing the condition needed to identify the unique record from the field values of a DAO instance is explained in section Object To Database Record Mapping. By default, this method retrieves the values for all the fields of the object. However, if the optional arguments are passed, it retrieves only those fields in the arguments.
Returns fieldname-value pairs retrieved from database as a Tcl dictionary. If the retrieval does not return any record from database, then the result will be an empty string.
Each instance has the sub command save associated with it. It saves the object by updating the corresponding record into the database. The process of preparing the condition needed to identify the unique record from the field values of a DAO instance is explained in section Object To Database Record Mapping. In preparing the record to updte, this method prepares a list of name-value pairs, by default, from all the fields of the object. However, if the optional arguments are passed, it uses only those field names in the arguments to prepare the name-value pairs. While preparing the name-value pairs, it includes only those fields that are initialized with a value other than <<dao-undefined>>. Instead of an empty string, we make use of this state of a field to indicate the absense of a field in the update operation (thus not affecting those fields in the database).
Returns the status of save operation as a numerical value. A value greater than zero indicates success.
Each instance has the sub command delete associated with it. It deletes the record from database represented by the object and resets the object values. The unique record to be deleted from the database is identified based on the description provided in Object To Database Record Mapping.
Returns the status of delete operation as a numerical value. A value greater than zero indicates success.
Methods get, save and delete need to identify a unique record in the database that the DAO instance represents. A unique record is identified by the values of primary key and/or unique fields of the object. These field names are provided in DAO definition using optional arguments -primarykey, -unique and -autoincrement options.
For e.g., if the primary key was defined as {pk1 pk2} and unique fields were defined as {{uq1} {uq2 uq3}} then the condition to be used in WHERE clause of SQL statement to identify the unique record will be:
((pk1='pk1value' AND pk2='pk2vaue') OR (uq1='uq1value') OR (uq2='uq2value' AND uq3='uq3value'))
If any of the fields listed as part of primary key or unique fields are uninitialized (i.e., having the value <<dao-undefined>>), then those fields are not included in the condition. For e.g., if pk1 is uninitialized, then the condition will be:
((uq1='uq1value') OR (uq2='uq2value' AND uq3='uq3value'))
Or, for e.g., if uq2 is uninitialized, then the condition will be:
((pk1='pk1value' AND pk2='pk2vaue') OR (uq1='uq1value')).
Or, for e.g., if uq1 is uninitialized, then the condition will be:
((pk1='pk1value' AND pk2='pk2vaue') OR (uq2='uq2value' AND uq3='uq3value')).
Following examples are provided to give a good illustration on how to use this package.
Example 1
## ## This is an interactive example, to see what is ## returned by each command as well. ## % namespace import ::tdao::dao::* % # define a nested record. Notice that country has default 'USA'. % dao define Address address { id addrline1 addrline2 city postalcode {country USA} } -primarykey id -autoincrement id ::Address % # Create an instance for the Address DAO definition. % Address addr1 ::addr1 % # Display some introspection values % dao show definitions ::Address % # % record show values addr1 -id <<dao-undefined>> -addline1 <<dao-undefined>> -addrline2 <<dao-undefined>> -city <<dao-undefined>> -postalcode <<dao-undefined>> -country USA % # % record show instances Address ::addr1 % # % addr1 configure -id <<dao-undefined>> -addline1 <<dao-undefined>> -addrline2 <<dao-undefined>> -city <<dao-undefined>> -postalcode <<dao-undefined>> -country USA % # % addr1 cget -id <<dao-undefined>> -addline1 <<dao-undefined>> -addrline2 <<dao-undefined>> -city <<dao-undefined>> -postalcode <<dao-undefined>> -country USA % # copy one DAO definition to another % dao define Address2 address2 [dao show members Address] ::Address2
tdao, tdao::dbc and struct::record
Nagarajan Chinnasamy<EMAIL_ADDRESS>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category tdao :: dao of the Tcllib SF Trackers. Please also report any ideas for enhancements you may have for either package and/or documentation.
DAO, Data Access Objects, Database Connectivity
Database
Copyright © 2013, Nagarajan Chinnasamy <nagarajanchinnasamy@gmail.com>