Akan Names and Weekday Calculator
Description
Akan names are derived from Ghanian culture. Frequently in Ghana, children are given their first name as a 'day name' which corresponds to the day in the week they were born. Here are Ghanian day names.
Akan names are derived from Ghanian culture. Frequently in Ghana, children are given their first name as a 'day name' which corresponds to the day in the week they were born. Here are Ghanian day names.
Here is how you can contact us:
Find us on facebook via
On linkedin via
And on github through
You feedback are welcomed to help us find valuable and long term solutions.


HOME
PROUDUCTS
ABOUT US
CONTACT US
SIGN IN
Product
Quantity
Subtotal
Carbon charcoal Soap yeaaa
Price:₹200
REMOVE
₹200
Aqua Rainforest Scrub
Price:₹500
REMOVE
₹500
Black dibya lip balms
Price:₹400
REMOVE
₹400
Subtotal
₹1100
Gst
₹10
Total ✔
₹1200 ✔


Common attributes to control playback of audio
- autoplay: Boolean; use sparingly
- controls: provides playback controls to user
- loop: Boolean; will play audio over and over
- muted: Boolean; can use this to mute audio on page load
- src: link to the audio source file
- volume: Range of 0.0 (silent) to 1.0 (loudest)
Video
Common attributes to control playback of video.
- autoplay: Boolean; use sparingly
- controls: provides playback controls to user
- height: MUST be an absolute value; no percentages!
- muted: Boolean; can use this to mute audio on page load
- poster: use an alternate image in place of the first frame before playback has been initialized
- src: link to the video source file
- volume: Range of 0.0 (silent) to 1.0 (loudest)
- width: May be an absolute value or percentages


Dashboard
Pdflabs
Category
Books
Groups
group
post
Users
Index Box
Settings
Dashboard
statistics and more
Home
Dashboard
1349
New Books
View more
549
New Post
View more
+89%
New Users
View more
12,5M$
Total Comments
View more


AI Agent testing
Some examples of reward function based agents evaluating their actions on the world state
Simple death wall - make agent move away constantly
Hill climbing - make agent move up a hill
Hill climbing 2 - make agent move up a hill while avoiding some objects
Run from mouse - make agent move away from mouse pointer while avoiding some objects


Enter your name and an Inital deposit amount.
Enter an ammount you would like to deposit or withdrawl above.


from statista.com
In 2016, the global retail e-commerce sales amounted to $1.915 trillion. They are expected to increase to $ 4.058 trillion.
from statista.com
The largest marketplace in the world is Amazon. Its revenue exceeded $125 billion in 2016.
from statista.com
The largest holding company in China is Alibaba Group.
Elementh Blockchain can be used by any marketplace and online store in the world for nomenclature standard and their system of goods. Ecommerce is a growing market in all countries and the popularity of decentralized marketplaces is a benefit for Elementh Foundation. If we'll partner with all new marketplaces, our blockchain can become a standard in ecommerce market.


subject
DOCUMENTS REPOSITORY 20UCA4TT0ODFXJ
-fire-bound-a-sea-heaven-novel.pdf
November 23, 2016
Filetype: PDF
|
3102 views
system_update_alt
Download
subject
Read
index.html
October 21, 2016
Filetype: PDF
|
1787 views
system_update_alt
Download
subject
Read
August 18, 2016
Filetype: PDF
|
2665 views
system_update_alt
Download
subject
Read
January 04, 2017
Filetype: PDF
|
992 views
system_update_alt
Download
subject
Read
December 02, 2016
Filetype: PDF
|
471 views
system_update_alt
Download
subject
Read
September 25, 2016
Filetype: PDF
|
2732 views
system_update_alt
Download
subject
Read
January 02, 2017
Filetype: PDF
|
3147 views
system_update_alt
Download
subject
Read
September 23, 2016
Filetype: PDF
|
687 views
system_update_alt
Download
subject
Read
September 04, 2016
Filetype: PDF
|
1566 views
system_update_alt
Download
subject
Read
January 16, 2017
Filetype: PDF
|
394 views
system_update_alt
Download
subject
Read
December 16, 2016
Filetype: PDF
|
1609 views
system_update_alt
Download
subject
Read
November 25, 2016
Filetype: PDF
|
2500 views
system_update_alt
Download
subject
Read
December 13, 2016
Filetype: PDF
|
3319 views
system_update_alt
Download
subject
Read
January 20, 2017
Filetype: PDF
|
1040 views
system_update_alt
Download
subject
Read
October 23, 2016
Filetype: PDF
|
1219 views
system_update_alt
Download
subject
Read
December 17, 2016
Filetype: PDF
|
620 views
system_update_alt
Download
subject
Read
January 30, 2017
Filetype: PDF
|
646 views
system_update_alt
Download
subject
Read
October 23, 2016
Filetype: PDF
|
2825 views
system_update_alt
Download
subject
Read
October 06, 2016
Filetype: PDF
|
455 views
system_update_alt
Download
subject
Read
November 28, 2016
Filetype: PDF
|
2266 views
system_update_alt
Download
subject
Read
November 22, 2016
Filetype: PDF
|
1726 views
system_update_alt
Download
subject
Read
September 01, 2016
Filetype: PDF
|
1584 views
system_update_alt
Download
subject
Read
December 05, 2016
Filetype: PDF
|
2081 views
system_update_alt
Download
subject
Read
September 16, 2016
Filetype: PDF
|
2683 views
system_update_alt
Download
subject
Read
October 20, 2016
Filetype: PDF
|
771 views
system_update_alt
Download
subject
Read
October 19, 2016
Filetype: PDF
|
1073 views
system_update_alt
Download
subject
Read
August 17, 2016
Filetype: PDF
|
1238 views
system_update_alt
Download
subject
Read
January 08, 2017
Filetype: PDF
|
1920 views
system_update_alt
Download
subject
Read
October 20, 2016
Filetype: PDF
|
1630 views
system_update_alt
Download
subject
Read
January 29, 2017
Filetype: PDF
|
1367 views
system_update_alt
Download
subject
Read
October 22, 2016
Filetype: PDF
|
1343 views
system_update_alt
Download
subject
Read
October 01, 2016
Filetype: PDF
|
1142 views
system_update_alt
Download
subject
Read
September 12, 2016
Filetype: PDF
|
1472 views
system_update_alt
Download
subject
Read
January 29, 2017
Filetype: PDF
|
3199 views
system_update_alt
Download
subject
Read
October 12, 2016
Filetype: PDF
|
2606 views
system_update_alt
Download
subject
Read
August 12, 2016
Filetype: PDF
|
1971 views
system_update_alt
Download
subject
Read
September 13, 2016
Filetype: PDF
|
2756 views
system_update_alt
Download
subject
Read
August 10, 2016
Filetype: PDF
|
1956 views
system_update_alt
Download
subject
Read
November 23, 2016
Filetype: PDF
|
568 views
system_update_alt
Download
subject
Read
October 01, 2016
Filetype: PDF
|
1763 views
system_update_alt
Download
subject
Read
February 01, 2017
Filetype: PDF
|
407 views
system_update_alt
Download
subject
Read
January 04, 2017
Filetype: PDF
|
2673 views
system_update_alt
Download
subject
Read
November 22, 2016
Filetype: PDF
|
1415 views
system_update_alt
Download
subject
Read
November 14, 2016
Filetype: PDF
|
1015 views
system_update_alt
Download
subject
Read
January 14, 2017
Filetype: PDF
|
568 views
system_update_alt
Download
subject
Read
September 26, 2016
Filetype: PDF
|
641 views
system_update_alt
Download
subject
Read
December 15, 2016
Filetype: PDF
|
3190 views
system_update_alt
Download
subject
Read
November 05, 2016
Filetype: PDF
|
1830 views
system_update_alt
Download
subject
Read
December 11, 2016
Filetype: PDF
|
1678 views
system_update_alt
Download
subject
Read
September 16, 2016
Filetype: PDF
|
824 views
system_update_alt
Download
subject
Read
September 21, 2016
Filetype: PDF
|
873 views
system_update_alt
Download
subject
Read
October 18, 2016
Filetype: PDF
|
2418 views
system_update_alt
Download
subject
Read
December 07, 2016
Filetype: PDF
|
420 views
system_update_alt
Download
subject
Read
October 11, 2016
Filetype: PDF
|
3023 views
system_update_alt
Download
subject
Read
August 25, 2016
Filetype: PDF
|
1483 views
system_update_alt
Download
subject
Read
September 03, 2016
Filetype: PDF
|
739 views
system_update_alt
Download
subject
Read
October 23, 2016
Filetype: PDF
|
1321 views
system_update_alt
Download
subject
Read
August 22, 2016
Filetype: PDF
|
2283 views
system_update_alt
Download
subject
Read
October 20, 2016
Filetype: PDF
|
838 views
system_update_alt
Download
subject
Read
November 13, 2016
Filetype: PDF
|
2628 views
system_update_alt
Download
subject
Read
October 02, 2016
Filetype: PDF
|
1263 views
system_update_alt
Download
subject
Read
January 27, 2017
Filetype: PDF
|
3089 views
system_update_alt
Download
subject
Read
December 20, 2016
Filetype: PDF
|
579 views
system_update_alt
Download
subject
Read
December 04, 2016
Filetype: PDF
|
3016 views
system_update_alt
Download
subject
Read
October 18, 2016
Filetype: PDF
|
1832 views
system_update_alt
Download
subject
Read
October 14, 2016
Filetype: PDF
|
909 views
system_update_alt
Download
subject
Read
September 22, 2016
Filetype: PDF
|
881 views
system_update_alt
Download
subject
Read
December 24, 2016
Filetype: PDF
|
3027 views
system_update_alt
Download
subject
Read
August 31, 2016
Filetype: PDF
|
3002 views
system_update_alt
Download
subject
Read
October 04, 2016
Filetype: PDF
|
3056 views
system_update_alt
Download
subject
Read
November 09, 2016
Filetype: PDF
|
2738 views
system_update_alt
Download
subject
Read
December 11, 2016
Filetype: PDF
|
2986 views
system_update_alt
Download
subject
Read
January 31, 2017
Filetype: PDF
|
2201 views
system_update_alt
Download
subject
Read
October 10, 2016
Filetype: PDF
|
1441 views
system_update_alt
Download
subject
Read
November 01, 2016
Filetype: PDF
|
2525 views
system_update_alt
Download
subject
Read
November 22, 2016
Filetype: PDF
|
1110 views
system_update_alt
Download
subject
Read
December 20, 2016
Filetype: PDF
|
3064 views
system_update_alt
Download
subject
Read
December 18, 2016
Filetype: PDF
|
2493 views
system_update_alt
Download
subject
Read
January 20, 2017
Filetype: PDF
|
1416 views
system_update_alt
Download
subject
Read
January 30, 2017
Filetype: PDF
|
403 views
system_update_alt
Download
subject
Read
January 08, 2017
Filetype: PDF
|
2648 views
system_update_alt
Download
subject
Read
January 03, 2017
Filetype: PDF
|
2360 views
system_update_alt
Download
subject
Read
October 10, 2016
Filetype: PDF
|
436 views
system_update_alt
Download
subject
Read
December 29, 2016
Filetype: PDF
|
1640 views
system_update_alt
Download
subject
Read
August 29, 2016
Filetype: PDF
|
696 views
system_update_alt
Download
subject
Read
November 22, 2016
Filetype: PDF
|
1733 views
system_update_alt
Download
subject
Read
August 11, 2016
Filetype: PDF
|
3290 views
system_update_alt
Download
subject
Read
October 20, 2016
Filetype: PDF
|
2480 views
system_update_alt
Download
subject
Read
September 28, 2016
Filetype: PDF
|
2927 views
system_update_alt
Download
subject
Read
January 12, 2017
Filetype: PDF
|
2588 views
system_update_alt
Download
subject
Read
Other Files


My name is Jeffrey Pala and I am a Junior at the University of Delaware. I am currently studying Management Information Systems and Finance. Here is my first website.
I will continue to update this page as I continue to learn more about HTML. There will be new information coming weekly.


Toggle navigation
Menu
ABC Finance
Talk to an Adviser
Contact Us
Renters Quote
Personal Information
Property Information
Eligibility Check
Discounts Information
Premium & Coverages
60% Complete
Do you operate a licensed child care, day care or adult care business at your residence?
Yes
No
Do you own a pet dog that has bite history?
Yes
No
Do you have a swimming pool in your apartment?
Yes
No
Do you live in a gated community?
Yes
No
Back
Continue


Need some extra info? Choose from a topic below.
When you increase the amount of area that a foot makes contact with while standing, the pressure is reduced. When full body weight pressure has less area to be distributed to, it causes greater impact on that area, causing pain and injury.
Results from study to evaluate and compare lower leg muscle fatigue, edema and discomfort caused by prolonged standing while wearing regular socks compared to compression socks as intervention.
What is fatigue? How is it affecting your employees? What are causes of fatigue? Better understand the consequenses and their severity to your workforce and your company when you neglect to find ways to manage and reduce.
General guideline to the various ways you can filter products on your site.
Video on how to order from your site.
Guide on how to return an order on your site.
Watch how to use True Fit on your CustomFit site.
Men, women and kid size charts.


Functions defined by cases without match
Consider the following type definition for vehicles (including bicycles
and motorized vehicles). For bicycles, we can have a variable number
of seats and for motorized vehicles we can have a variable number
of seats and a variable number of wheels:
Inductive vehicle : Set :=
| bicycle : nat -> vehicle
| motorized : nat -> nat -> vehicle.
Define a function computing the number of seats of any vehicle,
as an application of vehicle_rec (without using match ... with ).
Solution
This file


{% extends 'base.html' %} {% load crispy_forms_tags %} {% block main %}
You have logged out!
Get back to the main page


Try out our Premium Member services: Virtual Legal Assistant, Query Alert Service and an ad-free experience. Free for one month and pay only if you like it.
IN THE HIGH COURT OF HIMACHAL PRADESH, SHIMLA CWP No. 1520 of 2017.
Decided on 5.1.2018.
Hotel Ganga House. ....Petitioner. . Versus State of HP and others. ... Respondents.
................................................................................................
Coram The Hon'ble Mr. Justice Sanjay Karol, Acting Chief Justice.
The Hon'ble Mr. Justice Ajay Mohan Goel, Judge. Whether approved for reporting?1 For the petitioner. : Mr. Shyam Singh Chauhan, Advocate.
For respondents r : Mr. Ashok Sharma, Advocate General with Mr. M.A. Khan, Anup Rattan, Addl. Advocate Generals and Mr. J.K. Verma, Dy. Advocate General for respondents No.1 and 6.
Mr. Dilip Sharma, Sr. Advocate with Ms. Nishi Goel, Advocate for respondents No.2 and 3.
Mr. Amit Singh Chandel, Advocate for respondent No.4.
Mr. Satyen Vaidya, Sr. Advocate with Mr. Vivek Sharma, Advocate for respondent No.5.
Sanjay Karol, Acting Chief Justice(Oral).
Petitioner laid challenge to the notice issued by the H.P. State Pollution Control Board, "Him Parivesh" Bhawan, Dharamshala, calling upon the petitioner to show cause as to why action for not complying with the various provisions of law be not taken.
1Whether reporters of the local papers may be allowed to see the judgment?
::: Downloaded on - 09/01/2018 23:10:31 :::HCHP 22. On 7th July, 2017, when this matter came up for hearing on the asking of the petitioner, this Court passed the following order:-
"CWP No.1520 of 2017 .
Notice. Mr. Kush Sharma, learned Addl. Advocate General, Ms.Nishi Goel, Mr.Amit Singh Chandel and Mr.Vivek Sharma, Advocates, appear and waive notice on behalf of the respective respondents. Response, if any, be filed within two weeks. Rejoinder be filed within one week thereafter.
Petitioner undertakes to file an affidavit stating therein; (a) the extent of construction permissible as per the sanctioned plan; (b) the extent of construction actually carried out by them on the spot; (c) deviation made in actual construction as compared to the sanctioned plan; (d) the extent of construction which is otherwise compoundable as per the existing Municipal laws, more specifically under Section 31-A of the Himachal Pradesh Town and Country Planning Act; (e) the extent of construction which is otherwise not compoundable; (f) furnish an undertaking to this Court that in the event of the vires of the amendment incorporated in the Himachal Pradesh Town and Country Planning Act being struck down or otherwise, shall demolish the construction raised in excess of the sanctioned plans and beyond compoundable limits; and (g) comply with all other statutory Rules/Regulations/Bye-laws under the provisions of the Water (Prevention & Control of Pollution) Act, 1974 and Air (Prevention and Control of Pollution) Act, 1981. The information to be furnished by the petitioner shall be certified by the architect, who shall also file his personal affidavit certifying the correctness of the certificate issued by him/her. Needful be done on or before 19.07.2017.
List on 19.07.2017 before Additional Registrar (Judicial)) for compliance and thereafter the matter be listed in the Court on 08.08.2017.
CMP No. 5360 of 2017 Notice in the aforesaid terms. After having heard learned Counsel for the parties, we direct that till the next date of hearing, no coercive action shall be taken pursuant to communications dated 15.05.2017 (Annexure P-I) and 15.06.2017 (AnnexureP-2).
Copy dasti."
3. Pursuant to such directions, the writ petitioner filed his personal affidavit, relevant portion whereof reads as under:-
"That the petitioner undertakes to file the affidavit to the following effects:-
A The extent of construction permissible as per The extent of construction which the sanctioned plan. was permissible as per sanctioned plan was 415.50 sq. meters.
B The extent of construction actually carried The extent of construction actually out by them on the spot; carried out by the petitioner is 662.00 sq. meters.::: Downloaded on - 09/01/2018 23:10:31 :::HCHP 3
C Deviation made in the actual construction as The deviation made in the actual compared to the sanction plan. construction as compare to the sanctioned plan is 246.50 sq. meters.
D The extent of construction which is otherwise The extent of construction which is compoundable as per the existing Municipal otherwise compoundable as per the Laws, more specially under Section 31-A of existing Municipal laws, more .
the Himachal Pradesh Town and Country specifically under Section 31-A of Planning Act; the Himachal Pradesh Town and Country Planning Act is 177.50 sq. meters.
E The extent of construction which is otherwise The extent of construction which is not compoundable; otherwise not compoundable is 69.00 sq. meters as per unamended Act.
F Furnish an undertaking to this Court that in The deponent undertakes that in the event of the vires of the amendment the event of the vires of the incorporated in the Himachal Pradesh Town amendment incorporated in the and Country Planning Act being struck down Himachal Pradesh Town and or otherwise, Shall demolish the construction Country Planning Act being struck raised in the excess of the sanction plans and down or otherwise shall close the beyond compoundable limits; construction raised in excess of the sanction plans and beyond Comply with all other compoundable limits.
statutory The Deponent undertakes that he G Rules/Regulations/Bye-laws under the will comply with all other statutory provisions of the water (Prevention & Rules/Regulations/Bye-laws under Control of Pollution) Act, 1974 and Air the provisions of the Water (Prevention & Control of Pollution) Act, (Prevention & Control of 1981. Pollution) Act, 1974 and Air (Prevention & Control of Pollution) Act, 1981.
4. We notice that the extent of construction carried out by the writ petitioner than the sanctioned plan is almost more than 50%, whereas the petitioner was entitled to raise construction in terms of the sanctioned plan to the extent of 415.50 square meters, he raised construction to the extent of 662.00 square meters. Undisputedly, such construction raised is even beyond the compoundable limits stipulated under the provisions of the H.P. Municipal Act, 1994 and Town and Country Planning Act, 1977.
5. We may also observe that several petitions of similar nature were filed and tagged together, which, as such, are also listed today. In all ::: Downloaded on - 09/01/2018 23:10:31 :::HCHP 4 these petitions, the common thread being that there is violation of Municipal Laws and that, the construction raised, is in excess, ranging from 20% to 700%, from the sanctioned plans. In fact, in one case no plans stand .
sanctioned, yet massive construction raised. We have individually taken up all these cases and passed separate orders in each one of the cases.
6. It is not in dispute that petitioner has benefited and gained advantage out of the orders passed by this Court. The only ground on which the writ petition was filed that the authorities had failed to consider the applicability of the provisions of Section 31-B of the Town and Country Planning Act. r
7. It is not in dispute that in a separate writ petition the vires of such provision came to be assailed and same has been held to be ultra vires in CWP No. 612 of 2017, titled as Abhimanyu Rathor Vs. State of H.P. and others decided on 22.12.2017. As such, the issue raised in the present writ petition is no longer res integra and the petition needs to be dismissed with the petitioner's undertaking to be enforced in accordance with law.
8. At this stage, Mr. Shyam Singh Chauhan, learned counsel for the petitioner, under instructions, from the petitioner seeks permission to withdraw the present writ petition, which is permitted to be withdrawn subject to the petitioner's depositing a sum of `2.00 lac (rupees two lac only), as costs to be deposited with the H.P. State Legal Services Authority, Kasumpti, Shimla 171 009. Petitioner undertakes to deposit the cost within a period of one week from today and affidavit of compliance be filed in the ::: Downloaded on - 09/01/2018 23:10:31 :::HCHP 5 Registry of this Court within the same period, for which purpose the matter be listed before Registrar (Judicial) on 15.1.2018.
In view of the above the writ petition is disposed of as having .
been withdrawn, so also pending application, if any. All interim order(s), if any, stand vacated.
(Sanjay Karol) Acting Chief Justice (Ajay Mohan Goel) Judge 5th January, 2018 (Guleria) ::: Downloaded on - 09/01/2018 23:10:31 :::HCHP


Hotel Details
Hotel Name:
Hotel Address:
State:
Postal Code:
Rating:
Hotel Description:
Hotel Address:
State:
Postal Code:
Rating:
Hotel Description:
| Room Number | Room Type | Cost Per Night | Book Room |
|---|---|---|---|
| Room |


Lottery warning: the pay-out of lottery draw games are usually based on ticket sales. Since no predetermined prizes are set for the upcoming draw, this application will show an estimated pay-out based on the previous draw results.
This means the prizes shown by this application could be lower or the same or higher than can actually be won.
Please use this application for entertainment purposes only.
Scratchers warning: the scratchers odds shown in this application (and as reported on the official scratchers lottery site) would only be reliable if all printed tickets were available at the one store you buy your ticket from. In reality, this is not the case because:
This means the odds shown by this application could be worse or the same or better than the actual odds.
Please use this application for entertainment purposes only.


Please fill in this form to reset password.
Passwords must contain at least one uppercase letter, one lowercase letter, one number and one special character. The minimum allowed length is eight characters.


Houthis Claim Downing US-Made Spy Drone Near Border With Saudi Arabia
DOHA (Sputnik) - The Houthi movement, which controls the north of Yemen, said on Friday that it had shot down a US-made spy drone near the border with the southwestern Saudi province of Aseer.
"The downed ScanEagle drone was conducting a reconnaissance mission," Houthi military spokesman Yahya Saria wrote on Twitter.
The Saudi-led coalition has been carrying out airstrikes against the Houthis at the internationally recognised Yemeni government’s request since March 2015.
In response, Houthis regularly attack Saudi border areas. In September, the attack on the kingdom’s oil facilities resulted in Saudi Arabia's net oil output falling by half.


BeaconDetectManagerDelegate
public protocol BeaconDetectManagerDelegate : AnyObject
The delegate of BeaconDetectManager class.
-
beaconDetectManager(_:didEnterRegion:)
Default implementationDelegate called when user entered the specified region.
Default Implementation
Declaration
Swift
func beaconDetectManager(_ manager: BeaconDetectManager, didEnterRegion region: CLRegion)
Parameters
manager
The BeaconDetectManager reporting the event.
region
An region that was enterd.
-
beaconDetectManager(_:didExitRegion:)
Default implementationDelegate called when user exited the specified region.
Default Implementation
Declaration
Swift
func beaconDetectManager(_ manager: BeaconDetectManager, didExitRegion region: CLRegion)
Parameters
manager
The BeaconDetectManager reporting the event.
region
An region that was exited.
-
beaconDetectManager(_:didRangeBeacons:)
Default implementationDelegate called when one or more beacons are in range.
Default Implementation
Declaration
Swift
func beaconDetectManager(_ manager: BeaconDetectManager, didRangeBeacons beacons: [CLBeacon])
Parameters
manager
The BeaconDetectManager reporting the event.
beacons
An array of CLBeacon objects representing the beacons currently in range.
-
Delegate called when disabled location service.
Declaration
Swift
func beaconDetectManagerDidDisableLocationService(_ manager: BeaconDetectManager)
Parameters
manager
The BeaconDetectManager reporting the event.
-
Delegate called when disabled bluetooth service.
Declaration
Swift
func beaconDetectManagerDidDisableBluetoothService(_ manager: BeaconDetectManager)
Parameters
manager
The BeaconDetectManager reporting the event.


This is a list of all relevant options, methods, events and callbacks.
Options are set on initializing the lightbox:
new Cl.Lightbox({
'group': false,
'responsive': false
});
| Option | Default | Description |
|---|---|---|
| prefix | ‘cl’ | the prefix is attached to all internal events and css classes for example cl-lightbox or cl-lightbox. |
| group | true | allows grouping of matching elements and enables status and navigation. |
| cycle | true | requires group allows previous and next methods to cycle through matching elements. |
| modal | true | enables the dimmer functionality. |
| modalClickable | true | requires modal allows the dimmer to be closed onclick. |
| modalClosable | true | requires modalClickable disables all close events, lightbox can be only closed using the API. |
| forceLoad | false | if enabled, insures that iframes are fully loaded before display. |
| easing | ‘swing’ | jquery easing effect for all animations. |
| duration | 300 | duration until the lightbox is fully expanded. |
| speed | 300 | speed for all regular animations. |
| fixed | true | sets the lightbox always inside the viewport of the user even when scrolling. |
| responsive | true | enables responsive behaviour of the lightbox. |
| ajax | false | ajax loads the provided url and tries to inject the html into the lightbox. It does not create an iframe in order to maintain the css style. |
| controls | true | requires group enables controllable elements when a collection is active. |
| cls | ‘’ | adds an additional class to the top level element. |
| opacity | 0.8 | ``requires modal``transparent level for dimmer. |
| styles | Object | adds jquery style css object to gallery content element. |
| dimensions | Object | available dimensions are initialWidth, initialHeight, offset, width and height. |
| keys | true | enables control for the lightbox using the keyboard. |
| keyCodes | Object | requires keys enables key control for close, next and previous. |
| lang | Object | the available language configurations. |
Option lang strings:
| Option | Default |
|---|---|
| close | ‘Close lightbox’ |
| errorMessage | ‘
The requested element...
’ |
| next | ‘Next’ |
| previous | ‘Previous’ |
| status | ‘Slide {current} of {total}.’ |
Methods can be called using an instance of the class:
var lightbox = new Cl.Lightbox();
// trigger the instanace
lightbox.open();
All Methods have appropriate events and callbacks.
| Description : | opens the lightbox with the provided url or jQuery element. |
|---|---|
| Arguments: |
|
| Returns: | open callback |
| Description : | closes the lightbox. |
|---|---|
| Returns: | close callback |
| Description : | resizes the lightbox to the specified dimensions. |
|---|---|
| Arguments: |
|
| Returns: | resize callback |
| Description : | removes the lightbox from the dom. |
|---|---|
| Returns: | destroy callback |
| Description : | movies to the next element. |
|---|---|
| Returns: | next callback |
| Description : | movies to the previous element. |
|---|---|
| Returns: | previous callback |
| Returns: | the current visible element |
|---|
| Returns: | all current elements in the collection |
|---|
Callbacks are always triggered after the method is excecuted. You can interact with callbacks as follows:
var lightbox = new Cl.Lightbox();
// register callback
lightbox.callbacks.close = function () {
console.log('lightbox is closing');
};
Available keywords:
Private keywords:


Nigel Reuel - President, builds, codes and works with new partners
Charu Gupta - wet lab lead, cell culture whiz
Cameron Greenwalt - software lead, python master
Kyle Jackson - hardware lead, master tinkerer
Adam Rice - data science lead, our connection to the cloud
Charles "Chuck" Glatz - VP Biomanufacturing, ensures top quality
Samuel Rothestein - Scientist, lead on viable sensor development


Extracting emotions from video using Affectiva API
Use this script to extract facial expressions from a video file using
the Affectiva javascript API.
When finished processing, your browser
will download the data file automatically.
DETECTOR LOG MSGS


There is not a lot of stuff here yet, but I needed to create a second page for my first page to link to.
Dinosaur background image courtsey Pixabay and release via Creative Commons CCP0 1.0.
Home | About Me


Department of Computer Science and Engineering
Michigan State University
428 South Shaw Road
East Lansing, MI 48824
<EMAIL_ADDRESS>www.cse.msu.edu/~ajc
Ph.D Computer Science and Engineering
Dissertation: Automatically Addressing Uncertainty in Autonomous Robots with Computational Evolution
Advisor: Philip K. McKinley
Michigan State University, East Lansing, MI USA
B.S. Computer Engineering
Minor in Computer Science
Graduated magna cum laude
Kansas State University, Manhattan, KS USA
Graduate Research Assistant
Department of Computer Science and Engineering, Michigan State University
Software Engineering and Networks Lab
Research: Applied evolutionary algorithms to the design of autonomous robotic fish.
Undergraduate Research Assistant
Department of Electrical and Computer Engineering, Kansas State University
Autonomous Vehicle Systems Lab
Responsibilities: Designed software used to capture images on-board an autonomous aerial vehicle.
Undergraduate Research Assistant
Department of Electrical and Computer Engineering, Kansas State University
Independent Research with Professor Stewart E. Stanton
Research: Investigated the fundamentals of convergence of complex solutions in power systems.
Software Engineer, Intern
Garmin International
Department of Positioning and Sensors
Responsibilities: Solved problems associated with positioning error due to antenna performance.
Undergraduate Research Fellow
Department of Computer Science, University of Illinois at Urbana-Champaign
Multimodal Information Access & Synthesis : Data Science Summer Institute
Responsibilities: Attended lectures covering the fundamentals of Data Sciences and contributed to an image processing project.
SAS Tutor
Scholars Assisting Scholars, Kansas State University
A campus-wide, free tutoring program designed for core science courses.
Responsibilities: Attended my subjects lectures, provided tutoring consistent with course instruction, and lead review sessions before exams.
Presenter, 3D Printing Showcase
Library Open House, Michigan State University
Responsibilities: Presented 3D printing technologies and my labs research as part of outreach directed at undergraduates and the general population.
Co-Organizer, 'Evolution-In-Action Software and the Web' Sandbox Session
BEACON Congress, Michigan State University
Responsibilities: Organized an open discussion regarding the application of state-of-the-art web technologies to evolutionary research and outreach projects.
Co-Instructor, College of Engineering High School Summer Program
Introduction to Robotics Engineering (Evolutionary Robotics), Michigan State University
Responsibilities: Introduced evolutionary robotics to high school students using a tutorial based on an interactive web-based simulation environment developed by myself and Jared M. Moore. Students conducted evolutionary experiments in which they evolved robots.'
Instructor, BEACON High School Summer Residential Program
W.K. Kellogg Biological Station, Michigan State University
Responsibilities: Presented an overview of evolutionary computation to a group of four high school students interested in STEM fields, and then facilitated their work as they conducted, wrote about, and presented their own research.
Presenter, Research Experience for Undergraduates
College of Engineering, Michigan State University
Responsibilities: Presented my evolutionary robotics research and participated in a questions and answers session with Dr. Philip K. McKinley, Jared M. Moore, and a group of visiting REU students.
Mentor, NSF Research Experience for Teachers Summer Program
College of Engineering, Michigan State University
Responsibilities: Mentored a local high school engineering instructor, Charles Payson. Over the course of a summer, Mr. Payson designed, implemented, and presented a web application used to teach evolutionary robotics concepts to K-12 students and the general public. I taught Mr. Payson web-programming skills as well as aided him in developing a curriculum for high school students.
Graduate Student Evaluator
Undergraduate Research and Arts Forum, Michigan State University
Responsibilities: Provided feedback to undergraduates presenting their research, and scored poster presentations for a competition.
Presenter, Engineering Robotics at MSU Summer Residential Program
College of Engineering, Michigan State University
Responsibilities: Presented my research on evolving robotic fish control and morphology and participated in a questions and answers session with Dr. Philip K. McKinley, Jared M. Moore, and a group of high school students.
Mentor, NSF Research Experience for Teachers Summer Program
College of Engineering, Michigan State University
Responsibilities: Mentored a local high school engineering instructor, Charles Payson. During a six-week program, I aided Mr. Payson in learning C++ programming, evolutionary algorithm development, creating dynamic simulations. At the end of the program, I assisted Mr. Payson in translating his research into a robotics lesson plan using the VEX platform.
Mentor, NSF Research Experience for Teachers Summer Program
College of Engineering, Michigan State University
Responsibilities: Mentored a local elementary school teacher, Adam Ford, that specializes in computers and robotics. Mr. Ford developed the Biolume simulation environment, which demonstrates evolution 'in-action' using using simple robots. The Biolume project is an outreach exhibit aimed at teaching evolutionary principles to the general public.
SAS Tutor
Scholars Assisting Scholars, Kansas State University
A campus-wide, free tutoring program designed for core science courses.
Responsibilities: Attended my subjects lectures, provided tutoring consistent with course instruction, and lead review sessions before exams.
Balancing Performance and Efficiency in a Robotic Fish with Evolutionary Multiobjective Optimization
Anthony Clark, Jianxun Wang Philip K. McKinley, and Xiaobo Tan
In Proceedings of the IEEE International Conference on Evolvable Systems, held in conjunction with the 2014 IEEE Symposium on Computational Intelligence (SSCI), Orlando, Florida, December 2014.
In press
On-Board Evolution of a Model-Free Adaptive Controller for a Robotic Fish
Anthony Clark, Philip K. McKinley, and Xiaobo Tan
In Proceedings of Evolution of Physical Systems Workshop, held in conjunction with the 14th International Conference on the Synthesis and Simulation of Living Systems (ALIFE 14), New York, New York, July 2014.
Hold the Spot: Evolution of Generalized Station Keeping for an Aquatic Robot
Jared M. Moore and Anthony J. Clark
In Proceedings of the 14th International Conference on the Synthesis and Simulation of Living Systems (ALIFE 14), New York, New York, pages 200--201, July 2014.
Evolutionary Robotics on the Web with WebGL and Javscript
Jared M. Moore, Anthony J. Clark, and Philip K. McKinley
In Proceedings of the Workshop on Artificial Life and the Web 2014, held in conjunction with the 14th International Conference on the Synthesis and Simulation of Living Systems (ALIFE 14), New York, New York, July 2014.
Just Keep Swimming: Accounting for Uncertainty in Self-Modeling Aquatic Robots
Matthew J. Rose, Anthony J. Clark, Jared M. Moore, and Philip K. McKinley
In Proceedings of the 6th International Workshop on Evolutionary and Reinforcement Learning for Autonomous Robot Systems, Taormina, Italy, September 2013.
Best Paper Award
Evolution of Station Keeping as a Response to Flows in an Aquatic Robot
Jared M. Moore, Anthony J. Clark, and Philip K. McKinley
In Proceedings of the 2013 ACM Genetic and Evolutionary Computing Conference, Amsterdam, The Netherlands, pages 239--246, 2013.
Evolutionary Optimization of Robotic Fish Control and Morphology
Anthony J. Clark and Philip K. McKinley
In Proceedings of the 2013 ACM Genetic and Evolutionary Computing Conference Companion, Amsterdam, The Netherlands, pages 21--22, 2013.
Evolutionary design and experimental validation of a flexible caudal fin for robotic fish
Anthony Clark, Jared Moore, Jianxun Wang, Xiaobo Tan, and Philip McKinley
In Proceedings of the Thirteenth International Conference on the Synthesis and Simulation of Living Systems, East Lansing, Michigan, USA, pages 325--332, July 2012.
Best Paper Award
Coordinator, Computer Science and Engineering Graduate Association (Elected)
Responsibilities: Coordinated a monthly meeting of graduate students in the Department of Computer Science, facilitated communication of department news and policies, and organized graduate student service opportunities.
Graduate Representative, Computer Science and Engineering Graduate Studies and Research Committee (Elected)
Reviewer, Symposium Series on Computational Intelligence
Graduate Representative, Computer Science and Engineering Faculty Committee (Elected)
Reviewer, International Conference on Self-Adaptive and Self-Organizing Systems
Undergraduate Officer, Eta Kapp Nu, Electrical and Computer Engineering at Kansas State University
Best Paper Award: Workshop on Evolutionary and reinforcement Learning for Autonomous Robot Systems
Matthew J. Rose, Anthony J. Clark, Jared M. Moore, and Philip K. McKinley. Just Keep Swimming: Accounting for Uncertainty in Self-Modeling Aquatic Robots. In Proceedings of the 6th International Workshop on Evolutionary and Reinforcement Learning for Autonomous Robot Systems, Taormina, Italy, September 2013.
Best Paper Award: ALIFE-13, Behavior and Intelligence Track
Anthony Clark, Jared Moore, Jianxun Wang, Xiaobo Tan, and Philip McKinley. Evolutionary design and experimental validation of a flexible caudal fin for robotic fish. In Proceedings of the Thirteenth International Conference on the Synthesis and Simulation of Living Systems, East Lansing, Michigan, USA, pages 325--332, July 2012.
Honorable Mention: Graduate Research Fellowship Program, National Science Foundation
Top Up Fellowship: NSF BEACON Center for the Study of Evolution in Action
University Enrichment Fellowship: Michigan State University
Graduated magna cum laude: Kansas State University
Garmin Scholarship: Garmin International
(upcoming) Conference Talk: Balancing Performance and Efficiency in a Robotic Fish with Evolutionary Multiobjective Optimization
IEEE International Conference on Evolvable Systems, held in conjunction with the 2014 IEEE Symposium on Computational Intelligence (SSCI)
Orlando, Florida, USA
Poster Presentation:
BEACON Congress
East Lansing, Michigan, USA
Poster Presentation: 3D Evolutionary Robotics on the Web: Evolve-a-Robot
BEACON Congress
East Lansing, Michigan, USA
Conference Talk:
The Fourteenth International Conference on the Synthesis and Simulation of Living Systems, International Workshop on Evolutionary and Reinforcement Learning for Autonomous Robot Systems
New York City, New York, USA
Poster Presentation:
NSF Annual Site Visit to BEACON
East Lansing, Michigan, USA
Poster Presentation:
Cyberinfrastructure Days
East Lansing, Michigan, USA
Invited Conference Talk:
The Twelfth European Conference on Artificial Life, International Workshop on Evolutionary and Reinforcement Learning for Autonomous Robot Systems
Taormina, Italy
Poster Presentation:
BEACON Congress
East Lansing, Michigan, USA
Poster Presentation:
Genetic and Evolutionary Computing Conference
Amsterdam, Netherlands
Poster Presentation:
NSF Annual Site Visit to BEACON
East Lansing, Michigan, USA
Conference Talk: Evolutionary design and experimental validation of a flexible caudal fin for robotic fish
The Thirteenth International Conference on the Synthesis and Simulation of Living Systems
East Lansing, Michigan, USA
Poster Presentation:
NSF Annual Site Visit to BEACON
East Lansing, Michigan, USA
II-EN: Evolution Park: An Evolutionary Robotics Habitat for the Study of Crawling, Swimming and Flying Creatures
Sponsor: NSF, Amount: $305,000, PI: P. McKinley, Co-PIs: X. Tan, J. Boughman
Exploiting Robot-Fish Interactions and Evolutionary Computing to Understand and Synthesize Complex Collective Behavior
Sponsor: NSF BEACON Center for the Study of Evolution in Action, Amount: $110,642 (estimate), PI: X. Tan, Co-PIs: P. McKinley, J. Boughman
Understanding and Synthesizing Collective Behavior with Mixed Robotic and Live Fish Schools
Sponsor: NSF BEACON Center for the Study of Evolution in Action, Amount: $169,923, PI: X. Tan, Co-PIs: P. McKinley, J. Boughman
Distributed, Onboard Evolution in a Robotic Cloud
Sponsor: NSF BEACON Center for the Study of Evolution in Action, Amount: $168,231, PI: T. Soule (U. Idaho), Co-PIs: R. Heckendorn (U. Idaho), P. McKinley (MSU), J. Zhan (NCA&T), S. Harrison (NCA&T)
Developer: Developer: Evolve-a-Robot: Online Evolutionary Robotics Environment
URL: http://evolve-a-robot.github.io/
Code: https://github.com/evolve-a-robot/evolve-a-robot.github.io
Description: The web portal allows users to conduct their own evolutionary robotics experiment while changing parameters related to evolutionary operators and the environment. Users develop an understanding of how population size, mutation, crossover, and selection influence the evolution of a wheeled robotic system. The portal can be accessed directly by individuals, or in the context of a workshop to facilitate group discussion and individual student exploration.
References are available upon request.


|
Hello, {{ groupname }} on Stockport Local hasn't been updated in almost 3 months. It's important to keep your information up to date so that people can easily find and contact you. Please take some time to check the groups details are right. If your information is not updated within the next 3 months, we'll automatically archive the page. This means that people will not be able to find or view it on the Stockport Council website. If you have not signed up yet, register for a My Account to manage your group or service. When you register and validate this email address you can visit your group or service page. Log in to My Account and follow the instructions to update information, add events or add other administrators. If you have any questions, email<EMAIL_ADDRESS>Thank you, Stockport Council |


I'm a software engineer based in New York City.
Lead and co-lead monthly workshops on data structures and algorithms
Develop workshop curriculum with co-organizer team
Facilitate workshops on Zoom due to COVID-19 pandemic
Created testable and reusable React components with input from QA engineers and designers
Became familiar with deployment workflow of a production web application
Implemented metric tracking and error logging for development and production environments
Optimized website features for accessibility, web standards, and SEO
Oversaw operations selling Bengali street food during pop-up and catering events
Organized collaborations with cultural groups, musicians, and visual artists
Managed communications amongst 12-person team via Slack workspace and email
Streamlined social media content and company marketing materials
Taught HTML, CSS, JavaScript, and Git virtually to 18 undergraduates
Developed curriculum with 3-person instructional team according to students’ skill levels
Taught accelerated web development bootcamp to 68 computer science undergraduates
Lectured on Node.js, React, Redux, Git, Postgres, and Sequelize along with live demonstrations
Coordinated with instructional team to encourage engagement in pilot virtual classroom
Taught accelerated web development bootcamp to 68 computer science undergraduates
Lectured on Node.js, React, Redux, Git, Postgres, and Sequelize along with live demonstrations
Coordinated with instructional team to encourage engagement in pilot virtual classroom
Taught Ruby, Git, Sinatra, and MVC principles to 28 young adults
Supplemented main lessons with brief lectures on programming and technical skills
Instructed students on development environment setup on macOS, Windows, and Linux
Built projects to gain programming skills such as testing, DevOps, and algorithms
Participated in workshops led by speakers from industry leading tech companies
Taught HTML, CSS, Git, JavaScript, and UI/UX principles to class of 20 adult students
Developed lesson plans with fellow instructors
Adjusted lessons based on students’ understanding of course work
Held JavaScript refresher classes and tutoring sessions via Zoom
Program covering frontend and backend technologies such as JavaScript, Git, and Ruby on Rails
Won NYC Tech Talent Pipeline Alumni Hackathon 2020
Led 4-person team to create platform to matchup with project collaborators based on skills
Utilized LinkedIn API, Express, MongoDB, OAuth, and Bootstrap
Implemented Express and Postgres backend in conjunction with React frontend
Utilized Twilio SMS API and Slack Slash Commands API to create reservations via webhooks
Constructed integration tests using Jest to automate deployment with Travis CI


Gregory J. Tafel
Democrat
I am a beloved retired Colorado public school social studies teacher.
High School: St. Ignatius HS (Cleveland, Ohio)1969. College(s) BA History St. Louis University (St. Louis, MO)1973; MEd in Education Ohio University (Athens. Ohio) 1980; Teacher Graduate Certification UNC (Greeley, CO) 1978 - Type D Certification program UNC (Greeley, CO) 2005 I taught and coached secondary school for 34 years - Abbey School (Canon City) 1975-76; Mountain Valley School (Saguache, CO) 1978-80; Elizabeth Schools (Elizabeth, CO) 1980-85; Lyons Jr.-Sr. High School 1985-91; Westview Middle School 1991-2012 (Longmont, CO). I coached football, basketball, and track at every level and still coach basketball at Westview in retirement.I was the athletic director at Elizabeth and Lyons High Schools respectively.
80501
I have voted in every election since 1972. While my choices leaned toward the Democratic side, I have voted for Republican candidates if I thought they would do ab better job. I have been a member of the Longmont Area Democrats since 2016 and I have served as a Boulder County Precinct Leader (651) since that same year. I have mainly been involved in the Boulder County Democratic Party's GET OUT THE VOTE campaign in each of the last three elections. I have been able to recruit 5 neighbors to help me with this endeavor and this past election, I walked the streets alone because I did not want to expose my volunteers to possible COVID complications. I have been sending $10 a month to the BCDP since President Trump's election in 2016.
I volunteered as a youth baseball coach for 6 years (!992-98). I served on the Board of Directors for the St. Vrain Youth Soccer Association from 1996-2000. I was a proud member of the SVVEA (teacher union) and served as the school representative from 2000-2006. I was a member of the Colorado High School Coaches Association as well as of the Colorado Athletic Directors Association. I served on the City of Longmont's Golf Advisory Board from 2015 to 2018. I am a member of the Longmont Chorale (I like to sing). I worked with neighborhood groups to help with the flood recovery in 2013.
In my work as a teacher, athletic director, and coach, I always strived to make decisions and create atmospheres where students would find personal and team success. In these situations, the concerns of the students came first and all other considerations fell in place behind them. I was considered tough but fair with FAIR being the constant.
decided after retiring from teaching that I needed to put my money where my mouth is and commit to being the active citizen that I had encouraged my students to become. I feel I have had a positive influence on my neighborhood through my precinct leader duties. I am against gerrrymandering and don't believe districts should be designed to be 'safe' for either political party. I realize that Colorado has a unique population density predicament but I resented (for the first time) the redistricting in Colorado that occurred after the 2010 census. Both parties were 'guilty' of creating districts that would be safe for them (the 4th for Republicans and the 6th for Democrats). I would hope when geographically feasible, all of our districts would have fair competition for the seat at stake.
I know that people, when presented with an identical packet of facts, may interpret them in a widely diverse way. The more fair and impartial you are, the easier the path to consensus is. I have tried in my career to put the interests of the whole above those of the individual - and that takes compromise and the ability to listen.
I was always a good student and a decent writer. I have written over 10 op-ed pieces for the local newspaper on subjects ranging from supporting public schools to a variety of political issues and they have been well received. My ability to maintain a class that students looked forward to attending as well as my administrative experiences have taught me to see both sides of an issue. It has also taught me that when I feel strongly about a subject, I need to persuade and mentor and not run roughshod with my ideas -- it has taught me to listen before acting.
Male


{% extends "core/base.html" %} {% block top %}
BASIC RULES:
Find 2 or more friends and sit around a table with your device ready to be passed around. To start playing, you first will have to adjust the game settings.
Add the nicknames of the players
Define the number of points that are necessary to win
Initiate the game by pressing “Start”. In the beginning, one player is randomly assigned to be the judge of the other players memes. After that, the role of the judge will take turns accordingly.
The judge then looks through the photo cards and selects the one they want to judge for that round. They show it to everyone and confirm their choice.
When the first player is ready, he takes the device and confirms his presence. The player takes a few moments to decide which of the caption cards pairs funniest with the photo card and confirms his choice. This process is repeated for each player.
Once each player has submitted his captions, the judge gets an overview with all cards (which have been shuffled to anonymize them), reads them out one-by-one and selects the funniest caption card. Make sure the photo card is visible to everyone, because that way it’s funnier!
The player who played the funniest caption card wins that round and keeps the meme which consist of the photo and caption as a trophy!


The owner and contributors of this website are not research analysts.
This website is intended solely to share our opinions as Investors, and not to persuade anyone into making specific investments.
The owners and contributors are not responsible for any loss arising out of any information, post or opinion appearing on this website. Investors are advised to consult financial consultant before acting on any such information.
These opinions are only made available to give you information to make your own decisions.


Wraps a python function and uses it as a TensorFlow op.
tf.compat.v1.py_func( func, inp, Tout, stateful=True, name=None )
Given a python function func
, which takes numpy arrays as its
arguments and returns numpy arrays as its outputs, wrap this function as an
operation in a TensorFlow graph. The following snippet constructs a simple
TensorFlow graph that invokes the np.sinh()
NumPy function as a operation
in the graph:
def my_func(x): # x will be a numpy array with the contents of the placeholder below return np.sinh(x) input = tf.compat.v1.placeholder(tf.float32) y = tf.compat.v1.py_func(my_func, [input], tf.float32)
N.B. The tf.compat.v1.py_func()
operation has the following known
limitations:
The body of the function (i.e. func
) will not be serialized in a
GraphDef
. Therefore, you should not use this function if you need to
serialize your model and restore it in a different environment.
The operation must run in the same address space as the Python program
that calls tf.compat.v1.py_func()
. If you are using distributed
TensorFlow, you
must run a tf.distribute.Server
in the same process as the program that
calls
tf.compat.v1.py_func()
and you must pin the created operation to a device
in that
server (e.g. using with tf.device():
).
func
: A Python function, which accepts ndarray
objects as arguments and
returns a list of ndarray
objects (or a single ndarray
). This function
must accept as many arguments as there are tensors in inp
, and these
argument types will match the corresponding tf.Tensor
objects in inp
.
The returns ndarray
s must match the number and types defined Tout
.
Important Note: Input and output numpy ndarray
s of func
are not
guaranteed to be copies. In some cases their underlying memory will be
shared with the corresponding TensorFlow tensors. In-place modification
or storing func
input or return values in python datastructures
without explicit (np.)copy can have non-deterministic consequences.inp
: A list of Tensor
objects.Tout
: A list or tuple of tensorflow data types or a single tensorflow data
type if there is only one, indicating what func
returns.stateful
: (Boolean.) If True, the function should be considered stateful. If
a function is stateless, when given the same input it will return the same
output and have no observable side effects. Optimizations such as common
subexpression elimination are only performed on stateless operations.name
: A name for the operation (optional).A list of Tensor
or a single Tensor
which func
computes.


OnDemand Users - Please read this important announcement!
MetaCarta_Query_Parser
The Query Parser offers output in 3 formats:
- JSON -- The most fully featured format, the JSON format includes all the available information about the locations.
- KML -- A more lightweight format, but suitable for use in applications which use KML.
- PNG -- An image output format, which will return an image with the locations returned displayed on the image.
The purpose of the Query Parser API is to take a short string, such as the one which might be entered in a search box, and seperate it into a query string and a geographic location. This information is then returned, with information about the location, the confidence that the location is correct geographically, and the remaining text from the query, suitable for submission to the Search API.
To form a request URL:
- Start with http://ondemand.metacarta.com/webservices/QueryParser/
- Append the format, one of JSON, KML, or PNG: http://ondemand.metacarta.com/webservices/QueryParser/JSON
- Choose an authentication method: one of session or basic: http://ondemand.metacarta.com/webservices/QueryParser/JSON/basic
- Append the appropriate parameters to the request, as described below.
Examples of Usage
Request Parameters
- version:
- Required
default value: input other than the allowed value raises an error message
allowed values: 1.0.0
usage: The requestor must specify the API version they wish to use. The API requires a valid version parameter. - query:
- Required
default value: ''
allowed values: string
usage: The query string is the input for which a QueryParser search is initiated. - bbox:
- Optional
default value: -180,-90,180,90
allowed values: a comma separated string of minlon,minlat,maxlon,maxlat
usage: Defines the query's geographic extent. If no locations are found in the bounding box, but one is found outside the bounding box, a warning will be issued, but the query will succeed. - width:
- Optional
default value: 512
allowed values: positive integer
usage: Determines the width of the image returned by the PNG QueryParser output. - height:
- Optional
default value: 383
allowed values: positive integer
usage: Determines the height of the image returned by the PNG QueryParser output.


HarvardClass
my.harvard.edu
Canvas
About
ERROR
OOPS! We could not find the page you were looking for.
Click here go to the home page
2015 jbm
Status: 404


A book I made as the final project for Communication Design Fundamentals in the spring of 2016. I love city guides but I wanted to make one that had a personal touch since I grew up in New York. I used my own photography and found interesting quotes that to me accurately embodies the spirit of nyc.


WITNESS LIST Urban Affairs Committee April 10, 2003-8:00A HB 2295 For: Nelson, Paul R. (City of Houston) HB 2345 Committee Substitute (CSHB 2345) For: Hargrave, Harry (Self) Against: Guernsey, Greg (Self and City of Austin) HB 2466 For: McGraw, Alan (Self) HB 2473 For: McGlaughlin, Judith (Mayde Creek Community Acting Together, Inc. (MCCAT)) Walker, May (Self and Hiram Clark Civic Club) Weeks, LaDawn (Non-Profit Corp. Representing (MC-CAT) Mayde Creek Community Acting Together) Against: Garvin, John (Texas Affiliation of Affordable Housing Providers) On: Fairfield, Stephan (Self and Houston Association of Community Development Corporations) Kasparek, Monica (Texas Bond Review Board) Ocanas, Reymundo (Self and TX Assoc of CDCs) HB 2617 Amendment (Hunter/Amend. #1) For: Agamalian, Brandon (City of Fort Worth) Against: Fairfield, Stephan (Self and Houston Association of Community Development Corporations) Garvin, John (Texas Affiliation of Affordable Housing Providers) Ocanas, Reymundo (Self and TX Assoc of CDCs) Parker, Robert (Self) HB 2720 Committee Substitute (CSHB 2720) For: Henneberger, John (Texas Low Income Housing Information Service) Ocanas, Reymundo (Self and TX Association of CDCs) Against: Agamalian, Brandon (City of Fort Worth) On: Way, Heather K. (Texas Community Building with Attorney Resources) HB 2801 Committee Substitute (CSHB 2801) For: Dykman, Douglas (City of Dallas, Texas Housing Department) Fairfield, Stephan (Self and Houston Assn of CDCs) Henneberger, John (Texas Low Income Housing Information Service) Henry, Norman (Builders of Hope CDC) Loza, John (Dallas City Council Housing & Neighborhood Development Committee) Ocanas, Reymundo (Self and TX Association of CDCs) Roberts, Sherman (City of Dallas) Williams, J. McDonald (Dallas Mayor's Task Force on Affordable Workforce Housing)


U.S. Commerce Dept finds Chinese exporters dumped ceramic tile
WASHINGTON (Reuters) - The U.S. Commerce Department said on Thursday it made a preliminary determination that Chinese exporters had dumped ceramic tile in the U.S. market at less than fair value.
In a statement, the department said it imposed duties ranging from 114.49% to 356.02%. The department is scheduled to announce its final determination by March 23, 2020. Imports of ceramic tile from China were valued at an estimated $481.3 million in 2018, it said.
The Commerce Department said it would impose a preliminary anti-dumping duty of 114.49% on Belite Ceramics (Anyang) Co. Ltd; 114.49% on Foshan Sanfi Import & Export Co. Ltd.; and 178.20% or 356.02% on other Chinese exporters.
Glazed ceramic floor and wall tiles from China, which are popular items at major U.S. home-supply chains, including Home Depot, Lowe’s and Floor & Decor, are currently subject to a 25% tariff as part of the U.S. Trade Representative’s “Section 301” penalties on China.
In September, the Commerce Department found that imports of ceramic tile from China are unfairly subsidized and it imposed preliminary duties ranging from about 104% to 222%.
The agency opened its anti-subsidy and anti-dumping investigation of Chinese tile imports in May after receiving a petition from a coalition of eight U.S. tile producers claiming injury.


Download the project and get started building
The starter kit is a starting point for building AngularJS applications which consume content from Contentful built on Bootstrap 4, Gulp, Bower & some of my other preferred tools.
Please consult the repositories readme file for documentation & support.
{{productLine.fields.descriptionShort}}
{{ article.fields.shortBody }}


In a non ordinal axis, the true linear nature of the axis is preserved, so weekends will appear as longer intervals than nights.


Active Record Validations and Callbacks
This guide teaches you how to work with the lifecycle of your Active Record objects. More precisely, you will learn how to validate the state of your objects before they go into the database and also how to teach them to perform custom operations at certain points of their lifecycles.
After reading this guide and trying out the presented concepts, we hope that you'll be able to:
-
Correctly use all the built-in Active Record validation helpers
-
Create your own custom validation methods
-
Work with the error messages generated by the validation process
-
Register callback methods that will execute custom operations during your objects lifecycle, for example before/after they are saved.
-
Create special classes that encapsulate common behaviour for your callbacks
-
Create Observers - classes with callback methods specific for each of your models, keeping the callback code outside your models' declarations.
1. Motivations to validate your Active Record objects
The main reason for validating your objects before they get into the database is to ensure that only valid data is recorded. It's important to be sure that an email address column only contains valid email addresses, or that the customer's name column will never be empty. Constraints like that keep your database organized and helps your application to work properly.
There are several ways to validate the data that goes to the database, like using database native constraints, implementing validations only at the client side or implementing them directly into your models. Each one has pros and cons:
-
Using database constraints and/or stored procedures makes the validation mechanisms database-dependent and may turn your application into a hard to test and mantain beast. However, if your database is used by other applications, it may be a good idea to use some constraints also at the database level.
-
Implementing validations only at the client side can be problematic, specially with web-based applications. Usually this kind of validation is done using javascript, which may be turned off in the user's browser, leading to invalid data getting inside your database. However, if combined with server side validation, client side validation may be useful, since the user can have a faster feedback from the application when trying to save invalid data.
-
Using validation directly into your Active Record classes ensures that only valid data gets recorded, while still keeping the validation code in the right place, avoiding breaking the MVC pattern. Since the validation happens on the server side, the user cannot disable it, so it's also safer. It may be a hard and tedious work to implement some of the logic involved in your models' validations, but fear not: Active Record gives you the hability to easily create validations, using several built-in helpers while still allowing you to create your own validation methods.
2. How it works
2.1. When does validation happens?
There are two kinds of Active Record objects: those that correspond to a row inside your database and those who do not. When you create a fresh object, using the new method, that object does not belong to the database yet. Once you call save upon that object it'll be recorded to it's table. Active Record uses the new_record? instance method to discover if an object is already in the database or not. Consider the following simple and very creative Active Record class:
class Person < ActiveRecord::Base end
We can see how it works by looking at the following script/console output:
>> p = Person.new(:name => "John Doe", :birthdate => Date.parse("09/03/1979")) => #<Person id: nil, name: "John Doe", birthdate: "1979-09-03", created_at: nil, updated_at: nil> >> p.new_record? => true >> p.save => true >> p.new_record? => false
Saving new records means sending an SQL insert operation to the database, while saving existing records (by calling either save or update_attributes) will result in a SQL update operation. Active Record will use these facts to perform validations upon your objects, avoiding then to be recorded to the database if their inner state is invalid in some way. You can specify validations that will be beformed every time a object is saved, just when you're creating a new record or when you're updating an existing one.
| There are four methods that when called will trigger validation: save, save!, update_attributes and update_attributes!. There is one method left, which is update_attribute. This method will update the value of an attribute without triggering any validation, so be careful when using update_attribute, since it can let you save your objects in an invalid state. |
2.2. The meaning of valid
For verifying if an object is valid, Active Record uses the valid? method, which basically looks inside the object to see if it has any validation errors. These errors live in a collection that can be accessed through the errors instance method. The proccess is really simple: If the errors method returns an empty collection, the object is valid and can be saved. Each time a validation fails, an error message is added to the errors collection.
3. The declarative validation helpers
Active Record offers many pre-defined validation helpers that you can use directly inside your class definitions. These helpers create validations rules that are commonly used in most of the applications that you'll write, so you don't need to recreate it everytime, avoiding code duplication, keeping everything organized and boosting your productivity. Everytime a validation fails, an error message is added to the object's errors collection, this message being associated with the field being validated.
Each helper accepts an arbitrary number of attributes, received as symbols, so with a single line of code you can add the same kind of validation to several attributes.
All these helpers accept the :on and :message options, which define when the validation should be applied and what message should be added to the errors collection when it fails, respectively. The :on option takes one the values :save (it's the default), :create or :update. There is a default error message for each one of the validation helpers. These messages are used when the :message option isn't used. Let's take a look at each one of the available helpers, listed in alphabetic order.
3.1. The validates_acceptance_of helper
Validates that a checkbox has been checked for agreement purposes. It's normally used when the user needs to agree with your application's terms of service, confirm reading some clauses or any similar concept. This validation is very specific to web applications and actually this acceptance does not need to be recorded anywhere in your database (if you don't have a field for it, the helper will just create a virtual attribute).
class Person < ActiveRecord::Base validates_acceptance_of :terms_of_service end
The default error message for validates_acceptance_of is "must be accepted"
validates_acceptance_of can receive an :accept option, which determines the value that will be considered acceptance. It defaults to "1", but you can change it.
class Person < ActiveRecord::Base validates_acceptance_of :terms_of_service, :accept => 'yes' end
3.2. The validates_associated helper
You should use this helper when your model has associations with other models and they also need to be validated. When you try to save your object, valid? will be called upon each one of the associated objects.
class Library < ActiveRecord::Base has_many :books validates_associated :books end
This validation will work with all the association types.
| Pay attention not to use validates_associated on both ends of your associations, because this will lead to several recursive calls and blow up the method calls' stack. |
The default error message for validates_associated is "is invalid". Note that the errors for each failed validation in the associated objects will be set there and not in this model.
3.3. The validates_confirmation_of helper
You should use this helper when you have two text fields that should receive exactly the same content, like when you want to confirm an email address or password. This validation creates a virtual attribute, using the name of the field that has to be confirmed with _confirmation appended.
class Person < ActiveRecord::Base validates_confirmation_of :email end
In your view template you could use something like
<%= text_field :person, :email %> <%= text_field :person, :email_confirmation %>
| This check is performed only if email_confirmation is not nil, and by default only on save. To require confirmation, make sure to add a presence check for the confirmation attribute (we'll take a look at validates_presence_of later on this guide): |
class Person < ActiveRecord::Base validates_confirmation_of :email validates_presence_of :email_confirmation end
The default error message for validates_confirmation_of is "doesn't match confirmation"
3.4. The validates_each helper
This helper validates attributes against a block. It doesn't have a predefined validation function. You should create one using a block, and every attribute passed to validates_each will be tested against it. In the following example, we don't want names and surnames to begin with lower case.
class Person < ActiveRecord::Base validates_each :name, :surname do |model, attr, value| model.errors.add(attr, 'Must start with upper case') if value =~ /^[a-z]/ end end
The block receives the model, the attribute's name and the attribute's value. If your validation fails, you can add an error message to the model, therefore making it invalid.
3.5. The validates_exclusion_of helper
This helper validates that the attributes' values are not included in a given set. In fact, this set can be any enumerable object.
class MovieFile < ActiveRecord::Base validates_exclusion_of :format, :in => %w(mov avi), :message => "Extension %s is not allowed" end
The validates_exclusion_of helper has an option :in that receives the set of values that will not be accepted for the validated attributes. The :in option has an alias called :within that you can use for the same purpose, if you'd like to. In the previous example we used the :message option to show how we can personalize it with the current attribute's value, through the %s format mask.
The default error message for validates_exclusion_of is "is not included in the list".
3.6. The validates_format_of helper
This helper validates the attributes's values by testing if they match a given pattern. This pattern must be specified using a Ruby regular expression, which must be passed through the :with option.
class Product < ActiveRecord::Base validates_format_of :description, :with => /^[a-zA-Z]+$/, :message => "Only letters allowed" end
The default error message for validates_format_of is "is invalid".
3.7. The validates_inclusion_of helper
This helper validates that the attributes' values are included in a given set. In fact, this set can be any enumerable object.
class Coffee < ActiveRecord::Base validates_inclusion_of :size, :in => %w(small medium large), :message => "%s is not a valid size" end
The validates_inclusion_of helper has an option :in that receives the set of values that will be accepted. The :in option has an alias called :within that you can use for the same purpose, if you'd like to. In the previous example we used the :message option to show how we can personalize it with the current attribute's value, through the %s format mask.
The default error message for validates_inclusion_of is "is not included in the list".
3.8. The validates_length_of helper
This helper validates the length of your attribute's value. It can receive a variety of different options, so you can specify length contraints in different ways.
class Person < ActiveRecord::Base validates_length_of :name, :minimum => 2 validates_length_of :bio, :maximum => 500 validates_length_of :password, :in => 6..20 validates_length_of :registration_number, :is => 6 end
The possible length constraint options are:
-
:minimum - The attribute cannot have less than the specified length.
-
:maximum - The attribute cannot have more than the specified length.
-
:in (or :within) - The attribute length must be included in a given interval. The value for this option must be a Ruby range.
-
:is - The attribute length must be equal to a given value.
The default error messages depend on the type of length validation being performed. You can personalize these messages, using the :wrong_length, :too_long and :too_short options and the %d format mask as a placeholder for the number corresponding to the length contraint being used. You can still use the :message option to specify an error message.
class Person < ActiveRecord::Base validates_length_of :bio, :too_long => "you're writing too much. %d characters is the maximum allowed." end
This helper has an alias called validates_size_of, it's the same helper with a different name. You can use it if you'd like to.
3.9. The validates_numericality_of helper
This helper validates that your attributes have only numeric values. By default, it will match an optional sign followed by a integral or floating point number. Using the :integer_only option set to true, you can specify that only integral numbers are allowed.
If you use :integer_only set to true, then it will use the /\A[+\-]?\d+\Z/ regular expression to validate the attribute's value. Otherwise, it will try to convert the value using Kernel.Float.
class Player < ActiveRecord::Base validates_numericality_of :points validates_numericality_of :games_played, :integer_only => true end
The default error message for validates_numericality_of is "is not a number".
3.10. The validates_presence_of helper
This helper validates that the attributes are not empty. It uses the blank? method to check if the value is either nil or an empty string (if the string has only spaces, it will still be considered empty).
class Person < ActiveRecord::Base validates_presence_of :name, :login, :email end
| If you want to be sure that an association is present, you'll need to test if the foreign key used to map the association is present, and not the associated object itself. |
class LineItem < ActiveRecord::Base belongs_to :order validates_presence_of :order_id end
| If you want to validate the presence of a boolean field (where the real values are true and false), you will want to use validates_inclusion_of :field_name, :in ⇒ [true, false] This is due to the way Object#blank? handles boolean values. false.blank? # ⇒ true |
The default error message for validates_presence_of is "can't be empty".
3.11. The validates_uniqueness_of helper
This helper validates that the attribute's value is unique right before the object gets saved. It does not create a uniqueness constraint directly into your database, so it may happen that two different database connections create two records with the same value for a column that you wish were unique. To avoid that, you must create an unique index in your database.
class Account < ActiveRecord::Base validates_uniqueness_of :email end
The validation happens by performing a SQL query into the model's table, searching for a record where the attribute that must be validated is equal to the value in the object being validated.
There is a :scope option that you can use to specify other attributes that must be used to define uniqueness:
class Holiday < ActiveRecord::Base validates_uniqueness_of :name, :scope => :year, :message => "Should happen once per year" end
There is also a :case_sensitive option that you can use to define if the uniqueness contraint will be case sensitive or not. This option defaults to true.
class Person < ActiveRecord::Base validates_uniqueness_of :name, :case_sensitive => false end
The default error message for validates_uniqueness_of is "has already been taken".
4. Common validation options
There are some common options that all the validation helpers can use. Here they are, except for the :if and :unless options, which we'll cover right at the next topic.
4.1. The :allow_nil option
You may use the :allow_nil option everytime you want to trigger a validation only if the value being validated is not nil. You may be asking yourself if it makes any sense to use :allow_nil and validates_presence_of together. Well, it does. Remember, validation will be skipped only for nil attributes, but empty strings are not considered nil.
class Coffee < ActiveRecord::Base validates_inclusion_of :size, :in => %w(small medium large), :message => "%s is not a valid size", :allow_nil => true end
4.2. The :message option
As stated before, the :message option lets you specify the message that will be added to the errors collection when validation fails. When this option is not used, Active Record will use the respective default error message for each validation helper.
4.3. The :on option
As stated before, the :on option lets you specify when the validation should happen. The default behaviour for all the built-in validation helpers is to be ran on save (both when you're creating a new record and when you're updating it). If you want to change it, you can use :on => :create to run the validation only when a new record is created or :on => :update to run the validation only when a record is updated.
class Person < ActiveRecord::Base # => it will be possible to update email with a duplicated value validates_uniqueness_of :email, :on => :create # => it will be possible to create the record with a 'non-numerical age' validates_numericality_of :age, :on => :update # => the default validates_presence_of :name, :on => :save end
5. Conditional validation
Sometimes it will make sense to validate an object just when a given predicate is satisfied. You can do that by using the :if and :unless options, which can take a symbol, a string or a Ruby Proc. You may use the :if option when you want to specify when the validation should happen. If you want to specify when the validation should not happen, then you may use the :unless option.
5.1. Using a symbol with the :if and :unless options
You can associated the :if and :unless options with a symbol corresponding to the name of a method that will get called right before validation happens. This is the most commonly used option.
class Order < ActiveRecord::Base validates_presence_of :card_number, :if => :paid_with_card? def paid_with_card? payment_type == "card" end end
5.2. Using a string with the :if and :unless options
You can also use a string that will be evaluated using :eval and needs to contain valid Ruby code. You should use this option only when the string represents a really short condition.
class Person < ActiveRecord::Base validates_presence_of :surname, :if => "name.nil?" end
5.3. Using a Proc object with the :if and :unless options
Finally, it's possible to associate :if and :unless with a Ruby Proc object which will be called. Using a Proc object can give you the hability to write a condition that will be executed only when the validation happens and not when your code is loaded by the Ruby interpreter. This option is best suited when writing short validation methods, usually one-liners.
class Account < ActiveRecord::Base validates_confirmation_of :password, :unless => Proc.new { |a| a.password.blank? } end
6. Writing your own validation methods
When the built-in validation helpers are not enough for your needs, you can write your own validation methods, by implementing one or more of the validate, validate_on_create or validate_on_update methods. As the names of the methods states, the right method to implement depends on when you want the validations to be ran. The meaning of valid is still the same: to make an object invalid you just need to add a message to it's errors collection.
class Invoice < ActiveRecord::Base def validate_on_create errors.add(:expiration_date, "can't be in the past") if !expiration_date.blank? and expiration_date < Date.today end end
If your validation rules are too complicated and you want to break them in small methods, you can implement all of them and call one of validate, validate_on_create or validate_on_update methods, passing it the symbols for the methods' names.
class Invoice < ActiveRecord::Base validate :expiration_date_cannot_be_in_the_past, :discount_cannot_be_more_than_total_value def expiration_date_cannot_be_in_the_past errors.add(:expiration_date, "can't be in the past") if !expiration_date.blank? and expiration_date < Date.today end def discount_cannot_be_greater_than_total_value errors.add(:discount, "can't be greater than total value") unless discount <= total_value end end
7. Using the errors collection
You can do more than just call valid? upon your objects based on the existance of the errors collection. Here is a list of the other available methods that you can use to manipulate errors or ask for an object's state.
-
add_to_base lets you add errors messages that are related to the object's state as a whole, instead of being related to a specific attribute. You can use this method when you want to say that the object is invalid, no matter the values of it's attributes. add_to_base receives a string with the message.
class Person < ActiveRecord::Base def a_method_used_for_validation_purposes errors.add_to_base("This person is invalid because ...") end end
-
add lets you manually add messages that are related to particular attributes. When writing those messages, keep in mind that Rails will prepend them with the name of the attribute that holds the error, so write it in a way that makes sense. add receives a symbol with the name of the attribute that you want to add the message to and the message itself.
class Person < ActiveRecord::Base def a_method_used_for_validation_purposes errors.add(:name, "can't have the characters !@#$%*()_-+=") end end
-
invalid? is used when you want to check if a particular attribute is invalid. It receives a symbol with the name of the attribute that you want to check.
class Person < ActiveRecord::Base validates_presence_of :name, :email end person = Person.new(:name => "John Doe") person.invalid?(:email) # => true
-
on is used when you want to check the error messages for a specific attribute. It will return different kinds of objects depending on the state of the errors collection for the given attribute. If there are no errors related to the attribute, on will return nil. If there is just one errors message for this attribute, on will return a string with the message. When errors holds two or more error messages for the attribute, on will return an array of strings, each one with one error message.
class Person < ActiveRecord::Base validates_presence_of :name validates_length_of :name, :minimum => 3 end person = Person.new(:name => "John Doe") person.valid? # => true person.errors.on(:name) # => nil person = Person.new(:name => "JD") person.valid? # => false person.errors.on(:name) # => "is too short (minimum is 3 characters)" person = Person.new person.valid? # => false person.errors.on(:name) # => ["can't be blank", "is too short (minimum is 3 characters)"]
-
clear is used when you intentionally want to clear all the messages in the errors collection. However, calling errors.clear upon an invalid object won't make it valid: the errors collection will now be empty, but the next time you call valid? or any method that tries to save this object to the database, the validations will run. If any of them fails, the errors collection will get filled again.
class Person < ActiveRecord::Base validates_presence_of :name validates_length_of :name, :minimum => 3 end person = Person.new person.valid? # => false person.errors.on(:name) # => ["can't be blank", "is too short (minimum is 3 characters)"] person.errors.clear person.errors.empty? # => true p.save # => false p.errors.on(:name) # => ["can't be blank", "is too short (minimum is 3 characters)"]
8. Callbacks
Callbacks are methods that get called at certain moments of an object's lifecycle. With callbacks it's possible to write code that will run whenever an Active Record object is created, saved, updated, deleted or loaded from the database.
8.1. Callbacks registration
In order to use the available callbacks, you need to registrate them. There are two ways of doing that.
8.2. Registering callbacks by overriding the callback methods
You can specify the callback method directly, by overriding it. Let's see how it works using the before_validation callback, which will surprisingly run right before any validation is done.
class User < ActiveRecord::Base validates_presence_of :login, :email protected def before_validation if self.login.nil? self.login = email unless email.blank? end end end
8.3. Registering callbacks by using macro-style class methods
The other way you can register a callback method is by implementing it as an ordinary method, and then using a macro-style class method to register it as a callback. The last example could be written like that:
class User < ActiveRecord::Base validates_presence_of :login, :email before_validation :ensure_login_has_a_value protected def ensure_login_has_a_value if self.login.nil? self.login = email unless email.blank? end end end
The macro-style class methods can also receive a block. Rails best practices say that you should only use this style of registration if the code inside your block is so short that it fits in just one line.
class User < ActiveRecord::Base validates_presence_of :login, :email before_create {|user| user.name = user.login.capitalize if user.name.blank?} end
In Rails, the preferred way of registering callbacks is by using macro-style class methods. The main advantages of using macro-style class methods are:
-
You can add more than one method for each type of callback. Those methods will be queued for execution at the same order they were registered.
-
Readability, since your callback declarations will live at the beggining of your models' files.
| Remember to always declare the callback methods as being protected or private. These methods should never be public, otherwise it will be possible to call them from code outside the model, violating object encapsulation and exposing implementation details. |
9. Available callbacks
Here is a list with all the available Active Record callbacks, listed in the same order in which they will get called during the respective operations.
9.1. Callbacks called both when creating or updating a record.
-
before_validation
-
after_validation
-
before_save
-
INSERT OR UPDATE OPERATION
-
after_save
9.2. Callbacks called only when creating a new record.
-
before_validation_on_create
-
after_validation_on_create
-
before_create
-
INSERT OPERATION
-
after_create
9.3. Callbacks called only when updating an existing record.
-
before_validation_on_update
-
after_validation_on_update
-
before_update
-
UPDATE OPERATION
-
after_update
9.4. Callbacks called when removing a record from the database.
-
before_destroy
-
DELETE OPERATION
-
after_destroy
The before_destroy and after_destroy callbacks will only be called if you delete the model using either the destroy instance method or one of the destroy or destroy_all class methods of your Active Record class. If you use delete or delete_all no callback operations will run, since Active Record will not instantiate any objects, accessing the records to be deleted directly in the database.
9.5. The after_initialize and after_find callbacks
The after_initialize callback will be called whenever an Active Record object is instantiated, either by direcly using new or when a record is loaded from the database. It can be useful to avoid the need to directly override your Active Record initialize method.
The after_find callback will be called whenever Active Record loads a record from the database. When used together with after_initialize it will run first, since Active Record will first read the record from the database and them create the model object that will hold it.
The after_initialize and after_find callbacks are a bit different from the others, since the only way to register those callbacks is by defining them as methods. If you try to register after_initialize or after_find using macro-style class methods, they will just be ignored. This behaviour is due to performance reasons, since after_initialize and after_find will both be called for each record found in the database, significantly slowing down the queries.
10. Halting Execution
As you start registering new callbacks for your models, they will be queued for execution. This queue will include all your model's validations, the registered callbacks and the database operation to be executed. However, if at any moment one of the before_create, before_save, before_update or before_destroy callback methods returns a boolean false (not nil) value, this execution chain will be halted and the desired operation will not complete: your model will not get persisted in the database, or your records will not get deleted and so on.
11. Callback classes
Sometimes the callback methods that you'll write will be useful enough to be reused at other models. Active Record makes it possible to create classes that encapsulate the callback methods, so it becomes very easy to reuse them.
Here's an example where we create a class with a after_destroy callback for a PictureFile model.
class PictureFileCallbacks def after_destroy(picture_file) File.delete(picture_file.filepath) if File.exists?(picture_file.filepath) end end
When declared inside a class the callback method will receive the model object as a parameter. We can now use it this way:
class PictureFile < ActiveRecord::Base after_destroy PictureFileCallbacks.new end
Note that we needed to instantiate a new PictureFileCallbacks object, since we declared our callback as an instance method. Sometimes it will make more sense to have it as a class method.
class PictureFileCallbacks def self.after_destroy(picture_file) File.delete(picture_file.filepath) if File.exists?(picture_file.filepath) end end
If the callback method is declared this way, it won't be necessary to instantiate a PictureFileCallbacks object.
class PictureFile < ActiveRecord::Base after_destroy PictureFileCallbacks end
You can declare as many callbacks as you want inside your callback classes.
12. Observers
Active Record callbacks are a powerful feature, but they can pollute your model implementation with code that's not directly related to the model's purpose. In object-oriented software, it's always a good idea to design your classes with a single responsability in the whole system. For example, it wouldn't make much sense to have a User model with a method that writes data about a login attempt to a log file. Whenever you're using callbacks to write code that's not directly related to your model class purposes, it may be a good moment to create an Observer.
An Active Record Observer is an object that links itself to a model and register it's methods for callbacks. Your model's implementation remain clean, while you can reuse the code in the Observer to add behaviuor to more than one model class. Ok, you may say that we can also do that using callback classes, but it would still force us to add code to our model's implementation.
Observer classes are subclasses of the ActiveRecord::Observer class. When this class is subclassed, Active Record will look at the name of the new class and then strip the Observer part to find the name of the Active Record class to observe.
Consider a Registration model, where we want to send an email everytime a new registration is created. Since sending emails is not directly related to our model's purpose, we could create an Observer to do just that:
class RegistrationObserver < ActiveRecord::Observer def after_create(model) # code to send registration confirmation emails... end end
Like in callback classes, the observer's methods receive the observed model as a parameter.
Sometimes using the ModelName + Observer naming convention won't be the best choice, mainly when you want to use the same observer for more than one model class. It's possible to explicity specify the models that our observer should observe.
class Auditor < ActiveRecord::Observer observe User, Registration, Invoice end
12.1. Registering observers
If you payed attention, you may be wondering where Active Record Observers are referenced in our applications, so they get instantiate and begin to interact with our models. For observers to work we need to register them somewhere. The usual place to do that is in our application's config/environment.rb file. In this file there is a commented out line where we can define the observers that our application should load at start-up.
# Activate observers that should always be running config.active_record.observers = :registration_observer, :auditor
You can uncomment the line with config.active_record.observers and change the symbols for the name of the observers that should be registered.
It's also possible to register callbacks in any of the files living at config/environments/, if you want an observer to work only in a specific environment. There is not a config.active_record.observers line at any of those files, but you can simply add it.
12.2. Where to put the observers' source files
By convention, you should always save your observers' source files inside app/models.


Toggle navigation
World Auto Forum
Home
Sign In
Contact
Profile
Action
Another action
Something else here
Nav header
Separated link
One more separated link
Tell The Supplier What You Want
Please fill all the texts in the fields.
Product Name :
Discription :
Quantity :
Your Information
Contact Name
Email ID :
Country :
Select Your Country
Afghanistan
Albania
Algeria
Andorra
Angola
Antigua and Barbuda
Argentina
Armenia
Aruba
Australia
Austria
Azerbaijan
Bahamas
Bahrain
Bangladesh
Barbados
Belarus
Belgium
Bermuda
Bhutan
Bolivia
Bosnia and Herzegovina
Botswana
Brazil
Bulgaria
Burkina Faso
Cambodia
Cameroon
Canada
Cape Verde
Cayman Islands
Central African Republic
Chile
China
Colombia
Comoros
Democratic Republic of the Congo
Congo, Republic of (Brazzaville)
Costa Rica
Ivory Coast
Croatia
Cuba
Cyprus
Czech Republic
Denmark
Djibouti
Dominica
Dominican Republic
East Timor
Ecuador
Egypt
El Salvador
Equatorial Guinea
Eritrea
Estonia
Ethiopia
Fiji
Finland
France
French Guiana
French Polynesia
French Southern Territories
Gabon
Gambia
Georgia
Germany
Ghana
Great Britain
Greece
Greenland
Grenada
Guatemala
Guinea
Guinea-Bissau
Guyana
Haiti
Holy See
Honduras
Hong Kong
Hungary
Iceland
India
Indonesia
Iran
Iraq
Ireland
Israel
Italy
Jamaica
Japan
Jordan
Kazakhstan
Kenya
Kiribati
Korea, Democratic People's Rep. (North Korea)
Korea, Republic of (South Korea)
Kosovo
Kuwait
Kyrgyzstan
Lao, People's Democratic Republic
Latvia
Lebanon
Lesotho
Liberia
Libya
Liechtenstein
Lithuania
Luxembourg
Macau
Macedonia
Madagascar
Malawi
Malaysia
Maldives
Mali
Malta
Marshall Islands
Martinique
Mauritania
Mauritius
Mayotte
Mexico
Moldova
Monaco
Mongolia
Montenegro
Montserrat
Morocco
Mozambique
Myanmar
Namibia
Nauru
Nepal
Netherlands
Netherlands Antilles
New Caledonia
New Caledonia
Nicaragua
Niger
Nigeria
Niue
Northern Mariana Islands
Norway
Oman
Pakistan
Palau
Palestinian territories
Panama
Papua New Guinea
Paraguay
Peru
Philippines
Pitcairn Island
Poland
Portugal
Puerto Rico
Qatar
Reunion Island
Romania
Russian Federation
Rwanda
Saint Kitts and Nevis
Saint Lucia
Saint Vincent and the Grenadines
Samoa
San Marino
Sao Tome and Principe
Saudi Arabia
Singapore
Serbia
Slovakia
Slovenia
Somalia
South Africa
South Sudan
Spain
Sri Lanka
Sudan
Swaziland
Sweden
Switzerland
Syria
Taiwan
Tajikistan
Tanzania
Thailand
Tibet
Timor-Leste
Togo
Tonga
Trinidad and Tobago
Tunisia
Turkey
Turkmenistan
Turks and Caicos Islands
Tuvalu
Uganda
Ukraine
United Arab Emirates
United States
Uruguay
Uzbekistan
Vanuatu
Vatican City State
Venezuela
Vietnam
Virgin Islands
Virgin Islands (U.S.)
Wallis and Futuna Islands
Western Sahara
Yemen
Zambia
Zimbabwe


This has been my trusty laptop the past year. The keyboard has been refurnished and dusted.
Asset creation date: 2014-05-09
This has been used as a programmer's laptop for half a year. There is no noticable damage.
Asset creation date: 2014-11-03
This laptop is still going strong! The hard drive just got replaced.
Asset creation date: 2013-08-05


{% extends "base_generic.html" %} {% block title %}
Please correct the error below.
Please correct the errors below.
Please enter your old password, for security’s reasons, and then enter your new password twice so we can verify you typed it in correctly.


Font size
With billions of Android devices around the world, Android has surpassed our wildest expectations. Today at Google I/O, we showcased a number of ways we’re pushing Android forward, with the O Release, new tools for developers to help create more performant apps, and an early preview of a project we call Android Go -- a new experience that we’re building for entry-level devices.