Wolanski, Agatha
| Birth Name | Wolanski, Agatha |
| Gender | female |
| Age at Death | 79 years, 12 days |
Narrative
Agatha (also known in records as Agata and Agnes) was born in Poland in 1872. She immigrated to the United States and lived most of her life in Plains, Pennslyvania at 110 W. Carey Street.
Her father or mother's name is unknown (as of this entry) and both entries were written as "unknown" on her death certificate.
Events
| Event | Date | Place | Description | Sources |
|---|---|---|---|---|
| Birth | 1872-07-08 | Sanko, Austria Poland | 1 | |
|
|
||||
| Death | 1951-07-20 | 110 W. Carey Street, Plains PA | Agatha died from complications related to a fracture on her upper end left femur. She tripped and fell in her home on a carpet and died from complications of this injury 5 months later. | 1 |
|
|
||||
| Immigration | 1889 | Immigrated to the United States | 2 | |
|
|
||||
| Naturalization | 1895 | Became a naturalized citizen of the United States | 2 | |
|
|
||||
| Residence | estimated from 1920 to 1951-07-20 | 110 W. Carey Street, Plains PA | 110 W. Carey Street | 1 2 |
|
|
||||
| Burial | 1951-07-23 | St. Mary’s Polish Cemetery, Wyoming Borough Luzerne PA | St. Marys Polish Cemetery | 1 |
|
|
||||
| Residence | estimated 1910 | 319? River Street Plains PA | 319? River Street | 3 |
|
|
Families
Family of Wolanski, Michal and Wolanski, Agatha |
|||||||||||||||||
| Married | Husband | Wolanski, Michal ( * + ... ) | |||||||||||||||
| Children |
| Name | Birth Date | Death Date |
|---|---|---|
| Wolanski, John Jozef | 1887-06-24 | 1944-03-08 |
| Hajduk, Pauline | 1888-09-29 | 1972-08-17 |
| Wolanski, Marjanna | 1895 | 1927-06-27 |
| Alton, Walter | 1898-03-07 | 1949-02-22 |
Media
Pedigree
-
- Wolanski, Agatha


Small helper to get code sample from Github issues and comment, and send them to the Playground to ask for Clippy's output.
By extracting all code blocks from markdown, and gists from Playground links. Those code samples are then sent
to the Playground if they are Rust code (marked by
```rust
in markdown).
This website use a cookie to remember your Github token, should you choose so.
Functionnalities
-
Check an issue: read everything from the issue specified. Your Github token is optional for this
but you may encouter rate limit.
-
Check new issues and comments: read everything from the repo, and filter by date, by default for
the last three days. A Github token is required and can be created from
Github settings.


British PM Johnson meets Queen Elizabeth, formally marking start of election campaign
by ReutersBritish Prime Minister Boris Johnson had an audience with Queen Elizabeth on Wednesday, marking the formal start of the Dec 12 election campaign.
Johnson arrived at Buckingham Palace to formally ask the monarch's permission to dissolve parliament.


New film releases: 2040, Marriage Story, Little Monsters
2040 (PG, 92 mins)
AWARD-winning Australian film-maker Damon Gameau grows deeply concerned about the future his four-year-old daughter will inherit if humanity continues to plunder resources and global warming gathers pace.
He embarks on a mission to meet pioneers and thinkers in the fields of agriculture, civil society, economics, education, sustainability and technology to better understand what the future might look like in the year 2040.
Taking on board real-life examples of renewable energy projects and marine permaculture, Gameau uses visual effects to realise one potential vision of 2040 for his daughter in the hope that he can inspire urgent change across the globe.
MARRIAGE STORY (15, 137 mins)
OSCAR-nominated writer-director Noah Baumbach (The Squid And The Whale) draws on his own divorce from actress Jennifer Jason Leigh for a bruising portrait of a marriage in crisis, which is being heavily tipped for glory at next year's Academy Awards.
Charlie Barber (Adam Driver) is a successful stage director, who works closely with his actress wife Nicole (Scarlett Johansson) and the theatre company they established in New York.
They raise a young son, Henry (Azhy Robertson), and the relationship is a vision of harmony until Nicole's job takes her to Los Angeles.
Maintaining a long-distance relationship proves too taxing for the couple and the marriage breaks down.
Nicole secures the services of cut-throat lawyer Nora Fanshaw (Laura Dern) to retain primary custody of Henry.
Blindsided by his wife's actions, Charlie reluctantly responds by securing his own legal counsel, Bert Spitz (Alan Alda).
LITTLE MONSTERS (15, 94 mins)
A zombie apocalypse threatens to disrupt a kindergarten class trip in writer-director Abe Forsythe's gore-drenched comedy horror.
Washed-up musician and professional layabout Dave (Alexander England) endures a messy break-up from his girlfriend. He licks his wounds by gate-crashing the home of younger sister, who has a son called Felix.
The boy is her priority and Dave half-heartedly makes himself useful by volunteering to chaperone Felix and classmates on a school field trip to a farm led by perpetually perky, ukulele-strumming teacher Miss Caroline (Lupita Nyong'o).
As the group tour the farm, zombies escape from a neighbouring US testing facility.
Miss Caroline and Dave bravely shepherd the class to temporary safety inside a gift shop, where they discover children's entertainer Teddy McGiggle (Josh Gad) cowering in the aisles.
Forsythe's film is simultaneously available to stream on Sky Cinema.


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/Import.20HOL.20theorems.html ---
Hi, I'm new here, and I have a question regarding LEAN's versatility.
Is it possible to import Isabelle/HOL proofs into LEAN? How could this be achieved?
The benefit would be the availability of the archive of formal proofs within LEAN, which contains over 118'600 lemmas, many of which are very handy.
@Martin Kolář Welcome! I am certainly not an expert on Lean or Isabelle. There are others around who will have more to say on this. What I do know is that there is not currently any link between Lean and other theorem provers. Also, it seems that porting proofs would result in non-idiomatic Lean. (I am not enough of an expert to know if this is a big problem.)
Isabelle would be quite difficult. It is more feasible for a Coq-Lean bridge to be built since the logical foundations (CIC) are the same.
Also, in a sense, even if you were to model Isabelle/HOL in Lean, then transfer the proofs over - then to build on it you would necessarily need to keep working in that Isabelle/HOL world. So there would be no advantage to switching, I think.
@Johan Commelin Thanks for your quick reply. So we would need to add axioms to Lean to accept Isabelle proofs? That sounds inconvenient, but feasible.
No, I am not talking about adding axioms. I think you would need to write some sort of transpiler.
And I think that becomes very painful, and the results are usually even less readable then what we have in mathlib now.
This sort of proof import/translation is possible in principle, and there are people who have investigated/are investigating it. See e.g. http://logipedia.inria.fr/about/about.php which is based on Dedukti. It doesn't necessarily require extra axioms. The biggest problem, that keeps it from being usable in practice right now, is that e.g. Lean's current library and natural Lean style don't match Isabelle's current library and natural Isabelle style. If you could import the AFP and Isabelle standard library directly into Lean, you wouldn't get something that uses mathlib. You'd get an image of Isabelle in Lean, using Isabelle's nat
, int
, etc etc. It would have no connection to anything formalized in Lean and would be extremely hard to work with.
In principle, you can try to match Isabelle concepts to Lean concepts, and a good enough interpreter could produce a usable Lean development from elsewhere. This doesn't exist yet and would be extremely hard to do.
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


Camila Cabello to bring 'Romance' tour to U.K., Europe
by Annie MartinNov. 21 (UPI) -- Camila Cabello is bringing her Romance tour to the U.K. and Europe in 2020.
The 22-year-old singer announced the U.K., Ireland and Europe leg of her tour in a tweet Thursday.
Cabello will kick off the U.K. portion of the tour June 1 in Birmingham, England, and perform through July 1 in Madrid, Spain. Tickets go on sale Nov. 29.
"EUROPE!!!!! #TheRomanceTour," Cabello wrote. "public onsale begins Friday, November 29."
Cabello announced North American dates for the tour earlier this month. The tour will begin with a trio of shows May 26 in Oslo, Norway, May 28 in Copenhagen, Denmark, and May 30 in Berlin, Germany.
The Romance tour is in support of Cabello's forthcoming album of the same name, which is scheduled for release Dec. 6. The album includes the singles "Señorita," "Liar," "Shameless," "Cry for Me," "Easy" and "Living Proof."
Cabello will appear in country music star Kacey Musgraves' Amazon holiday special, A Very Kacey Christmas, which premieres Nov. 29.
Here's the list of U.K., Ireland and Europe dates for the Romance tour:
May 26 - Oslo, Norway, at Spektrum
May 28 - Copenhagen, Denmark, at Royal Arena
May 30 - Berlin, Germany, at Mercedes Benz Arena
June 1 - Birmingham, England, at Resorts World Arena
June 2 - Leeds, England, at First Direct Arena
June 4 - Manchester, England, at Manchester Arena
June 8 - Dublin, Ireland, at 3Arena
June 9 - Glasgow, Scotland, at The SSE Hydro
June 11 - London, England, at The O2
June 14 - Antwerp, Belgium, at Sportpaleis
June 15 - Amsterdam, Holland, at Ziggo Dome
June 17 - Paris, France, at Accorhotels Arena
June 18 - Cologne, Germany, at Laxness Arena
June 23 - Zurich, Switzerland, at Hallenstadion
June 24 - Milan, Italy, at Forum
June 30 - Barcelona, Spain, at Palau Sant Jordi
July 1 - Madrid, Spain, at Wizink Center
(0) Leave a comment
upi.com/6961093
Latest Headlines
Music // 28 minutes ago
Coldplay to put touring on hold over environmental concerns
Nov. 21 (UPI) -- Coldplay frontman Chris Martin announced the band will not be touring in support of their new alum "Everyday Life," citing how tours impact the environment.
Music // 21 hours ago
Kang Daniel wears red in 'Touchin' teaser photos
Nov. 20 (UPI) -- Former Wanna One member Kang Daniel sports a suave look in promos for his forthcoming single "Touchin.'"
Music // 21 hours ago
Black Keys, Smashing Pumpkins, Strokes to headline Shaky Knees Festival
Nov. 20 (UPI) -- The Black Keys, Smashing Pumpkins, The Strokes, Yeah Yeah Yeahs, Portugal. The Man and Joan Jett & the Blackhearts will take the stage at Shaky Knees Festival in Atlanta, Ga., in May.
Music // 22 hours ago
Janet Weiss explains Sleater-Kinney exit: 'The rules changed'
Nov. 20 (UPI) -- Former Sleater-Kinney drummer Janet Weiss said she left the band because she was no longer a creative equal.
Music // 22 hours ago
Coldplay uses animation, puppets in new 'Daddy' music video
Nov. 20 (UPI) -- Coldplay released a new music video Wednesday for their song "Daddy" that uses 2D animation and puppets.
Music // 23 hours ago
Cardi B shares hopes for daughter Kulture
Nov. 20 (UPI) -- Cardi B discussed Kulture, her daughter with Offset, and motherhood during a Vogue 73 Questions interview.
Music // 1 day ago
Lizzo, Billie Eilish, Lil Nas X top Grammy nominations
Nov. 20 (UPI) -- The nominees for the 62nd annual Grammy Awards were announced Wednesday, with Ariana Grande, Lizzo and Billie Eilish leading the field.
Music // 1 day ago
Lea Michele kicks off the holidays with 'Christmas in New York' video
Nov. 20 (UPI) -- Singer and actress Lea Michele has released the video for her new song, "Christmas in New York."
Music // 1 day ago
BTS teases new music in Paper interview
Nov. 19 (UPI) -- K-pop group BTS appears on the cover of Paper magazine's new "Break the Internet" issue and discussed its future in the interview.
Music // 1 day ago
Post Malone extends Runaway tour to 2020
Nov. 19 (UPI) -- Post Malone announced on Tuesday that he will be extending his Runaway tour with a second North American leg in 2020.


You have made it!
The cave is bright with glowing light that comes from a chest in the middle of the floor.
Arghhhhh!!!!!
A tunnel leads east.


Blackjack Book is an App For Apple Watch designed to deliver basic strategy of Blackjack directly to your wrist.
COMING SOON
Tap Seven on the Blackjack Book Watch App. Actual screen shown.
Tap Fifteen on the Blackjack Book Watch App. Actual screen shown.


Imperial College London
MSci Physics
Year 4
Physics and computing are my interests and they augment each other surprisingly well. I've made use of numerical methods to simulate heat dissipation, detect galaxies in the vast sky, model the trajectories of particles to find out the conditions required for the Aurora Borealis to occur, and utilised image recognition and particle tracking to conduct Millikan's oil drop experiment which discovered that charge is quantised.
Grid-X is a grid game with an oscilloscope display using the PIC18F87K22 microprocessor. The aim of the game is to get from one grid to the goal, accumulating the highest number of points possible. Reinforcement learning was implemented to allow to character to optimise and find the best path possible. The PIC18 is an 8-bit microprocessor with a clock speed of 16 MHz, hence special care had to be taken to implement 16-bit arithmetic for the reinforcement learning.
View ProjectUsed finite difference methods to solve the heat diffusion partial differential equation to model a system with a microprocessor with a heat sink. The widths and heights of the heat sink were optimised to achieve an optimal configuration for heat loss. Convection cooling was added to the model to achieve sufficient cooling of the microprocessor to suitable working temperatures.
View ProjectAnalysed astronomical data from the SWIRE dataset to conduct a galaxy survey on the number of counts of galaxies. The detected galactic objects were profiled using the Sersic profile for galaxies and a Moffat point source function (PSF) for stars.
View ProjectThis traditionally entails sitting in front of a microscope and recording the movement of oil droplets under the application of an electric field to calculate the velocities and thus deducing the charge on each droplet. Instead, I decided to record videos of the moving oil drops under the electric field and utilised image recognition and particle tracking to automate the process of data collection. This allowed the collection of a larger data set which enabled the analysis of small systematic errors.
View ProjectBuilt a framework for the simulation of optical rays through lenses. Optimisation was also done using scipy's optimise framework to find the best curvature which minimised spot radius. Worked on an independent extension on correcting chromatic aberration using combinations of lenses.
View ProjectSimulation of charged particles in the Earth’s magnetic field using Python, tracking their trajectory and investigating the conditions required for the Northern/Southern lights to occur, which happens when the energetic particles enter the Earth’s atmosphere.
View Project


On this example, the room has its `maxClients` set to 4, and its `requestJoin` method is configured to allow explicitly creating new rooms, or joining an existing one.
Open Developer Tools for log messages.


{% extends "base.html" %}
{% block content %}
Your Reservations:
{% if reservation_by_curr_user %}
{% else %}
No reservation by current user!
{% endif %}
All Resources:
{% if resources_owned %}
Resources owned by current user:
| Resource Name |
Avalibility Start Time |
Avalibility End Time |
{% for resource in resources_owned %}
|
{{ resource.name }}
|
{{ resource.available_start_time }} |
{{ resource.available_end_time }} |
{% endfor %}
{% else %}
No Resources owned by current user!
{% endif %}
Create a New Resource:
Click Here to Create a New Resource
Search a Specific Resource:
Click Here to Search a Specific Resource By Name
{% endblock %}


"What Are You Talking About?"
When stylizing webpages in CSS-land, developers have the option of using code to 'display'content -- text, images, etc. -- in different ways. The most direct way to go about this, as you can imagine, is by simply typing 'display' and a specific value into your stylesheet. Now, this is where 'inline' & 'inline blocks' come into the equation, as two of the more commong variables assigned to the 'display' property.
"What do you mean you 'spreadsheet?'
That is just a fancy name for the file we use to decorate web pages. In this case, we might add some code that looks something like this:
ul.products li {
width: 200px;
display: inline-block;
}
to order our program to display the list values contained within the products unordered list class.
Inline Block?
When CSS describes how to display elements, 'inline' refers to those that take up only the space they need and can share their horizontal line with other elements. 'Block' elements, on the other hand, take up the full width of their parent elements and have their own horizontal line.
Combining these terms, 'inline-block', makes an element sit inline while still having block-level children elements (or elements within elements) that can take up multiple lines.


Basics
API
The API is located at https://peakapi.whitespell.com
| Data | Format | Info |
|---|---|---|
| Payload | JSON only | This is to make it a lot easier to parse and post |
| Requests | Query String Parameters | Make sure to also use SSL |
| Encryption | 256-bit SSL | Make sure to also use SSL in your requests for the sake of our users |
| Max string length | 255 | Don’t post strings longer than 255 characters :-) |
Design Schema
In order to better understand the API, here you can find a design schema of the endpoints. Please email<EMAIL_ADDRESS>to request access.
| Method | Schema URL | Info |
|---|---|---|
| Post data | POST | Used to add or update data |
| Request data | GET | Used to add or update data |
Headers
| Key | Value | Info |
|---|---|---|
| X-Authentication | <userId>,<key> |
User authentication header |
| Authorization | <api_key> |
Your developer key |
Variables
You can send data to the API in 3 different ways. Each method has a different meaning.
| Key | Example | Info |
|---|---|---|
| URL Variables | GET https://peakapi.whitespell.com/users/<userId> |
This is used when the value is guaranteed to be unique and you are directly accessing an object |
| Query String Variables | GET https://peakapi.whitespell.com/users/categories/?categories=1,2,3&limit=10 |
This is mainly used to specify/narrow a result set or search for certain values. |
| Request Body (Payload) | POST https://peakapi.whitespell.com/categories -> {"categoryName" : "new_category"} |
This is used in the body of the request, also known as the payload. We only accept JSON payloads. |
Errors
curl "http://peakapi.whitespell.com/users/categories?" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY"
Because the ‘categories’ parameter is missing in the query string, and it is a required parameter, the following JSON error will be thrown
{
"className" : "GetUsersByCategory",
"httpStatusCode" : 400,
"errorId" : 113,
"errorMessage" : "Required key 'categories' was not found in the query string. See the documentation for all the requirements."
}
The API has a really good error informative reporting system, making it super simple for developers to use the API and learn from there errors.
| Parameter | Meaning |
|---|---|
| className | The class the error was thrown in |
| httpStatusCode | The status code that was returned by the API |
| errorId | The error ID that was reported. Developers can use this to look up your error. |
| errorMessage | More information about the error |
| Error Code | Meaning |
|---|---|
| 400 | Bad Request – Your request contains information that is not acceptable, for example your JSON is not actually JSON |
| 401 | Unauthorized – Your API key is wrong or your X-Authentication is wrong. |
| 403 | Forbidden – You are not permitted to do this action |
| 404 | Not Found – The specified kitten could not be found |
| 500 | Internal Server Error – We had a problem with our server. Try again later. |
| 503 | Service Unavailable – We’re temp. offline for maintanance. Please try again later. |
Endpoints
Newsfeed
Get Newsfeed
curl "https://peakapi.whitespell.com/newsfeed/USER_ID" \
-H "Content-Type: application/json"
The above command returns JSON structured like this:
[
{
"newsfeedId":14020,
"user":{
"userId":11835,
"publisher":1,
"emailVerified":0,
"userName":"peakbasketball",
"displayName":"",
<EMAIL_ADDRESS>"thumbnail":"http://peakapp.me/img/app_assets/avatar.png",
"coverPhoto":"http://peakapp.me/img/app_assets/cover.png",
"slogan":""
},
"content":{
"userId":11835,
"contentId":14020,
"contentType":1,
"categoryId":1,
"contentTitle":"Kobe Bryant Shooting Drills",
"contentUrl":"https://www.youtube.com/watch?v\u003dHOf7UsHyFFQ",
"contentDescription":"Basketball Shooting Drills That Kobe Bryant Uses In His Training",
"likes":0,
"thumbnailUrl":"http://i3.ytimg.com/vi/HOf7UsHyFFQ/0.jpg",
"userLiked":0,
"contentPrice":0.99,
"children":[]
}
},
{
"newsfeedId":14019,
"user":{
"userId":11835,
"publisher":1,
"emailVerified":0,
"userName":"peakbasketball",
"displayName":"",
<EMAIL_ADDRESS>"thumbnail":"http://peakapp.me/img/app_assets/avatar.png",
"coverPhoto":"http://peakapp.me/img/app_assets/cover.png",
"slogan":""
},
"content":{
"userId":11835,
"contentId":14019,
"contentType":1,
"categoryId":1,
"contentTitle":"Outdoor Basketball Training",
"contentUrl":"https://www.youtube.com/watch?v\u003dbGy-pCzJG0I",
"contentDescription":"Check out these outdoor exercises that will build your fitness and mental toughness.",
"likes":0,
"thumbnailUrl":"http://i3.ytimg.com/vi/bGy-pCzJG0I/0.jpg",
"userLiked":0,
"contentPrice":0.99,
"children":[]
}
},
{
"newsfeedId":14017,
"user":{
"userId":11835,
"publisher":1,
"emailVerified":0,
"userName":"peakbasketball",
"displayName":"",
<EMAIL_ADDRESS>"thumbnail":"http://peakapp.me/img/app_assets/avatar.png",
"coverPhoto":"http://peakapp.me/img/app_assets/cover.png",
"slogan":""
},
"content":{
"userId":11835,
"contentId":14017,
"contentType":6,
"categoryId":1,
"contentTitle":"Basketball Skills Training - Anthony Bathalon",
"contentUrl":"https://www.youtube.com/watch?v\u003d-it8-e7dOEo",
"contentDescription":"Anthony Bathalon showing and motivating you to believe in working on your game.",
"likes":0,
"thumbnailUrl":"http://i3.ytimg.com/vi/-it8-e7dOEo/0.jpg",
"userLiked":0,
"contentPrice":0.99,
"children":[
{
"userId":11835,
"contentId":14016,
"contentType":1,
"categoryId":1,
"contentTitle":"Fun Drills For Youth Players",
"contentUrl":"https://www.youtube.com/watch?v\u003dcQkYcgO7pXw",
"contentDescription":"Here are some great drills for youth players!",
"likes":0,
"thumbnailUrl":"http://i3.ytimg.com/vi/cQkYcgO7pXw/0.jpg",
"userLiked":0,
"contentPrice":0.99,
"children":[]
},
{
"userId":11835,
"contentId":14018,
"contentType":1,
"categoryId":1,
"contentTitle":"Full Shooting Workout for Basketball Players\n",
"contentUrl":"https://www.youtube.com/watch?v\u003dJ71iEaXSLCs",
"contentDescription":"Dennis Stanton shares a full shooting workout for basketball players. ",
"likes":0,
"thumbnailUrl":"http://i3.ytimg.com/vi/J71iEaXSLCs/0.jpg",
"userLiked":0,
"contentPrice":0.99,
"children":[]
}
]
}
}
]
This endpoint returns the newsfeed for a given userId.
HTTP Request
GET https://peakapi.whitespell.com/newsfeed/USER_ID
QUERY Parameters
| Parameter | Default | Description | Status |
|---|---|---|---|
| limit | 50 | int(11) of the size of the newsfeed you’d like to see. E.g. 25 for 25 videos. | Tested |
Search
curl "https://peakapi.whitespell.com/search?q=SEARCH_STRING" \
-H "Content-Type: application/json"
The above command returns JSON structured like this:
[
{
"newsfeedId":14122,
"user":{
"userId":11832,
"publisher":1,
"emailVerified":0,
"emailNotifications":0,
"userName":"PeakFitness",
"displayName":" peakfitness",
<EMAIL_ADDRESS>"thumbnail":"http://peakapp.me/img/app_assets/avatar.png",
"coverPhoto":"http://peakapp.me/img/app_assets/cover.png",
"slogan":""
},
"content":{
"userId":11832,
"contentId":14122,
"contentType":6,
"categoryId":2,
"contentTitle":"Cross-Training Workout",
"contentUrl":"https://www.youtube.com/watch?v\u003dxUvuywQy8Ik",
"contentDescription":"Here are two great exercises from my 31 Days Of Fitness Series: Thrusters and Renegade Rows",
"likes":0,
"userLiked":0,
"contentPrice":0.0,
"hasAccess":1,
"recommended":0,
"poster":{
"userId":11832,
"publisher":0,
"emailVerified":0,
"emailNotifications":0,
"userName":"PeakFitness",
"thumbnail":"http://peakapp.me/img/app_assets/avatar.png"
},
"children":[]
}
},
{
"newsfeedId":14121,
"user":{
"userId":11832,
"publisher":1,
"emailVerified":0,
"emailNotifications":0,
"userName":"PeakFitness",
"displayName":" peakfitness",
<EMAIL_ADDRESS>"thumbnail":"http://peakapp.me/img/app_assets/avatar.png",
"coverPhoto":"http://peakapp.me/img/app_assets/cover.png",
"slogan":""
},
"content":{
"userId":11832,
"contentId":14121,
"contentType":6,
"categoryId":2,
"contentTitle":"Cross-Training Workout",
"contentDescription":"Here are two great exercises from my 31 Days Of Fitness Series: Thrusters and Renegade Rows",
"likes":0,
"userLiked":0,
"contentPrice":0.0,
"hasAccess":0,
"recommended":0,
"poster":{
"userId":11832,
"publisher":0,
"emailVerified":0,
"emailNotifications":0,
"userName":"PeakFitness",
"thumbnail":"http://peakapp.me/img/app_assets/avatar.png"
},
"children":[]
}
}
]
This endpoint returns a JSON Object with a profiles array, a categories array (this returns the numbers of the searched categories, e.g. 1=football,2=skydiving,etc) and also a list of content. The categories object contains the categoryIds that match the search query. You can find the available categoryIds using the Request Categories endpoint.
HTTP Request
GET https://peakapi.whitespell.com/search/
QUERY Parameters
| Parameter | Default | Description | Status |
|---|---|---|---|
| q | None | REQUIRED String value of search query (e.g. chri) | Tested |
| limit | 50 | If set, limit the amount of user objects you will get back by this amount. | Tested |
| offset | None | If set, start loading from user ids only larger than the offset number (e.g. for infinite scrolling) | Tested |
Trending
curl "https://peakapi.whitespell.com/trending"
The above command returns JSON structured like this:
{
"users":[
{
"userId":1337,
"userName":"USER_NAME",
"displayName":""
}
],
"categories":[
4,
3,
2,
1
],
"content":[
{
"userId":1,
"contentId":4448,
"contentType":1,
"contentTitle":"The HARDCORE of SQUATS",
"contentUrl":"https://youtu.be/X--QIF0mFTg",
"contentDescription":"Bored of doing the same old squat just Watch the video\nThe HARDCORE of SQUATS.",
"likes":100,
"contentPrice":0.99,
"thumbnailUrl":"https://i.ytimg.com/vi/X--QIF0mFTg/hqdefault.jpg"
}
]
}
This endpoint returns a JSON Object with a user object array, a categoryId array and also a content array of the trending content. Now trending users are sorted by amount of published content.
HTTP Request
GET https://peakapi.whitespell.com/trending/
Query Parameters
| Parameter | Default | Description | Status |
|---|---|---|---|
| limit | 50 | If set, limit or increase the amount of each object type (user, category, content) you will get back. | Tested |
Authentication
Authentication Request
curl -d \ '{"userName":"YOUR_USERNAME","password":"YOUR_PASSWORD","deviceName":"DEVICE_NAME","deviceType":1,"deviceUUID":"DEVICE_TOKEN","mac_address":"MAC_ADDRESS","geolocation":"LOCATION_INFO"}' \
-H "Content-Type: application/json" \
-X POST "https://peakapi.whitespell.com/authentication"
The above command returns JSON structured like this:
[
{
"status" : "ok",
"key" : "32bitstring",
"expires" :<PHONE_NUMBER>01
}
]
This endpoint allows testing of authentication requests. If on a mobile client please include deviceName, deviceType and deviceUUID.
HTTP Request
POST https://peakapi.whitespell.com/authentication/
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| userName | Yes | String(30) | Tested |
| password | Yes | String(inf) | Tested |
| deviceName | No | String(255), Name of device in settings, e.g. “Users Phone” | Tested |
| deviceType | No | BOOL, 0 or 1, 0 for iOS devices, 1 for Android | Tested |
| deviceUUID | No | String(255), the identifying device token for the device | Tested |
| mac_address | No | String(45) | In Progress |
| geolocation | No | String(Lat, Lon, 45) | In Progress |
Users
Get All Users
curl "https://peakapi.whitespell.com/users/" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY"
The above command returns JSON structured like this:
[
{
"userFollowing": [],
"categoryFollowing": [],
"categoryPublishing": [],
"userId": 0,
"publisher" : 1,
"userName": "example_name",
"email": "hidden",
"thumbnail": "https://image.com/photo.jpg",
"slogan":"slogan"
},
{
"userFollowing": [],
"categoryFollowing": [],
"categoryPublishing": [],
"userId": 0,
"publisher" : 1,
"userName": "example_name2",
"email": "hidden",
"thumbnail": "https://image.com/photo.jpg",
"slogan":"slogan"
}
]
This endpoint retrieves all users and allows for search queries on users.
HTTP Request
GET https://peakapi.whitespell.com/users/
Query Parameters
| Parameter | Default | Description | Status |
|---|---|---|---|
| limit | 50 | If set, limit the amount of user objects you will get back by this amount. | Tested |
| offset | None | If set, start loading from user ids only larger than the offset number (e.g. for infinite scrolling) | Tested |
| userName | None | If set, will for users with a matching or semi-matching userName | Not Started |
| bio | None | If set, will search for users with a matching or semi-matching bio | Not Started |
| publisher | None | If set, will look for accounts only with certain publisher status. | Not Started |
Get a Specific User
curl "https://peakapi.whitespell.com/users/USER_ID" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY"
The above command returns JSON structured like this:
{
"userFollowers": [],
"userFollowing": [],
"categoryFollowing": [],
"categoryPublishing": [],
"userId": 134,
"publisher": 1,
"userName": "pimdewitte",
"email": "hidden",
"thumbnail": "https://image.com/photo.jpg",
"slogan":"slogan",
"emailNotification":0
}
This endpoint retrieves information related to a unique user and allows for search queries on a unique user.
HTTP Request
GET https://peakapi.whitespell.com/users/USER_ID
Query Parameters
| Parameter | Default | Description | Status |
|---|---|---|---|
| includeFollowers | 0 | If value = 1, will include a JSON Array of userIds who are followers of this user. | Tested |
| includeFollowing | 0 | If value = 1, will include a JSON Array of userIds this user is following. | Tested |
| includeCategories | 0 | If value = 1, will include a JSON Array of categoryIds this user is following. | Tested |
| includePublishing | 0 | If value = 1, will include a list of categoryIds this user is publishing in | Tested |
Create a New User
curl -d \<EMAIL_ADDRESS>"publisher":1}' \
-H "Content-Type: application/json" \
-X POST "https://peakapi.whitespell.com/users"
The above command returns JSON structured like this:
{
"userId":11741,
"publisher":1,
"userName":"newPubUser2",
"displayName":"",
<EMAIL_ADDRESS>"thumbnail":"",
"coverPhoto":"",
"slogan":""
}
This endpoint allows a new user to create their User Account, with or without publisher status.
HTTP Request
POST https://peakapi.whitespell.com/users/
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| userName | Yes | String(30) | Tested |
| password | Yes | String(inf) | Tested |
| Yes | String(45) | Tested | |
| publisher | No | BOOL (1 or 0) | Tested |
Update your User Profile
curl -d \ '{"userName":"YOUR_NEW_USERNAME","displayName":"DISPLAY_NAME","thumbnail":"https://newThumbUrl.com","cover_photo":"https://coverPhotoUrl.com","slogan":"slogan"}' \
-H "Content-Type: application/json" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY" \
-X POST "https://peakapi.whitespell.com/users/YOUR_USER_ID"
The above command returns JSON structured like this: Only updated fields are returned in the response, others are “” or [].
[
{
"userFollowing":[],
"categoryFollowing":[],
"categoryPublishing":[],
"userId":1337,
"userName":"YOUR_NEW_USERNAME",
"displayName":"DISPLAY_NAME",
"email":"",
"thumbnail":"https://newThumbUrl.com",
"coverPhoto":"https://coverPhotoUrl.com",
"slogan":"slogan"
}
]
This endpoint allows a user to update their user profile.
HTTP Request
POST https://peakapi.whitespell.com/users/YOUR_USER_ID
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| userName | No | String(30) | Tested |
| displayName | No | String(30) | Tested |
| thumbnail | No | String(255) | Tested |
| coverPhoto | No | String(255) | Tested |
| slogan | No | String(255) | Tested |
Update your User Settings
curl -d \ '{"password":"CURRENT_PASS","email":"email@email.com","newPassword":"NEW_PASS","publisher":PUBLISHER_NEW_VALUE}' \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY" \
-X POST "https://peakapi.whitespell.com/users/YOUR_USER_ID/settings"
The above command returns JSON structured like this: Only updated fields are returned in the response, others are “”.
[
{
"userId": 1,
"publisher": 0,
"email"<EMAIL_ADDRESS>}
]
This endpoint allows a user to update their user settings, where they can change their email, password and/or publisher status.
HTTP Request
POST https://peakapi.whitespell.com/users/USER_ID/settings
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| password | Yes | String(inf) | Tested |
| No | String(45) | Tested | |
| newPassword | No | String(inf) | Tested |
| publisher | No | BOOL (1 or 0) | Tested |
User Follow Action
curl -d \ '{"followingId":188,"action":"follow"}' \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY" \
-X POST "https://peakapi.whitespell.com/users/YOUR_USER_ID/following"
The above command returns JSON structured like this: Only updated fields are returned in the response, others are “”.
[
{
"action_taken" : "followed"
}
]
This endpoint allows a user to follow another user.
HTTP Request
POST https://peakapi.whitespell.com/users/USER_ID/following
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| followingId | Yes | int(11) | Tested |
| action | Yes | String, either follow/unfollow | Tested |
Request Following Categories
curl -d \ '{"userId":YOUR_USER_ID}' \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY" \
-X POST "https://peakapi.whitespell.com/users/YOUR_USER_ID/categories"
The above command returns JSON structured like this:
[
{
"categoryId" : 1,
"categoryName" : "fitness"
},
{
"categoryId" : 2,
"categoryName" : "lacrosse"
}
]
This endpoint returns the list of categories you are following.
HTTP Request
POST https://peakapi.whitespell.com/users/YOUR_USER_ID/categories
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| userId | Yes | int(11) | Tested |
Follow Category
curl -d \ '{"categoryId":CATEGORY_ID,"action":"follow"}' \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY" \
-X POST "https://peakapi.whitespell.com/users/YOUR_USER_ID/categories"
The above command returns JSON structured like this:
[
{
"action_taken" : "category_followed"
}
]
This endpoint returns the list of categories you are following.
HTTP Request
POST https://peakapi.whitespell.com/users/YOUR_USER_ID/categories
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| categoryId | Yes | int(11) | Tested |
| action | Yes | String (either follow/unfollow) | Tested |
Get Users by Category
curl "https://peakapi.whitespell.com/users/categories?categories=1"
The above command returns JSON structured like this:
[
{
"userId":134,
"username":"pimdewitte",
"thumbnail":"https://lh3.googleusercontent.com/-Sa9kdnhuE5E/AAAAAAAAAAI/AAAAAAAAABs/H8dhweNPuFI/photo.jpg",
"categoryId":1
},
{
"userId":129,
"username":"cyberstrike1",
"thumbnail":"https://lh3.googleusercontent.com/-Sa9kdnhuE5E/AAAAAAAAAAI/AAAAAAAAABs/H8dhweNPuFI/photo.jpg",
"categoryId":1
}
]
This endpoint returns a list of users sorted by the categories you specify.
HTTP Request
GET https://peakapi.whitespell.com/users/categories
QUERY Parameters
| Parameter | Default | Description | Status |
|---|---|---|---|
| categories | None | Integer array of categories | Tested |
| limit | 50 | If set, limit the amount of user objects you will get back by this amount. | Tested |
| offset | None | If set, start loading from user ids only larger than the offset number (e.g. for infinite scrolling) | Not Completed |
Add to Saved Content
curl -d \ '{"contentId":CONTENT_ID}' \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY" \
-X POST "https://peakapi.whitespell.com/users/YOUR_USER_ID/saved"
The above command returns JSON structured like this:
[
{
"addedContentId" : 0
}
]
Requires authentication as the user. This endpoint adds the content with the given contentId to the user’s SavedContent.
HTTP Request
POST https://peakapi.whitespell.com/users/YOUR_USER_ID/saved
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| contentId | Yes | int(11) | Tested |
Get User Saved Content
curl "https://peakapi.whitespell.com/users/USER_ID/saved" \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY"
The above command returns JSON structured like this:
{
"savedContent":[
{
"userId":11832,
"contentId":14122,
"contentType":6,
"categoryId":2,
"contentTitle":"Cross-Training Workout",
"contentUrl":"https://www.youtube.com/watch?v\u003dxUvuywQy8Ik",
"contentDescription":"Here are two great exercises from my 31 Days Of Fitness Series: Thrusters and Renegade Rows",
"likes":0,
"userLiked":0,
"contentPrice":0.0,
"hasAccess":1,
"recommended":0,
"poster":{
"userId":11832,
"publisher":0,
"emailVerified":0,
"emailNotifications":0,
"userName":"PeakFitness",
"thumbnail":"http://peakapp.me/img/app_assets/avatar.png"
},
"children":[]
}
]
}
Requires authentication as the user. This endpoint returns the savedContent list for the given userId.
HTTP Request
GET https://peakapi.whitespell.com/users/USER_ID/saved
Update Email Verification Status
curl -d \ '{"userName":"username","emailToken":"EMAIL_TOKEN"}' \
-H "Content-Type: application/json" \
-X POST "https://peakapi.whitespell.com/users/email"
The above command returns JSON structured like this:
{
"userId":-1,
"publisher":0,
"emailVerified":1,
"userName":"USERNAME",
"displayName":"",
"email":"EMAIL",
"thumbnail":"",
"coverPhoto":"",
"slogan":""
}
This endpoint is used to validate a user account with a valid email token on the web frontend.
HTTP Request
POST https://peakapi.whitespell.com/users/email
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| userName | Yes | String(45) | Tested |
| emailToken | Yes | String(32) | Tested |
Resend Welcome Email (Email Verification)
curl -d \ {"email":"USER_EMAIL"}' \
-H "Content-Type: application/json" \
-X POST "https://peakapi.whitespell.com/users/resendemail"
The above command returns JSON structured like this:
{
"success":true,
"email":"USER_EMAIL"
}
This endpoint is used to resend a user’s welcome email. It resets their email verification status until they verify it through the web link provided in their email.
HTTP Request
POST https://peakapi.whitespell.com/users/resendemail
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| Yes | String(255) | Tested |
Get Email Verification Status
curl "https://peakapi.whitespell.com/users/USER_ID/email" \
-H "Content-Type: application/json"
The above command returns JSON structured like this:
{
"userId":11751,
"emailVerified":0,
"emailExpiration":"EXPIRATION_DATE"
}
This endpoint returns a user’s email verification status.
HTTP Request
GET https://peakapi.whitespell.com/users/USER_ID/email
Reset User Password
curl -d \ '{"userName":"username","newPassword":"newPass","resetToken":"EMAIL_TOKEN"}' \
-H "Content-Type: application/json" \
-X POST "https://peakapi.whitespell.com/users/reset"
The above command returns JSON structured like this:
{
"success": true,
"email":"USER_EMAIL"
}
This endpoint is used to reset a user’s password with a valid reset token on the web frontend.
HTTP Request
POST https://peakapi.whitespell.com/users/reset
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| userName | Yes | String(45) | Tested |
| newPassword | Yes | String(inf) | Tested |
| resetToken | Yes | String(32) | Tested |
Send Forgot Password Email
curl -d \ '{"userName":"username"}' \
-H "Content-Type: application/json" \
-X POST "https://peakapi.whitespell.com/users/forgot"
The above command returns JSON structured like this:
{
"success": true,
"email":"USER_EMAIL"
}
This endpoint sends a Forgot Password? email to the user’s email.
HTTP Request
POST https://peakapi.whitespell.com/users/forgot
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| userName | Yes | String(45) | Tested |
Check if Peak Password Required for Facebook Login
curl -d \ '{"accessToken":"FB_ACCESS_TOKEN"}' \
-H "Content-Type: application/json" \
-X POST "https://peakapi.whitespell.com/users/checkfacebook"
The above command returns JSON structured like this:
[
{
"requiredPassword" : true
}
]
This endpoint is used to check whether the users/facebook endpoint will require the user’s Peak password.
HTTP Request
POST https://peakapi.whitespell.com/users/checkfacebook
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| accessToken | Yes | String(varchar), retrieved from client side facebook login | Tested |
Facebook User Creation and Authentication
curl -d \ '{"accessToken":"FB_ACCESS_TOKEN","password":"PEAK_PASSWORD","deviceName":"DEVICE_NAME","deviceType":1,"deviceUUID":"DEVICE_TOKEN"}' \
-H "Content-Type: application/json" \
-X POST "https://peakapi.whitespell.com/users/facebook"
The above command returns JSON structured like this:
[
{
"key":"AUTH_KEY",
"userId":117,
"expires":-1
}
]
Always use the users/checkfacebook endpoint first to determine if the user’s Peak password is required to log in.
This endpoint is used to create a new user or authenticate a current one with the Facebook login accessToken. Intended for use on client side after retrieving the Facebook access token from Facebook login in the client. If on a mobile client please include deviceName, deviceType and deviceUUID.
HTTP Request
POST https://peakapi.whitespell.com/users/facebook
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| accessToken | Yes | String(varchar), retrieved from client side facebook login | Tested |
| password | No | String(inf), the user’s peak password | Tested |
| deviceName | No | String(255), Name of device in settings, e.g. “Users Phone” | Tested |
| deviceType | No | BOOL, 0 or 1, 0 for iOS devices, 1 for Android | Tested |
| deviceUUID | No | String(255), the identifying device token for the device | Tested |
Add User Feedback for Peak
curl -d \ '{"email":"USER_EMAIL","message":"FEEDBACK_MESSAGE"}' \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY" \
-X POST "https://peakapi.whitespell.com/users/USER_ID/feedback"
The above command returns JSON structured like this:
[
{
"success":true
}
]
Authentication as the User is Required
This endpoint is used to allow a user to add feedback for the app.
HTTP Request
POST https://peakapi.whitespell.com/users/USER_ID/feedback
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| Yes | String(255), the user’s email | Tested | |
| message | Yes | String(255), the user’s feedback message | Tested |
Add Reporting Type
curl -d \ '{"reportingTypeName":"REPORTING_TYPE_NAME"}' \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY" \
-X POST "https://peakapi.whitespell.com/users/reporting/types"
The above command returns JSON structured like this:
[
{
"reportingTypeAdded":true
}
]
Authentication is Required
This endpoint adds a new reporting type (e.g. Vulgar comments or Fake profile picture) to the database.
HTTP Request
POST https://peakapi.whitespell.com/users/reporting/types
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| reportingTypeName | Yes | String(255), short description of why the user is being reported, to be shown in dropdown menu | Tested |
Request Reporting Types
curl "https://peakapi.whitespell.com/users/reporting/types" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY"
The above command returns JSON structured like this:
[
{
"reportingTypeId":4,
"reportingTypeName":"Fake profile"
},
{
"reportingTypeId":1,
"reportingTypeName":"Hate Speech or Attacking An Individual"
}
]
Authentication is Required
This endpoint requests the reporting types that will be available for reporting a user endpoint (users/USER_ID/reporting).
HTTP Request
GET https://peakapi.whitespell.com/users/reporting/types
Report a User
curl -d \ '{"reportedUserId":"REPORTED_USER_ID","typeId":1,"message":"REPORTING_MESSAGE"}' \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY" \
-X POST "https://peakapi.whitespell.com/users/USER_ID/reporting"
The above command returns JSON structured like this:
[
{
"success":true
}
]
Authentication is Required
This endpoint adds a new report on a user to the database.
HTTP Request
POST https://peakapi.whitespell.com/users/USER_ID/reporting/
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| reportedUserId | Yes | Int(11), the reported user’s userId | Tested |
| typeId | Yes | Int(11), the id of the reporting type, get all reporting types with GET users/reporting/types | Tested |
| message | Yes | String(255), user inputted message describing the reason for the report | Tested |
Get User Notifications
curl "https://peakapi.whitespell.com/users/USER_ID/notifications" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY"
The above command returns JSON structured like this:
{
"userNotifications":[
{
"userId":11896,
"notificationText":"cory uploaded a new video!",
"notificationAction":"open-content:14068",
"notificationBadge":0,
"notificationSound":0,
"notificationStatus":1,
"notificationImage":"THUMBNAIL_URL"
},
{
"userId":11896,
"notificationText":"pim uploaded a new video!",
"notificationAction":"open-content:14069",
"notificationBadge":0,
"notificationSound":0,
"notificationStatus":1,
"notificationImage":"THUMBNAIL_URL"
}
]
}
Authentication as the user is Required
This endpoint requests all of the notifications that a user should have received. NotificationStatus is 0 when initialized, 1 on successful send, and should be set to 2 when read. (update notificationRead endpoint)
HTTP Request
GET https://peakapi.whitespell.com/users/USER_ID/notifications
QUERY Parameters
| Parameter | Default | Description | Status |
|---|---|---|---|
| limit | 50 | int(11) of the size of the notifications list. | Tested |
| offset | None | int(11) of the minimum notificationId to request | Tested |
Update User Email Notification Status
curl -d \ '{"emailNotifications":0}' \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY" \
-X POST "https://peakapi.whitespell.com/users/USER_ID/notifications"
The above command returns JSON structured like this: Only updated fields are returned in the response, others are “” or -1.
{
"userId":1337,
"publisher":-1,
"emailVerified":-1,
"emailNotifications":0,
"userName":"USERNAME"
}
Authentication as the user is Required
This endpoint modifies the user’s email notification status. Unchanged values are -1.
HTTP Request
POST https://peakapi.whitespell.com/users/USER_ID/notifications
QUERY Parameters
| Parameter | Default | Description | Status |
|---|---|---|---|
| emailNotifications | None | BOOL(1 or 0). 0 for no email notifications, 1 to allow them. | Tested |
Update User’s Access to Content
curl -d \ '{"contentId":0}' \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY" \
-X POST "https://peakapi.whitespell.com/users/USER_ID/access"
The above command returns JSON structured like this:
{
"success":true
}
Authentication as the user is Required
This endpoint grants the user access to a content.
HTTP Request
POST https://peakapi.whitespell.com/users/USER_ID/access
QUERY Parameters
| Parameter | Default | Description | Status |
|---|---|---|---|
| contentId | None | Int(11). contentId the user will gain access to. | Tested |
Content
Request Individual Content Object
curl "https://peakapi.whitespell.com/content" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY"
The above command returns JSON structured like this:
{
"userId":11863,
"contentId":14007,
"contentType":6,
"categoryId":3,
"contentTitle":"Beginners Home Yoga Workout!",
"contentUrl":"https://www.youtube.com/watch?v\u003dv7AYKMP6rOE",
"contentDescription":"Yoga for Complete Beginners!",
"likes":0,
"userLiked":0,
"contentPrice":0.0,
"hasAccess":1,
"recommended":0,
"parent":null,
"processed":1,
"poster":{
"userId":11863,
"publisher":0,
"emailVerified":0,
"emailNotifications":0,
"userName":"peakyoga",
"thumbnail":"http://peakapp.me/img/app_assets/avatar.png"
},
"children":[
{
"userId":11863,
"contentId":14008,
"contentType":1,
"categoryId":3,
"contentTitle":"Day 1 - Ease Into It - 30 Days of Yoga\n",
"contentUrl":"https://www.youtube.com/watch?v\u003doBu-pQG6sTY",
"contentDescription":"Join Adriene on Day 1 of The 30 Days of Yoga journey!",
"likes":0,
"userLiked":0,
"contentPrice":0.0,
"hasAccess":1,
"parent":14007,
"processed":1,
"recommended":0,
"poster":{
"userId":11863,
"publisher":0,
"emailVerified":0,
"emailNotifications":0,
"userName":"peakyoga",
"thumbnail":"http://peakapp.me/img/app_assets/avatar.png"
},
"children":[]
}
]
}
This endpoint returns a specific content object as specified in the URL
HTTP Request
GET https://peakapi.whitespell.com/content/CONTENT_ID
Request Content
curl "https://peakapi.whitespell.com/content" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY"
The above command returns JSON structured like this:
[
{
"userId":11863,
"contentId":14007,
"contentType":6,
"categoryId":3,
"contentTitle":"Beginners Home Yoga Workout!",
"contentUrl":"https://www.youtube.com/watch?v\u003dv7AYKMP6rOE",
"contentDescription":"Yoga for Complete Beginners!",
"likes":0,
"userLiked":0,
"contentPrice":0.0,
"hasAccess":1,
"recommended":0,
"parent":null,
"processed":1,
"poster":{
"userId":11863,
"publisher":0,
"emailVerified":0,
"emailNotifications":0,
"userName":"peakyoga",
"thumbnail":"http://peakapp.me/img/app_assets/avatar.png"
},
"children":[
{
"userId":11863,
"contentId":14008,
"contentType":1,
"categoryId":3,
"contentTitle":"Day 1 - Ease Into It - 30 Days of Yoga\n",
"contentUrl":"https://www.youtube.com/watch?v\u003doBu-pQG6sTY",
"contentDescription":"Join Adriene on Day 1 of The 30 Days of Yoga journey!",
"likes":0,
"userLiked":0,
"contentPrice":0.0,
"hasAccess":1,
"parent":14007,
"processed":1,
"recommended":0,
"poster":{
"userId":11863,
"publisher":0,
"emailVerified":0,
"emailNotifications":0,
"userName":"peakyoga",
"thumbnail":"http://peakapp.me/img/app_assets/avatar.png"
},
"children":[]
}
]
}
]
This endpoint requests the content in the database, can be user specific (?userId=USER_ID), contentId specific (?contentId=CONTENT_ID), contentType specific (?contentType=CONTENT_TYPE) or category specific (?categoryId=CATEGORY_ID).
userLiked refers to whether the authenticated user liked the given content. (1 authenticated user has liked it, 0 authenticated user has not liked it), recommended only applies to the newsfeed. hasAccess is 0 when the user needs to purchase to content to view it, 1 when the content is free or purchased.
HTTP Request
GET https://peakapi.whitespell.com/content
QUERY Parameters
| Parameter | Default | Description | Status |
|---|---|---|---|
| userId | None | int(11), use this to search for content posted by a specific userId. | Tested |
| contentId | None | int(11), use this to search for content with a specific contentId. | Tested |
| contentType | None | int(11), use this to search for content of a certain contentType. e.g. contentType=6 for bundles | Tested |
| categoryId | None | int(2), use this to search for content posted within a certain category. | Tested |
| parent | None | int(11), finds all content objects which match a parent object id | Not Tested |
| processed | None | int(1), 0 or 1, find processed or unprocessed videos | Tested |
| limit | 50 | int(11) of the size of the content you’d like to see. E.g. 25 for 25 videos. | Tested |
| offset | None | int(11) of the minimum video ID to request (e.g. when you already have content, the last content id you have is the offset). | Tested |
Add Content
curl -d \ '{"categoryId":1,"contentType":CONTENT_TYPE,"contentTitle":"CONTENT_TITLE","contentUrl":"CONTENT_URL","contentDescription":"DESCRIPTION","thumbnailUrl":"thumburl.com","contentPrice":0.99}' \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY" \
-X POST "https://peakapi.whitespell.com/content"
The above command returns JSON structured like this:
[
{
"contentAdded":true,
"contentId":"CONTENT_ADDED_ID"
}
]
This endpoint allows a user to add content to the database. If a content has not
HTTP Request
POST https://peakapi.whitespell.com/users/USER_ID/content
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| categoryId | Yes | int, Numeric value of the category (find all categories on GET /categories) | Tested |
| contentType | Yes | int, Numeric value of the content type (find all content types on GET /content/types) | Tested |
| contentTitle | Yes | String(45) | Tested |
| contentUrl | Yes | String(255) | Tested |
| contentDescription | Yes | String(100) | Tested |
| contentPrice | Yes | Double(10,2) | Tested |
| thumbnailUrl | Yes | String(255) | Tested |
Request Content Types
curl "https://peakapi.whitespell.com/content/types" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY"
The above command returns JSON structured like this:
[
{
"contentTypeId" : 1,
"contentTypeName" : "youtube"
}
]
This endpoint requests all the content types.
HTTP Request
GET https://peakapi.whitespell.com/content/types
Add ContentType
curl -d \ '{"contentTypeName":"CONTENT_TYPE_NAME"}' \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY" \
-X POST "https://peakapi.whitespell.com/content/types"
The above command returns JSON structured like this:
[
{
"content_type_added" : true
}
]
This endpoint adds a content type such as youtubeVideo to the database. Avoid spaces.
HTTP Request
POST https://peakapi.whitespell.com/content/types
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| contentTypeName | Yes | String(45) Name of the added contentType. Avoid spaces. | Tested |
Get Comments on Content
curl "https://peakapi.whitespell.com/content/CONTENT_ID/comments" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY"
The above command returns JSON structured like this:
[
{
"contentId":8420,
"likes":0,
"comment":"first comment",
"timestamp":"Aug 6, 2015 5:08:16 PM",
"poster":{
"userId":272,
"publisher":0,
"emailVerified":0,
"userName":"1337",
"thumbnail":"http://wpidiots.com/html/writic/red-writic-template/css/img/demo-images/avatar1.jpg"
}
},
{
"contentId":8420,
"likes":0,
"comment":"second comment",
"timestamp":"Aug 6, 2015 5:08:23 PM",
"poster":{
"userId":272,
"publisher":0,
"emailVerified":0,
"userName":"1337",
"thumbnail":"http://wpidiots.com/html/writic/red-writic-template/css/img/demo-images/avatar1.jpg"
}
},
{
"contentId":8420,
"likes":0,
"comment":"third comment",
"timestamp":"Aug 6, 2015 5:08:28 PM",
"poster":{
"userId":272,
"publisher":0,
"emailVerified":0,
"userName":"1337",
"thumbnail":"http://wpidiots.com/html/writic/red-writic-template/css/img/demo-images/avatar1.jpg"
}
},
{
"contentId":8420,
"likes":0,
"comment":"fourth comment",
"timestamp":"Aug 6, 2015 5:08:33 PM",
"poster":{
"userId":272,
"publisher":0,
"emailVerified":0,
"userName":"1337",
"thumbnail":"http://wpidiots.com/html/writic/red-writic-template/css/img/demo-images/avatar1.jpg"
}
},
{
"contentId":8420,
"likes":0,
"comment":"wow this video is awesome, love it!",
"timestamp":"Aug 6, 2015 9:54:30 PM",
"poster":{
"userId":272,
"publisher":0,
"emailVerified":0,
"userName":"1337",
"thumbnail":"http://wpidiots.com/html/writic/red-writic-template/css/img/demo-images/avatar1.jpg"
}
}
]
Requires authentication as any user. This endpoint returns all the comments for the given contentId, sorted by date and time.
HTTP Request
GET https://peakapi.whitespell.com/content/CONTENT_ID/comments
Add Comment to Content
curl -d \ '{"userId":USER_ID,"comment":"COMMENT_VALUE"}' \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY" \
-X POST "https://peakapi.whitespell.com/content/CONTENT_ID/comments"
The above command returns JSON structured like this:
[
{
"commentAdded" : true
}
]
Requires authentication as the user posting the comment. This endpoint adds a comment to the given contentId as the given userId.
HTTP Request
POST https://peakapi.whitespell.com/content/CONTENT_ID/comments
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| userId | Yes | int(11) | Tested |
| comment | Yes | String(255) | Tested |
Content Like Action
curl -d \ '{"userId":188,"action":"like"}' \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY" \
-X POST "https://peakapi.whitespell.com/content/CONTENT_ID/likes"
The above command returns JSON structured like this:
[
{
"action_taken" : "like"
}
]
This endpoint allows a user like/unlike content.
HTTP Request
POST https://peakapi.whitespell.com/content/CONTENT_ID/likes
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| userId | Yes | int(11), userId of user that is liking/unliking content | Tested |
| action | Yes | String, either like/unlike | Tested |
Add Content to A Bundle
curl -d \ '{"childId":CHILD_ID}' \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY" \
-X POST "https://peakapi.whitespell.com/content/PARENT_CONTENT_ID/add_child"
The above command returns JSON structured like this:
[
{
"added_to_bundle":true
}
]
This endpoint adds a child to a parent (bundle)
HTTP Request
POST https://peakapi.whitespell.com/content/PARENT_CONTENT_ID/add_child
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| childId | Yes | int(11), contentId of the parent content (bundle) | Tested |
Update Content
curl -d \ '{"userId":"UPLOADER_USER_ID","contentTitle":"CONTENT_TITLE","contentDescription":"CONTENT_DESCRIPTION","contentPrice":CONTENT_PRICE}' \
-H "Content-Type: application/json" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY" \
-X POST "https://peakapi.whitespell.com/content/CONTENT_ID"
The above command returns JSON structured like this: Only updated fields are returned in the response, others are “”, 0 or [].
{
"updateStatus" : "success"
}
Requires authentication as the uploader
This endpoint allows a user to update their content.
HTTP Request
POST https://peakapi.whitespell.com/content/CONTENT_ID
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| userId | Yes | int(11) | Tested |
| contentTitle | No | String(45) | Tested |
| contentDescription | No | String(100) | Tested |
| contentPrice | No | Double(10,2) | Tested |
| categoryId | No | int(1) | Tested |
| contentUrl | No | String(255) | Tested |
| content1080p | No | String(255) | Tested |
| content720p | No | String(255) | Tested |
| content480p | No | String(255) | Tested |
| contentPreview720p | No | String(255) | Tested |
| processed | No | int(1) | Tested |
Categories
Request Categories
curl "https://peakapi.whitespell.com/categories"
The above command returns JSON structured like this:
[
{
"categoryId":1,
"categoryName":"basketball",
"categoryThumbnail":"http://www.dhresource.com/albu_355597555_00/1.0x0.jpg",
"categoryFollowers":12,
"categoryPublishers":3
},
{
"categoryId":2,
"categoryName":"fitness",
"categoryThumbnail":"https://encrypted-tbn2.gstatic.com/images?q\u003dtbn:ANd9GcSARlNn_7bqIDtOekrGQyloJOLaoHaBNvOOUMdeXoSTFXviLXHT",
"categoryFollowers":61,
"categoryPublishers":0
}
]
This endpoint requests all current categories in the database.
HTTP Request
GET https://peakapi.whitespell.com/categories
Add a Category
curl -d \ '{"categoryName":"CATEGORY_NAME","categoryThumbnail":"CATEGORY_THUMB_URL"}' \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_API_KEY" \
-H "X-Authentication: YOUR_USER_ID,YOUR_AUTH_KEY" \
-X POST "https://peakapi.whitespell.com/content/categories"
The above command returns JSON structured like this:
[
{
"category_added":true
}
]
This endpoint adds a category to the list of categories.
HTTP Request
POST https://peakapi.whitespell.com/categories
POST Parameters
| Parameter | Required | Description | Status |
|---|---|---|---|
| categoryName | Yes | String(25) Maximum 10 categories. | Tested |
| categoryThumbnail | Yes | String(255) | Tested |


Home
Our Mission
Team
eco minions
We work and protect the Environment
An organization formed by students in
GayatriVidyaParishad
Our Mission
We aim to increase awareness about Solid Waste Management and Sanitation Practices in urban and rural areas through interactive training sessions
Who we are
mouktika
saheli
pruthvi


Id: 32
Name: Roy: A Life Well Lived
Type: Game
Dimension: Replacement Dimension
Residents: ['https://rickandmortyapi.com/api/character/106', 'https://rickandmortyapi.com/api/character/393', 'https://rickandmortyapi.com/api/character/449', 'https://rickandmortyapi.com/api/character/450', 'https://rickandmortyapi.com/api/character/451']
Url: https://rickandmortyapi.com/api/location/32
Created: 2017-12-26T12:46:48.798Z


PRAWn: Comment Stance Visualizer (Don't click, doesnt work)
Request
for the visualization
Frequency
Count
Binary
TFIDF


 This process is called 'intubation'. This may be done to help you breathe and/or to protect your lungs. To place the breathing tube into the windpipe, the vocal cords need to be seen. There are different instruments that help the doctor see the vocal cords with the most common one being a laryngoscope.
In some situations, the doctor encounters some difficulty seeing the vocal cords and/or placing the breathing tube into the windpipe. This is known as a 'difficult airway'or 'difficult intubation'. Fortunately, in most cases, the doctor may be able to temporarily supply your lungs with air and oxygen through a mask or other device. If the doctor cannot do this, it can become a life threatening emergency situation and this occurs in less than 1 in 5000 patients.
Sometimes based on the doctor's exam, he or she may be able to identify a patient as having a potential difficult airway. Other times it is not recognized until the patient requires intubation and difficulty is encountered. If difficulty is encountered in placing a breathing tube in to your windpipe, your doctor will tell you so that you will have this important information for the next time you need to be intubated.
Patients may have a difficult airway for a number of reasons. Sometimes the shape of a person's face or their jaw may make it difficult to see the vocal cords. Other reasons include being unable to open one's mouth, previous surgery or radiation to the face, or masses obstructing the airway.
There are different ways a difficult airway may be managed. Today there are many different devices that help the doctor place the breathing tube safely into the windpipe. In addition to laryngoscopes, there are many devices that have cameras that help the doctor see the vocal cords. Letting your doctor know about a difficult airway will allow him or her to select the safest way to place the breathing tube into your windpipe. Your doctor can explain these to you.
If you have been identified as having a difficult airway, it is very important to carry this information with you. If you have been given a letter, you should make copies of it and bring it to your medical appointments, particularly if you are seeing an anesthesiologist before surgery. It is strongly recommended that you let your family members know and get a medical alert bracelet in case you need intubation and you are unconscious.
If you have a difficult intubation letter and have been directed to this website, it means that you have the option of downloading the free app and storing the information contained on the letter onto your smartphone. You do not need to do this if you do not want, and you can simply carry the letter with you to your doctor appointments.
If you choose to use the app, you just need to simply download and open the app. You will then need to enable the app to use the camera on your phone. With the camera on your smartphone, you simply scan the QR code at the bottom of the letter, which is the square box with the black and white speckles. We recommend that you check the information on your smartphone with the letter to make sure all the information is the same.
You can then provide this important information other doctors looking after you. It contains information about why you may have a difficult airway and what worked and did not work for placing the breathing tube into your windpipe.
Currently there is only an Android version of this app. It can be downloaded from this website or at the GooglePlay store here. Your phone needs a functioning camera to scan the QR code. An iOS version is on its way.
This website does not store any of your data and the data is stored only on your smartphone. If you are concerned about others having access to this information if you lose your phone, we recommend you put a password onto your phone. It is your responsibility to share this data with doctors looking after you and it is up to you whom you wish to share this data with. You also have the option of storing this data onto backup devices such as your personal computer or a cloud. This may be useful when you change your phone so that this important information is not lost, but where you choose to store this data is your responsibility.
We can be best reached by twitter @difficultAW or by email at vghdia@gmail.com


BASHU, THE LITTLE STRANGER A film review by Mehdi Ahmadi Copyright 1991 Mehdi Ahmadi
Last night I saw a film called BASHU, THE LITTLE STRANGER in San Francisco. It is a film made in Iran. The "San Francisco Chronicle" had a review of it last week end. It is one of the best movies I have seen in a long time.
BASHU is a fantastically directed and acted dramatic movie about a ten-year-old Iranian boy who lost his family in southern Iran during the war. His village was bombed. He sneaks into the back of a truck to get out of the war area. Traveling north, he ends up in the beautifully green areas of the northern Iran (by the Caspian Sea), where he faces suspicious villagers who distrust him because of his dark face and southern dialect. A young woman villager takes him in, and the story begins.
The story is great. The cinematography is fantastic. Bashu was played superbly. What is interesting that I noticed is that even though the movie did not have a haunting score, the rare occasions of audio percussion were quite moving.
Also in the Thirty-fourth San Francisco International Film Festival, there will be another Iranian movie called CLOSE UP (NAMA-YE NAZDIK). Here is an article from the San Francisco Film Society publication:
"A frustrated young film buff, who had been posing as Mohsen Makhmalbaf, was arrested. The accused, passing himself off as the celebrated film director (The Peddler), entered the life of a well-to-do family with ostensible intention of wanting to make a film with their participation. All this has apparently been an excuse for planning a burglary which was forestalled with the man's arrest." This small item in a Tehran magazine caught the attention of another venerated Iranian filmmaker, Abbas Kiarostami and became the genesis of CLOSE UP.
.
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


Climate Change
What is climate change?
Climate change is the overall and long-term change in weather patterns around the world or just, in general, Earth’s climate. The changes can be in temperature, precipitation, water levels, water temperatures, natural disasters, and more. Weather changes usually vary from short periods of time such as months, days, or even hours, while the Earth’s climate changes over thousands or millions of years. An important concept to remember is that Earth’s climate naturally always changes since there have been times when the Earth was warmer and when it was cooler. The focus of this website is to explain how other factors, such as human activity, have been speeding up the natural process of climate change over the last hundred years.


If enabled, the floating tab will stay on top in all applications, not just your browser.
When disabled, the floating tab stays on top of your browser only. This makes the tab feel more like a floating panel within your browser.
The distance between the top of the browser window and the top of the floating tab, in pixels. Change this value if the floating tab overlaps the address/bookmark bar, or if the tab appears too low.
Negative values are allowed, in which case the floating tab will appear above the browser window (if there is space on the screen). The tab will never go out of the screen's dimensions.
This value is only taken into account in the 'Top left' and 'Top right' positions.
When disabled, the floating tab dimensions will exactly match the largest empty area on the parent web page. If this area is too small or too large, the floating tab's dimensions may be impractical.
With normalization enabled, the application will enforce a minimum floating tab size (even if it covers up parts of the parent page), and restrict the maximum size. This way, the floating tab does not get too small or unusally large.
Currently, the Vivaldi browser does not support hotkeys for browser extensions. For more details, please see this forum post.
If enabled, the application collects logs. To view the browser extension logs, go to the Extensions page, choose 'Details' for TabFloater, then click the 'html/background.html' link. This will open the Developer Tools window. Switch to the 'Console' tab to see the extension logs.
If enabled, the application collects logs. To view the browser extension logs, go to the Add-ons page, click the cogwheel icon in the top right corner, choose 'Debug Add-ons', then click 'Inspect' for TabFloater. This will open the Developer Tools window. Switch to the 'Console' tab to see the extension logs.
To view the companion logs, copy the below file path and open it in your favorite text editor. Note: the file only exists if you have used the application with debugging enabled.
It is recommended to only enable this option if you need to troubleshoot a problem with the application. The application never sends the logs automatically anywhere, they stay on your machine.


2014 – Present: Infosys
Role: Systems Engineer & Business Analyst
Description: Infosys is a global leader in consulting, technology, and outsourcing solutions.
They enable clients in more than 50 countries to outperform the competition and stay ahead of the innovation curve.
Client – DTCC/
Clarient
Technologies Used: Java, Hibernate, JUnit with Mockito/Powermock, JBoss server(EAP 6.1), REST(RESTEasy),
Oracle 11g(with SQL Developer) and Jasper Reports.
Responsibilities:
-
Implemented security checks in the back end to prevent SQL injection attacks.
-
Implemented JUnit tests(with Mockito/Powermock) to test code completeness.
-
Worked with Jaspersoft Studio, Jasper Reports Server and Jasper Reports Library to implement reporting on the back end.
-
Assisted project manager with tracking project progress.
-
Created document artifacts(Systems and Specification documents).
-
Helped coordinate large projects with several other department managers and staff.
2013 – 2014: New York Prosecutors Training Institute
Technologies Used: Visual Basic/C# .NET and SQL server 2008, Wordpress, PHP, HTML, CSS.
Role: Software Developer
Description: The New York Prosecutors Training Institute, Inc. (NYPTI) is a not-for-profit corporation created in 1995
by the District Attorneys Association of the State of New York. NYPTI’s mission is to provide comprehensive continuing
legal education, training, advice, and assistance to New York State prosecutors.
Responsibilities:
-
Added/Edited UI components(HTML/CSS/.NET tags as well as JavaScript components) in web applications.
-
Maintenance of back end components which included bug fixing code and adding new functions/features to the applications.
-
Tested web sites using Selenium and iMacros for Firefox.
-
Database maintenance which involved maintenance of data tables, stored procedures and functions.
-
Created a Wordpress plugin, using PHP, to integrate their e-zine with their Single Sign-On(SSO) portal.


Health Study
Management Portal
dfdsfdfsds
Sign In
Forgot Password?
Forgot Password?
Enter your E-mail address to get a link to reset password
Submit
Back to Sign in


compressed_js_code
This html file download the necessary libraries to download and run a compressed js file.
The jszip library is used to download and unzip the file.
The "unzip_and_run.js" code is in charge of calling the jszip library and running the downloaded code.
Since the jszip library downloads and decompresses the code asynchronously, idealy, the all code will be self contained in the zip file.
The code runs all js files in the zip file.


Brozzler Admin
New Crawl Request
{% for crawl_request in crawl_requests %}
{{ crawl_request['name'] }}
Crawl Job Status
Crawl Job ID
Crawl Job Actions
{% for job in crawl_request['job_list'] %}
{{ job_status[job]|default("Not Determined", true) }}
{{ job }}
Stop Job
{% endfor %}
Launch Job
Launch Custom Job
Schedule Job
{% endfor %}


#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You 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.
#
"""Dataflow native sources and sinks.
For internal use only; no backwards-compatibility guarantees.
"""
import logging
from apache_beam import pvalue
from apache_beam.transforms import ptransform
from apache_beam.transforms.display import HasDisplayData
def _dict_printable_fields(dict_object, skip_fields):
"""Returns a list of strings for the interesting fields of a dict."""
return ['%s=%r' % (name, value)
for name, value in dict_object.iteritems()
# want to output value 0 but not None nor []
if (value or value == 0)
and name not in skip_fields]
_minor_fields = ['coder', 'key_coder', 'value_coder',
'config_bytes', 'elements',
'append_trailing_newlines', 'strip_trailing_newlines',
'compression_type']
[docs]class NativeSource(HasDisplayData):
"""A source implemented by Dataflow service.
This class is to be only inherited by sources natively implemented by Cloud
Dataflow service, hence should not be sub-classed by users.
This class is deprecated and should not be used to define new sources.
"""
[docs] def reader(self):
"""Returns a NativeSourceReader instance associated with this source."""
raise NotImplementedError
def __repr__(self):
return '<{name} {vals}>'.format(
name=self.__class__.__name__,
vals=', '.join(_dict_printable_fields(self.__dict__,
_minor_fields)))
[docs]class NativeSourceReader(object):
"""A reader for a source implemented by Dataflow service."""
def __enter__(self):
"""Opens everything necessary for a reader to function properly."""
raise NotImplementedError
def __exit__(self, exception_type, exception_value, traceback):
"""Cleans up after a reader executed."""
raise NotImplementedError
def __iter__(self):
"""Returns an iterator over all the records of the source."""
raise NotImplementedError
@property
def returns_windowed_values(self):
"""Returns whether this reader returns windowed values."""
return False
[docs] def get_progress(self):
"""Returns a representation of how far the reader has read.
Returns:
A SourceReaderProgress object that gives the current progress of the
reader.
"""
return
[docs] def request_dynamic_split(self, dynamic_split_request):
"""Attempts to split the input in two parts.
The two parts are named the "primary" part and the "residual" part. The
current 'NativeSourceReader' keeps processing the primary part, while the
residual part will be processed elsewhere (e.g. perhaps on a different
worker).
The primary and residual parts, if concatenated, must represent the
same input as the current input of this 'NativeSourceReader' before this
call.
The boundary between the primary part and the residual part is
specified in a framework-specific way using 'DynamicSplitRequest' e.g.,
if the framework supports the notion of positions, it might be a
position at which the input is asked to split itself (which is not
necessarily the same position at which it *will* split itself); it
might be an approximate fraction of input, or something else.
This function returns a 'DynamicSplitResult', which encodes, in a
framework-specific way, the information sufficient to construct a
description of the resulting primary and residual inputs. For example, it
might, again, be a position demarcating these parts, or it might be a pair
of fully-specified input descriptions, or something else.
After a successful call to 'request_dynamic_split()', subsequent calls
should be interpreted relative to the new primary.
Args:
dynamic_split_request: A 'DynamicSplitRequest' describing the split
request.
Returns:
'None' if the 'DynamicSplitRequest' cannot be honored (in that
case the input represented by this 'NativeSourceReader' stays the same),
or a 'DynamicSplitResult' describing how the input was split into a
primary and residual part.
"""
logging.debug(
'SourceReader %r does not support dynamic splitting. Ignoring dynamic '
'split request: %r',
self, dynamic_split_request)
return
[docs]class ReaderProgress(object):
"""A representation of how far a NativeSourceReader has read."""
def __init__(self, position=None, percent_complete=None, remaining_time=None,
consumed_split_points=None, remaining_split_points=None):
self._position = position
if percent_complete is not None:
percent_complete = float(percent_complete)
if percent_complete < 0 or percent_complete > 1:
raise ValueError(
'The percent_complete argument was %f. Must be in range [0, 1].'
% percent_complete)
self._percent_complete = percent_complete
self._remaining_time = remaining_time
self._consumed_split_points = consumed_split_points
self._remaining_split_points = remaining_split_points
@property
def position(self):
"""Returns progress, represented as a ReaderPosition object."""
return self._position
@property
def percent_complete(self):
"""Returns progress, represented as a percentage of total work.
Progress range from 0.0 (beginning, nothing complete) to 1.0 (end of the
work range, entire WorkItem complete).
Returns:
Progress represented as a percentage of total work.
"""
return self._percent_complete
@property
def remaining_time(self):
"""Returns progress, represented as an estimated time remaining."""
return self._remaining_time
@property
def consumed_split_points(self):
return self._consumed_split_points
@property
def remaining_split_points(self):
return self._remaining_split_points
[docs]class ReaderPosition(object):
"""A representation of position in an iteration of a 'NativeSourceReader'."""
def __init__(self, end=None, key=None, byte_offset=None, record_index=None,
shuffle_position=None, concat_position=None):
"""Initializes ReaderPosition.
A ReaderPosition may get instantiated for one of these position types. Only
one of these should be specified.
Args:
end: position is past all other positions. For example, this may be used
to represent the end position of an unbounded range.
key: position is a string key.
byte_offset: position is a byte offset.
record_index: position is a record index
shuffle_position: position is a base64 encoded shuffle position.
concat_position: position is a 'ConcatPosition'.
"""
self.end = end
self.key = key
self.byte_offset = byte_offset
self.record_index = record_index
self.shuffle_position = shuffle_position
if concat_position is not None:
assert isinstance(concat_position, ConcatPosition)
self.concat_position = concat_position
[docs]class ConcatPosition(object):
"""A position that encapsulate an inner position and an index.
This is used to represent the position of a source that encapsulate several
other sources.
"""
def __init__(self, index, position):
"""Initializes ConcatPosition.
Args:
index: index of the source currently being read.
position: inner position within the source currently being read.
"""
if position is not None:
assert isinstance(position, ReaderPosition)
self.index = index
self.position = position
[docs]class DynamicSplitRequest(object):
"""Specifies how 'NativeSourceReader.request_dynamic_split' should split.
"""
def __init__(self, progress):
assert isinstance(progress, ReaderProgress)
self.progress = progress
[docs]class DynamicSplitResult(object):
pass
[docs]class DynamicSplitResultWithPosition(DynamicSplitResult):
def __init__(self, stop_position):
assert isinstance(stop_position, ReaderPosition)
self.stop_position = stop_position
[docs]class NativeSink(HasDisplayData):
"""A sink implemented by Dataflow service.
This class is to be only inherited by sinks natively implemented by Cloud
Dataflow service, hence should not be sub-classed by users.
"""
[docs] def writer(self):
"""Returns a SinkWriter for this source."""
raise NotImplementedError
def __repr__(self):
return '<{name} {vals}>'.format(
name=self.__class__.__name__,
vals=_dict_printable_fields(self.__dict__, _minor_fields))
[docs]class NativeSinkWriter(object):
"""A writer for a sink implemented by Dataflow service."""
def __enter__(self):
"""Opens everything necessary for a writer to function properly."""
raise NotImplementedError
def __exit__(self, exception_type, exception_value, traceback):
"""Cleans up after a writer executed."""
raise NotImplementedError
@property
def takes_windowed_values(self):
"""Returns whether this writer takes windowed values."""
return False
[docs] def Write(self, o): # pylint: disable=invalid-name
"""Writes a record to the sink associated with this writer."""
raise NotImplementedError
class _NativeWrite(ptransform.PTransform):
"""A PTransform for writing to a Dataflow native sink.
These are sinks that are implemented natively by the Dataflow service
and hence should not be updated by users. These sinks are processed
using a Dataflow native write transform.
Applying this transform results in a ``pvalue.PDone``.
"""
def __init__(self, sink):
"""Initializes a Write transform.
Args:
sink: Sink to use for the write
"""
super(_NativeWrite, self).__init__()
self.sink = sink
def expand(self, pcoll):
self._check_pcollection(pcoll)
return pvalue.PDone(pcoll.pipeline)


Multimeter was firstly developed by Andres Garcia as his degree final project.
You can reach him (me) at<EMAIL_ADDRESS>I used all this libraries and software from third parties:


Chinese Tea Culture
中 国 茶 道
A gentleman's friend is as light as water, a tea man's friend is as mellow as tea
君子之友淡如水，茶人之友醇如茶


{{ model.violation.domainsCount }}
{{ model.violation.pageCount | number }}
{{failedRequest.value | number}} occurrences


Here’s some thought starters:
People usually read stories and blogs because they are personal. Your stories could be an incident, something you’ve experienced in life or even something you think needs to change. Sometimes writing a story from a different perspective, or shooting a short film based on your idea of the issue, putting yourself in the shoes of someone else gives birth to good art.
- You can write about how poverty causes famers to commit suicide.
- You could also write a letter from the perspective of a poor man.
- You could compare India to other countries when it comes to poverty.
- Another way could be writing a short story or poem on this topic.
- List down a bunch of must see rags to riches movies.
- A story on a personality who strives to uphold the rights of the poor.
Headline- If I Am Born… Polluted
- You can write about how pollution is affecting the environment around you.
- You can write about how we should take a stand against pollution.
- A video on ways to curb pollution.
- A poem or short film on pollution.
- Tell a story from the perspective of a tree.


| libnice Reference Manual | ||||
|---|---|---|---|---|
| Top | Description |
#include <stun/usages/bind.h> enum StunUsageBindReturn; size_t stun_usage_bind_create (StunAgent *agent
,StunMessage *msg
,uint8_t *buffer
,size_t buffer_len
); StunUsageBindReturn stun_usage_bind_process (StunMessage *msg
,struct sockaddr *addr
,socklen_t *addrlen
,struct sockaddr *alternate_server
,socklen_t *alternate_server_len
); size_t stun_usage_bind_keepalive (StunAgent *agent
,StunMessage *msg
,uint8_t *buf
,size_t len
); StunUsageBindReturn stun_usage_bind_run (const struct sockaddr *srv
,socklen_t srvlen
,struct sockaddr *addr
,socklen_t *addrlen
);
The STUN Binding usage allows for easily creating and parsing STUN Binding requests and responses. It offers both an asynchronous and a synchronous API that uses the STUN timer usage.
typedef enum { STUN_USAGE_BIND_RETURN_SUCCESS, STUN_USAGE_BIND_RETURN_ERROR, STUN_USAGE_BIND_RETURN_INVALID, STUN_USAGE_BIND_RETURN_ALTERNATE_SERVER, STUN_USAGE_BIND_RETURN_TIMEOUT, } StunUsageBindReturn;
Return value of stun_usage_bind_process()
and stun_usage_bind_run()
which
allows you to see what status the function call returned.
| The binding usage succeeded | |
| There was an unknown error in the bind usage | |
| The message is invalid and should be ignored | |
| The binding request has an ALTERNATE-SERVER attribute | |
| The binding was unsuccessful because it has timed out. |
size_t stun_usage_bind_create (StunAgent *agent
,StunMessage *msg
,uint8_t *buffer
,size_t buffer_len
);
Create a new STUN binding request to use with a STUN server.
|
The StunAgent to use to create the binding request |
|
The StunMessage to build |
|
The buffer to use for creating the StunMessage |
|
The size of the buffer
|
Returns : |
The length of the built message. |
StunUsageBindReturn stun_usage_bind_process (StunMessage *msg
,struct sockaddr *addr
,socklen_t *addrlen
,struct sockaddr *alternate_server
,socklen_t *alternate_server_len
);
Process a STUN binding response and extracts the mapped address from the STUN message. Also checks for the ALTERNATE-SERVER attribute.
|
The StunMessage to process |
|
A pointer to a sockaddr structure to fill with the mapped address that the STUN server gives us |
|
The length of add . rMust be set to the size of the addr socket
address and will be set to the actual length of the socket address. |
|
A pointer to a sockaddr structure to fill with the address of an alternate server to which we should send our new STUN binding request, in case the currently used STUN server is requesting the use of an alternate server. This argument will only be filled if the return value of the function is STUN_USAGE_BIND_RETURN_ALTERNATE_SERVER |
|
The length of alternate_server . Must be set to
the size of the alternate_server socket address and will be set to the
actual length of the socket address. |
Returns : |
A StunUsageBindReturn value. Note that STUN_USAGE_BIND_RETURN_TIMEOUT cannot be returned by this function |
size_t stun_usage_bind_keepalive (StunAgent *agent
,StunMessage *msg
,uint8_t *buf
,size_t len
);
Creates a STUN binding indication that can be used for a keepalive. Since this is an indication message, no STUN response will be generated and it can only be used as a keepalive message.
|
The StunAgent to use to build the message |
|
The StunMessage to build |
|
The buffer to use for creating the StunMessage |
|
The size of the buf
|
Returns : |
The length of the message to send |
StunUsageBindReturn stun_usage_bind_run (const struct sockaddr *srv
,socklen_t srvlen
,struct sockaddr *addr
,socklen_t *addrlen
);
This is a convenience function that will do a synchronous Binding request to a server and wait for its answer. It will create the socket transports and use the StunTimer usage to send the request and handle the response.
|
A pointer to the sockaddr structure representing the STUN server's address |
|
The length of srv
|
|
A pointer to a sockaddr structure to fill with the mapped address that the STUN server gives us |
|
The length of addr
|
Returns : |
A StunUsageBindReturn. Possible return values are STUN_USAGE_BIND_RETURN_SUCCESS, STUN_USAGE_BIND_RETURN_ERROR and STUN_USAGE_BIND_RETURN_TIMEOUT |


Warning: Deprecated in Chrome 24. Web intents are no longer supported.
Web Intents
allow your application to quickly communicate
with other applications on the user's system and inside their browser.
Your application can register to handle specific user actions
such as editing images via the manifest.json
;
your application can also invoke actions to be handled by other applications.
Chrome Apps use Web Intents as their primary mechanism for inter-app communication.
Warning: Deprecated in Chrome 24. Web intents are no longer supported.
You must supply the intent in the manifest:
"intents":{ "http://webintents.org/edit" : [{ "title" : "Best Image editing app", "type" : ["image/*"] }] }
Unlike extensions and hosted apps, Chrome applications do not
need a "href" attribute in the manifest declaration, this is
because Chrome Apps have a single entry point for
launch - the onLaunched
event.
Warning: Deprecated in Chrome 24. Web intents are no longer supported.
Your application can be the user's preferred choice for handling a file type. For example, your application could handle viewing images or viewing pdfs. You must supply the intent in the manifest and use the "http://webintents.org/view" action:
To be able declare your application's ability to view RSS and ATOM feeds, you would add the following to your manifest.
"intents": { "http://webintents.org/view" : [{ "title" : "RSS Feed Reader", "type" : ["application/atom+xml", "application/rss+xml"] }] }
Your application will receive intent payload through the onLaunched
event.
chrome.app.runtime.onLaunched(function(intent) { // App Launched if(intent.action == "http://webinents.org/view" && intent.type == "application/atom+xml") { // obtain the ATOM feed data. var data = intent.data; } });
Warning: Deprecated in Chrome 24. Web intents are no longer supported.
If your app handles the view
intent,
it is possible to launch it from the command line with a file as a parameter.
chrome.exe --app-id [app_id] [path_to_file]
This will implicity launch your application with an intent payload populated
with the action set to "http://webintents.org/view", the type set to the
mime-type of the file and the data as a FileEntry
object.
chrome.app.runtime.onLaunched(function(intent) { // App Launched var data = intent.data; });
Warning: Deprecated in Chrome 24. Web intents are no longer supported.
When your application is launched with a file as the parameter
on the command-line,
the intent.data
property is a FileEntry
.
This is really cool because now you have a direct reference back to the physical
file on the disk,
and you can write data back to it.
chrome.app.runtime.onLaunched(function(intent) { // App Launched var data = intent.data; if(data instanceof FileEntry) { data.createWriter(function(writer) { writer.onwriteend = function(e) { console.log('Write completed.'); }; writer.onerror = function(e) { console.log('Write failed: ' + e.toString()); }; // Create a new Blob and write it to log.txt. var blob = new Blob(['Lorem Ipsum'], {type: 'text/plain'}); writer.write(blob); }); } });
Warning: Deprecated in Chrome 24. Web intents are no longer supported.
Lots of applications want to cooperate
with the app that invoked them.
It's easy to send data back to the calling client
using intent.postResult
:
chrome.app.runtime.onLaunched(function(intent) { // App Launched console.log(intent.action); console.log(intent.type); var data = intent.data; // Do something with the data; intent.postResult(newData); });
Warning: Deprecated in Chrome 24. Web intents are no longer supported.
If your application or extension is localized as per the guidelines in Internationalization (i18n), you can localize the title of your intent in the picker using the exact same infrastructure:
"intents": { "http://webintents.org/edit" : [{ "title" : "__MSG_intent_title__", "type" : ["image/*"], "disposition" : "inline" }] }
Warning: Deprecated in Chrome 24. Web intents are no longer supported.
If your application needs to be able to use the functionality of another application, it can simply ask the browser for it. To ask for an application that supports image editing, it's as simple as:
var intent = new WebKitIntent("http://webintents.org/edit", "image/png", "dataUri://"); window.navigator.webkitStartActivity(intent, function(data) { // The data from the remote application is returned here. });
Warning: Deprecated in Chrome 24. Web intents are no longer supported.
If your service application needs to signal to the client application
that an unrecoverable error has occurred,
then your application will need
to call postError
on the intent object.
This will signal to the client’s onError callback
that something has gone wrong.
var intent = new WebKitIntent("http://webintents.org/edit", "image/png", "dataUri://"); var onSuccess = function(data) {}; var onError = function() {}; window.navigator.webkitStartActivity(intent, onSuccess, onError);
chrome.app.runtime.onLaunched(function(intent) { // App Launched console.log(intent.action); console.log(intent.type); var data = intent.data; // Do something with the data; intent.postResult(newData); });