SMCallApplicationDelegate Protocol Reference
| Conforms to | NSObject |
|---|---|
| Declared in | SMCallApplicationDelegate.h |
– incomingCall:
required method
This method is invoked when there is an IncomingCall Used for informing the application about new call.
- (void)incomingCall:(id<SMIncomingCallDelegate>)call
Parameters
call |
reference of incoming call |
|---|
Availability
2.0.0
Discussion
This method is invoked when there is an IncomingCall Used for informing the application about new call.
Declared In
SMCallApplicationDelegate.h
– callStatusChanged:withState:
required method
This is the call back method for any call state change on the CallDelegate.
- (void)callStatusChanged:(id<SMCallDelegate>)call withState:(SMCallState *)callState
Parameters
call |
which of state changed @param callState |
|---|
Availability
2.0.0
Discussion
This is the call back method for any call state change on the CallDelegate.
Declared In
SMCallApplicationDelegate.h
– callAdditionalInfoChanged:withDictionary:
required method
This method is invoked when a detailed call information is available that can be used on statistics
- (void)callAdditionalInfoChanged:(id<SMCallDelegate>)call withDictionary:(NSDictionary *)detailedInfo
Parameters
call |
related call |
|---|---|
detailedInfo |
additional info dictionary |
Availability
4.4.0
Discussion
This method is invoked when a detailed call information is available that can be used on statistics
Declared In
SMCallApplicationDelegate.h
– mediaAttributesChanged:withMediaAttributes:
required method
This is the call back method for any call’s media attributes change on the CallDelegate.
- (void)mediaAttributesChanged:(id<SMCallDelegate>)call withMediaAttributes:(SMMediaAttributes *)mediaAttributes
Parameters
call |
which of media attributes changed @param mediaAttributes |
|---|
Availability
2.0.0 @modified 4.0.1
Discussion
This is the call back method for any call’s media attributes change on the CallDelegate.
Declared In
SMCallApplicationDelegate.h
– establishCallSucceeded:
required method
This method is invoked when establishCall has succeeded.
- (void)establishCallSucceeded:(id<SMOutgoingCallDelegate>)call
Parameters
call |
performed establishment successfully |
|---|
Availability
2.0.0
Discussion
This method is invoked when establishCall has succeeded.
Declared In
SMCallApplicationDelegate.h
– establishCallFailed:withError:
required method
This method is invoked when establishCall has failed.
- (void)establishCallFailed:(id<SMOutgoingCallDelegate>)call withError:(SMMobileError *)error
Parameters
call |
couldn’t made outgoing call establisment |
|---|---|
error |
definition of failure |
Availability
2.0.0
Discussion
This method is invoked when establishCall has failed.
Declared In
SMCallApplicationDelegate.h
– acceptCallSucceed:
required method
Method invoked when attempt to accept an incoming call has succeeded.
- (void)acceptCallSucceed:(id<SMIncomingCallDelegate>)call
Parameters
call |
performed accepting successfully |
|---|
Availability
2.0.0
Discussion
Method invoked when attempt to accept an incoming call has succeeded.
Declared In
SMCallApplicationDelegate.h
– acceptCallFailed:withError:
required method
Method invoked when attempt to accept an incoming call has failed.
- (void)acceptCallFailed:(id<SMIncomingCallDelegate>)call withError:(SMMobileError *)error
Parameters
call |
couldn’t be accepted |
|---|---|
error |
definition of failure |
Availability
2.0.0
Discussion
Method invoked when attempt to accept an incoming call has failed.
Declared In
SMCallApplicationDelegate.h
– rejectCallSuccedded:
required method
Method invoked when attempt to reject an incoming call has succeeded.
- (void)rejectCallSuccedded:(id<SMIncomingCallDelegate>)call
Parameters
call |
performed reject successfully |
|---|
Availability
2.0.0
Discussion
Method invoked when attempt to reject an incoming call has succeeded.
Declared In
SMCallApplicationDelegate.h
– rejectCallFailed:withError:
required method
Method invoked when attempt to reject an incoming call has failed.
- (void)rejectCallFailed:(id<SMIncomingCallDelegate>)call withError:(SMMobileError *)error
Parameters
call |
that couldn’t be rejected |
|---|---|
error |
definition of failure |
Availability
2.0.0
Discussion
Method invoked when attempt to reject an incoming call has failed.
Declared In
SMCallApplicationDelegate.h
– ignoreSucceed:
required method
Method invoked when attempt to ignore a call has succeeded.
- (void)ignoreSucceed:(id<SMCallDelegate>)call
Parameters
call |
performed ignore successfully |
|---|
Availability
2.0.0
Discussion
Method invoked when attempt to ignore a call has succeeded.
Declared In
SMCallApplicationDelegate.h
– ignoreFailed:withError:
required method
Method invoked when attempt to ignore a call has failed.
- (void)ignoreFailed:(id<SMCallDelegate>)call withError:(SMMobileError *)error
Parameters
call |
couldn’t be ignored |
|---|---|
error |
definition of failure |
Availability
2.0.0
Discussion
Method invoked when attempt to ignore a call has failed.
Declared In
SMCallApplicationDelegate.h
– sendRingingFeedbackSucceed:
required method
Method invoked when attempt to sendRingingFeedback an incoming call has succeeded.
- (void)sendRingingFeedbackSucceed:(id<SMIncomingCallDelegate>)call
Parameters
call |
performed sendRingingFeedback successfully |
|---|
Availability
4.3.2
Discussion
Method invoked when attempt to sendRingingFeedback an incoming call has succeeded.
Declared In
SMCallApplicationDelegate.h
– sendRingingFeedbackFailed:withError:
required method
Method invoked when attempt to sendRingingFeedback an incoming call has failed.
- (void)sendRingingFeedbackFailed:(id<SMIncomingCallDelegate>)call withError:(SMMobileError *)error
Parameters
call |
that coludn’t send ringing feedback |
|---|---|
error |
definition of failure |
Availability
4.3.2
Discussion
Method invoked when attempt to sendRingingFeedback an incoming call has failed.
Declared In
SMCallApplicationDelegate.h
– endCallSucceeded:
required method
This method is invoked when endCall has succeeded. This is the call back method for the endCall request
- (void)endCallSucceeded:(id<SMCallDelegate>)call
Parameters
call |
performed end successfully |
|---|
Availability
2.0.0
Discussion
This method is invoked when endCall has succeeded. This is the call back method for the endCall request
Declared In
SMCallApplicationDelegate.h
– endCallFailed:withError:
required method
This method is invoked when endCall has failed. This is the call back method for the endCall request
- (void)endCallFailed:(id<SMCallDelegate>)call withError:(SMMobileError *)error
Parameters
call |
coudn’t be ended |
|---|---|
error |
definition of failure |
Availability
2.0.0
Discussion
This method is invoked when endCall has failed. This is the call back method for the endCall request
Declared In
SMCallApplicationDelegate.h
– muteCallSucceed:
required method
Method invoked when attempt to mute a call has succeeded.
- (void)muteCallSucceed:(id<SMCallDelegate>)call
Parameters
call |
performed mute successfully |
|---|
Availability
2.0.0
Discussion
Method invoked when attempt to mute a call has succeeded.
Declared In
SMCallApplicationDelegate.h
– muteCallFailed:withError:
required method
Method invoked when attempt to mute a call has failed.
- (void)muteCallFailed:(id<SMCallDelegate>)call withError:(SMMobileError *)error
Parameters
call |
coudn’t be muted |
|---|---|
error |
definition of failure |
Availability
2.0.0
Discussion
Method invoked when attempt to mute a call has failed.
Declared In
SMCallApplicationDelegate.h
– unMuteCallSucceed:
required method
Method invoked when attempt to unmute a call has succeeded.
- (void)unMuteCallSucceed:(id<SMCallDelegate>)call
Parameters
call |
performed unmute successfully |
|---|
Availability
2.0.0
Discussion
Method invoked when attempt to unmute a call has succeeded.
Declared In
SMCallApplicationDelegate.h
– unMuteCallFailed:withError:
required method
Method invoked when attempt to unmute a call has failed.
- (void)unMuteCallFailed:(id<SMCallDelegate>)call withError:(SMMobileError *)error
Parameters
call |
couldn’t be unmuted |
|---|---|
error |
definition of failure |
Availability
2.0.0
Discussion
Method invoked when attempt to unmute a call has failed.
Declared In
SMCallApplicationDelegate.h
– videoStartSucceed:
required method
Method invoked when attempt to start video on a call has succeeded.
- (void)videoStartSucceed:(id<SMCallDelegate>)call
Parameters
call |
performed start video start successfully |
|---|
Availability
2.0.0
Discussion
Method invoked when attempt to start video on a call has succeeded.
Declared In
SMCallApplicationDelegate.h
– videoStartFailed:withError:
required method
Method invoked when attempt to start video on a call has failed.
- (void)videoStartFailed:(id<SMCallDelegate>)call withError:(SMMobileError *)error
Parameters
call |
coudn’t start video |
|---|---|
error |
definition of failure |
Availability
2.0.0
Discussion
Method invoked when attempt to start video on a call has failed.
Declared In
SMCallApplicationDelegate.h
– videoStopSucceed:
required method
Method invoked when attempt to stop video on a call has succeeded.
- (void)videoStopSucceed:(id<SMCallDelegate>)call
Parameters
call |
performed stop video successfully |
|---|
Availability
2.0.0
Discussion
Method invoked when attempt to stop video on a call has succeeded.
Declared In
SMCallApplicationDelegate.h
– videoStopFailed:withError:
required method
Method invoked when attempt to stop video on a call has failed.
- (void)videoStopFailed:(id<SMCallDelegate>)call withError:(SMMobileError *)error
Parameters
call |
coudn’t stop video |
|---|---|
error |
definition of failure |
Availability
2.0.0
Discussion
Method invoked when attempt to stop video on a call has failed.
Declared In
SMCallApplicationDelegate.h
– videoUnMuteSucceed:
required method
The method that is called when an attempt to video unMute succeeded in a call.
- (void)videoUnMuteSucceed:(id<SMCallDelegate>)call
Availability
6.6.0
Discussion
The method that is called when an attempt to video unMute succeeded in a call.
Declared In
SMCallApplicationDelegate.h
– videoUnMuteFailed:withError:
required method
The method that is called when an attempt to video unMute fails in a call.
- (void)videoUnMuteFailed:(id<SMCallDelegate>)call withError:(SMMobileError *)error
Parameters
error |
definition of failure |
|---|
Availability
6.6.0
Discussion
The method that is called when an attempt to video unMute fails in a call.
Declared In
SMCallApplicationDelegate.h
– videoMuteSucceed:
required method
The method that is called when an attempt to video mute succeeded in a call.
- (void)videoMuteSucceed:(id<SMCallDelegate>)call
Availability
6.6.0
Discussion
The method that is called when an attempt to video mute succeeded in a call.
Declared In
SMCallApplicationDelegate.h
– videoMuteFailed:withError:
required method
The method that is called when an attempt to video mute fails in a call.
- (void)videoMuteFailed:(id<SMCallDelegate>)call withError:(SMMobileError *)error
Parameters
error |
definition of failure |
|---|
Availability
6.6.0
Discussion
The method that is called when an attempt to video mute fails in a call.
Declared In
SMCallApplicationDelegate.h
– holdCallSucceed:
required method
Method invoked when attempt to hold a call has succeeded.
- (void)holdCallSucceed:(id<SMCallDelegate>)call
Parameters
call |
performed hold successfully |
|---|
Availability
2.0.0
Discussion
Method invoked when attempt to hold a call has succeeded.
Declared In
SMCallApplicationDelegate.h
– holdCallFailed:withError:
required method
Method invoked when attempt to hold a call has failed.
- (void)holdCallFailed:(id<SMCallDelegate>)call withError:(SMMobileError *)error
Parameters
call |
couldn’t be holded |
|---|---|
error |
definition of failure |
Availability
2.0.0
Discussion
Method invoked when attempt to hold a call has failed.
Declared In
SMCallApplicationDelegate.h
– unHoldCallSucceed:
required method
Method invoked when attempt to unHold a call has succeded.
- (void)unHoldCallSucceed:(id<SMCallDelegate>)call
Parameters
call |
performed unhold successfully |
|---|
Availability
2.0.0
Discussion
Method invoked when attempt to unHold a call has succeded.
Declared In
SMCallApplicationDelegate.h
– unHoldCallFailed:withError:
required method
Method invoked when attempt to unHold a call has failed.
- (void)unHoldCallFailed:(id<SMCallDelegate>)call withError:(SMMobileError *)error
Parameters
call |
couldn’t be unholded |
|---|---|
error |
definition of failure |
Availability
2.0.0
Discussion
Method invoked when attempt to unHold a call has failed.
Declared In
SMCallApplicationDelegate.h
– sendCustomParametersSuccess:
required method
Method is invoked when sending the custom SIP headers has succeeded.
- (void)sendCustomParametersSuccess:(id<SMCallDelegate>)call
Parameters
call |
the call which succeeded in sending custom SIP headers |
|---|
Availability
4.5.0
Discussion
Method is invoked when sending the custom SIP headers has succeeded.
Declared In
SMCallApplicationDelegate.h
– sendCustomParametersFail:withError:
required method
Method is invoked when sending the custom SIP headers has failed.
- (void)sendCustomParametersFail:(id<SMCallDelegate>)call withError:(SMMobileError *)error
Parameters
call |
the call which failed in sending custom SIP headers |
|---|---|
error |
related error |
Availability
4.5.0
Discussion
Method is invoked when sending the custom SIP headers has failed.
Declared In
SMCallApplicationDelegate.h
– joinSucceeded:
required method
Method is invoked when attempt to join call with another call has succeeded.
- (void)joinSucceeded:(id<SMCallDelegate>)call
Parameters
call |
new created call after join |
|---|
Availability
2.0.0
Discussion
Method is invoked when attempt to join call with another call has succeeded.
Declared In
SMCallApplicationDelegate.h
– joinFailed:withError:
required method
Method is invoked when attempt to join call with another call has succeeded.
- (void)joinFailed:(id<SMCallDelegate>)call withError:(SMMobileError *)error
Parameters
call |
coudn’t made the join |
|---|---|
error |
definition of failure |
Availability
2.0.0
Discussion
Method is invoked when attempt to join call with another call has succeeded.
Declared In
SMCallApplicationDelegate.h
– transferCallSucceed:
required method
Method invoked when attempt to transfer a call has succeeded.
- (void)transferCallSucceed:(id<SMCallDelegate>)call
Parameters
call |
performed transfer call successfully |
|---|
Availability
2.0.0
Discussion
Method invoked when attempt to transfer a call has succeeded.
Declared In
SMCallApplicationDelegate.h
– transferCallFailed:withError:
required method
Method invoked when attempt to transfer a call has failed.
- (void)transferCallFailed:(id<SMCallDelegate>)call withError:(SMMobileError *)error
Parameters
call |
couldn’t made transferring |
|---|---|
error |
reason of the failure |
Availability
2.0.0
Discussion
Method invoked when attempt to transfer a call has failed.
Declared In
SMCallApplicationDelegate.h
– forwardCallSucceed:
required method
Method invoked when attempt to forward a call has succeeded.
- (void)forwardCallSucceed:(id<SMCallDelegate>)call
Parameters
call |
performed forward call successfully |
|---|
Availability
2.0.0
Discussion
Method invoked when attempt to forward a call has succeeded.
Declared In
SMCallApplicationDelegate.h
– forwardCallFailed:withError:
required method
Method invoked when attempt to forward a call has failed.
- (void)forwardCallFailed:(id<SMCallDelegate>)call withError:(SMMobileError *)error
Parameters
call |
couldn’t made forward |
|---|---|
error |
reason of the failure |
Availability
2.0.0
Discussion
Method invoked when attempt to forward a call has failed.
Declared In
SMCallApplicationDelegate.h


This widget allows you to add one or multiple questions, with one or more possible replies, with the choice of showing results in the app in real time. It can be used for Polls, Surveys, Votes, Requests to volunteer, etc.
*
User can select
Take Notes
{{i + 1}}.
0" class="ili-panel cc_ques_panel">
{{i + 1}}.
0" class="txt-email-notes txt-popup">PopUp note for Selected Option
{{i + 1}}.
0" class="txt-email-notes txt-popup">Confirmation for Selected Option


New floating fish farm opens here
It can produce 166 tonnes of fish a year
Some 5km from Changi Point Ferry Terminal, a floating structure about the size of one-fifth of a football field is anchored 24/7 in the same spot at sea.
The structure, measuring 48m by 28m, houses some 30 tonnes of fish of different varieties that are bred for food.
The Eco-Ark, built by Aquaculture Centre of Excellence (ACE), is said to be one of the first floating closed-containment fish farms in the world. It was named and commissioned yesterday.
The offshore farm, with a total capacity of 96 tonnes, can produce 166 tonnes of fish a year - about 20 times more than the minimum production yield set for coastal fish farms in Singapore.
Unlike a typical kelong where fish are reared in open-net cage-farming systems that are exposed to the open sea, the fish in the Eco-Ark swim in isolation.
Housed in four tanks with a capacity of 475,000 litres each, the fish - which include species such as barramundi, red snapper fingerlings and grouper - are safe from threats that fish reared in kelongs are vulnerable to.
In the Eco-Ark, the sea water the fish live in is free of physical waste as it is removed with a drum filter that operates round the clock.
Bacteria, viruses and other pathogens in the water are also destroyed using an ozonation system within a sealed chamber.
Every hour, 7 to 10 cubic metres of oxygen is pumped into each cultivation tank, said ACE chief executive Leow Ban Tat. All these improved conditions are supposed to help achieve "oceanic water quality", he added.
Another example of an offshore closed-containment fish farm belongs to Singapore Aquaculture Technologies (SAT).
SAT's farm, which measures 55m by 20m, has been in operation since 2016.
Currently, there are closed-containment fish farms located on land. An offshore one such as the Eco-Ark saves on land cost and the cost of trucking and pumping sea water to land.
Dr Koh Poh Koon, Senior Minister of State for Trade and Industry, said the offshore farm is also manpower- and space-efficient. The 1,344 sq m facility needs two workers to operate and takes up 14 per cent of the space needed for a typical fish farm that produces at the same capacity.
Speaking at the naming and commissioning ceremony on board the vessel, Dr Koh said the farm was a good example of an innovative farming solution to address problems such as algae blooms and water pollution, which could limit the potential for aquaculture production.
The Eco-Ark, which was developed with the support of the Singapore Food Agency's Agriculture Productivity Fund, cost about $4.1 million to construct.
The fund was enhanced last year to provide more financial support for local farms to adopt new farming technologies and systems.


ASP VB/ODBC Pets Sample
This sample illustrates using ODBC from Amzi! Prolog in an ASP application
written using an ActiveX control in Visual Basic.
Building the Sample
- Open the pets_odbc.vbp project in VB and build pets_odbc.dll. Then copy
it to your Scripts directory (usually /InetPub/Scripts).
- Register pets_odbc.dll by typing 'regsvr32 pets_odbc.dll' at the command
line from the Scripts directory.
- Open the pets_odbc.ppj project then compile and link pets_odbc.pro with
the library aodbc.plm into pets_odbc.xpl and copy pets_odbc.xpl to your Scripts
directory.
- Copy pets_odbc.asp to your Scripts directory.
- Copy pets.mdb to your Scripts directory.
- In your Control Panel create a new ODBC data source named 'pets' and point
it to pets.mdb in the Scripts directory.
- (Note: amzi.dll and aodbc.lsx must be somewhere in your PATH or in your
Scripts directory).
Running the Sample
- Invoke pets_odbc.asp in your browser. This is usually done by typing http://localhost/Scripts/pets_odbc.asp


Instructions:
Increase the length of the snake by 3 instead of 1 every time the snake eats a snack
HINT: Remember, self.length references how long our snake is.


Because you may want to...
Before this gets started...
List of EIPs that made it to draft
https://eips.ethereum.org/
EIP-1: Purpose and Guidelines
https://eips.ethereum.org/EIPS/eip-1
"Ethereum Improvement Proposals describe standards for the Ethereum platform, including core protocol specs, client APIs, and contract standards."
"ERCs are a type of EIP which describe application-level standards and conventions, including contract standards."
A formal document which establishes uniform engineering or technical criteria, methods, processes, and practices.
"Because the EIPs are maintained as text files in a versioned repository, their revision history is the historical record of the feature proposal."
- Needs-finding, defining requirements, engineering, prototyping
- Write the EIP using the style and format described
- Shepherd the discussions in the appropriate forums
- Build community consensus around the idea
"The editors don't pass judgment on EIPs. We merely do the administrative & editorial part."
The current EIP editors are:
* Nick Johnson (@arachnid)
* Casey Detrio (@cdetrio)
* Hudson Jameson (@Souptacular)
* Vitalik Buterin (@vbuterin)
* Nick Savers (@nicksavers)
* Martin Becze (@wanderer)
Initial Submission
Steps Toward Final
WIP -> DRAFT -> LAST CALL -> ACCEPTED -> FINAL
WIP -> DRAFT -> LAST CALL -> ACCEPTED -> FINAL
WIP -> DRAFT -> LAST CALL -> ACCEPTED -> FINAL
SUCCESS
- IF agreeable, EIP editor will assign the EIP a number
FAIL
- unfocused, broad, duplication of effort
- technically unsound
- not addressing backwards compatibility
- not in keeping with the Ethereum philosophy (huh?)
WIP -> DRAFT -> LAST CALL -> ACCEPTED -> FINAL
SUCCESS
- IF agreeable, the EIP editor sets a review end date
FAIL
- material changes are still expected to be made to the draft
FAIL++
- material changes or substantial unaddressed technical complaints will cause the EIP to revert to Draft!
WIP -> DRAFT -> LAST CALL -> ACCEPTED -> FINAL
WIP -> DRAFT -> LAST CALL -> ACCEPTED -> FINAL
EIPs are written in markdown format.
Each EIP should have the following parts:
|
Preamble Simple Summary Abstract Motivation Specification |
Rationale Backwards Compatibility Test Cases Implementations Copyright Waiver |
Start a discussion on Twitter or on
https://ethereum-magicians.org


{% extends "base/base.html" %} {% block title %}Terms and conditions — {{ block.super }}{% endblock %} {% block breadcrumbs_header %}
This page gives the terms and conditions to which you agree when you use Take Your Meds.
The Take Your Meds service is offered for your personal use.
You agree to use this site only for lawful purposes, and in a manner that does not infringe the rights of, or restrict or inhibit the use and enjoyment of, this site by any third party.
We may change the content at any time, but will aim to give one calendar month notice if we intend to stop running the service.
By using this site, you indicate that you accept these terms of use and that you agree to abide by them. If you do not agree to these terms of use, please refrain from using our site.
Please make sure that you take medications as recommended by your healthcare practitioner.
While we make every effort to keep our service running properly, we don’t provide any guarantees, conditions or warranties as to the service offered by the site.
We don’t accept liability for loss or damage incurred by users of the website, whether direct, indirect or consequential, whether caused by tort, breach of contract or otherwise, in connection with our site, its use, the inability to use, or results of the use of our site, any websites linked to it and any materials posted on it.
When using Take Your Meds you may access services offered by Stripe, our payment gate way provider. Stripe has its own terms and conditions that apply only to that service. Users of Stripe should make sure they have read the relevant terms and conditions before completing any transaction.
We welcome and encourage other websites to link to this site, and you don’t have to ask permission. However, we don’t give you permission to suggest that our website is associated with, or endorsed by, any other website, company, service or person.
Where our site contains links to other sites and resources provided by third parties, these links are provided for your information only. We have no control over the contents of those sites or resources, and accept no responsibility for them or for any loss or damage that may arise from your use of them.
The Take Your Meds website is published under the Creative Commons BY licence, and you can reproduce information from the site as long as you obey the terms of that licence.
Our source code is Open Source and is available under the MIT licence from our GitHub repository. Please see the licence file for details.
You must not attempt to gain unauthorised access to our site, the server on which our site is stored or any server, computer or database connected to our site. You must not attack our site via a denial-of-service attack or a distributed denial-of-service attack, or in any other way.
By breaching this provision, you would commit a criminal offence under the Computer Misuse Act 1990. We will report any such breach to the relevant law enforcement authorities and we will co-operate with those authorities by disclosing your identity to them.
We may at any time revise these terms and conditions. Please check these terms and conditions regularly, as continued use of the Take Your Meds website after a change has been made confirms your acceptance of the change.
{% endblock%}


pyATS
A vendor agnostic test automation framework by Cisco Systems, used for network and systems testing.
More information: home page
- Run a `pyATS` subcommand:
pyats subcommand
- Display version:
pyats version check
- Display help:
pyats --help
- Display help about a specific subcommand:
pyats subcommand --help


How things work?
On the registration day of the students,fingerprints and student details are taken and added to the database using the website.A RFID token is registered for a student and given to them.Student can do the registration via the website or mobile app.Before a particular class starts,corresponding student details and fingerprint details are loaded into the sd card and fingerprint device with the help of nodemcu & backend server for student identification purposes.when a particular student put their attendance using fingerprint device and RFID sensor student details are displayed in the LCD display.At the same time,new attendance data is sent to the backend.All timetable data is added to the database and lecture reminding is automatically done by the server.Student and teachers are able to analyze and visualize attendance data via the website or mobile app.
Services
Attendance marking System
Identifying the students in a lecture will be done by a hardware device which is in the lecture rooms by fingerprints and rfid cards.Students can see they were identified correctly in hardware device itself by seeing his information in the lcd screen.During the lecture time attendance details will be sent to the server and attendance will be updated.
Lecture Notifications
Before a lecture of a particular course students who had registered to that course will get notifications regarding lecture,lecture time,lecture duration and lecture room
Student Registration
Student will registered to the system via the website.This process will done by an admin.Student details including fingerprint will be taken into the system.
Course Registration
Beginning of the each semester registered students can do the course registration via the website or the app
Automated Timetable
Admin will initially enter the time table details (date,time,course,lecture room,lecturer) to the system via website.After that before each lecture students will get notifications via the mobile app
Attendance Review
Students can see their attendance percentage,daily attendance details via the mobile app.Lecturers can see their students' attendance for lab sessions and lecture sessions via the website.
UI Design - Website
UI Design - App
Final Hardware Device
|
Hardware Components Used
1. ATmega328P microcontroller
|
2. ESP8266 microcontroller
|
3. R307 Fingerprint Module
|
4. RC522 RFID Module
|
5. Keypad & Port Expander(PCF8574P)
|
6. 16x2 LCD Dispaly & Port Expander(PCF8574P)
|
7. Rechargeable battery(Li-Po)
|
Circuit Diagrams
PCB design
Protocols
Software Testing
Integration Testing
Integration testing is a level of software testing where individual units / components are combined and tested as a group. The purpose of this level of testing is to expose faults in the interaction between integrated units. Test drivers and test stubs are used to assist in Integration Testing.
Spring Boot Application Architecture
Spring Boot Application has a 3 Tier Architecture with Controller, Service and Persistence Layer. When we talk about integration testing for a spring boot application, it is all about running an application in ApplicationContext and run tests. Spring Framework does have a dedicated test module for integration testing. It is known as spring-test. If we are using spring-boot, then we need to use spring-boot-starter-test which will internally use spring-test and other dependent libraries.
Example :- Adding a Lecture room
Results
Unit Testing - API
UNIT TESTING, also known as COMPONENT TESTING, is a level of software testing where individual units / components of a software are tested. The purpose is to validate that each unit of the software performs as designed.
Example :- Lecture Attendance Percentage Update
Results
UI Testing - Mobile App
In UI TESTING, test runs on a device or an emulator. In the background, your app will be installed and then a testing app will also be installed which will control your app, lunching it and running UI tests as needed
Example :- User Login
First Student will enter the username . Then he/she will close the keyboard.Next, student will enter the password. After that, he/she will close the keyboard again. Finally, student will preform click button.
Programme
Result
After Running the Test, Mobile app's Login UI will redirect to corresponding user's home page.
Performance Testing - Website
website performance, was measured using Web.dev site.Performance details are as follows.
Results
Summary Report-Software Testing
| Feature / Unit | Functionality | Tools | Results | |
|---|---|---|---|---|
| 1 | Backend Validations | Registration number and Email were tested for proper pattern with different inputs | JUnit | Given Registration number and Email should have proper pattern for user registration |
| 2 | Frontend Validations | Frontend forms were tested with different set of inputs. | Jest and Enzyme | Forms can not submit without proper inputs |
| 3 | Joins in the database |
|
JUnit |
|
| 4 | Lecture Attendance | Tested whether correct present days,absent days and attendance percentages of student is calculated after adding attendance of a lecture by hardware device | JUnit | Attendance details are correctly calculated and stored in the database. |
| 5 | UI Testing in Mobile App |
|
Expresso |
|
| 6 | Performance Testing in website |
|
Web.dev |
|
Hardware Testing
Unit Testing
Every Component (Fingerprint,RFID module,SD card module, ...) should be tested for proper functionality.
| Sensor | What will be Tested | Importance | |
|---|---|---|---|
| 1 | RFID sensor |
|
Accuracy of identifying the tags should be high |
| 2 | Fingerprint sensor |
|
Accuracy of identifying the fingerprints should be high |
| 3 | Push Buttons |
|
To improve UX with debouncing of push buttons |
| 4 | LCD Display |
|
|
| 5 | SD Card module |
|
To properly handle the connection failure or power failure conditions |
Testing Power Supplies
- Main power input(Battery)
- check ripple voltages (using oscillator)
- Is noise acceptable
- Micro Controller circuit
- checking connectivity (using Oscilloscope or Logic probe)
- check the basic functioning
- Sensors
- checking connectivity
- check the basic functioning
Cloud Deployment
Demonstration
Website
Mobile App
Hardware Device - Part 01
Hardware Device - Part 02
Budget
Future Developments & Plans
- Universities
- Post graduate institutes
- Technical schools
Team
We are 3rd year Computer Engineering Students of University of Peradeniya
Eranadana Wijerathna
E/16/399
Computer Engineering UndergraduateSaubhagya Munasinghe
E/16/242
Computer Engineering UndergraduateNuwan Piyarathna
E/16/286
Computer Engineering UndergraduateVisit Our Github Repository
Contacts
| Nuwan Harsha |<EMAIL_ADDRESS>|
| Saubhagya Munasinghe |<EMAIL_ADDRESS>|
| Erandana Wijerathna |<EMAIL_ADDRESS>|


Over 300 new arrivals: Love them, shop them, wear them. (Plus, 30% off your purchase & free shipping!)


AMERICAN PIE A film review by Christopher Null Copyright 1999 Christopher Null filmcritic.com
This is certainly the year for comedy, with SOUTH PARK, AUSTIN POWERS 2, and now AMERICAN PIE making the last month alone nothing short of a gut buster.
With all the sophistication of PORKY'S 2, AMERICAN PIE is a teen sex comedy (and was originally titled as such) that leaves taste and sophistication at the door and goes straight for the comedic jugular. The highest-of-concepts plot is simple: Four high school virgins vow to lose their virginity by the end of school, and the prom is only three weeks away. Plots and schemes are hatched out the yin-yang.
What these guys will do for sex is... well, is what any guy will do for sex, of course. But these guys are really funny about it. Antics include paying off a girl to spread rumors of one's endowment. A secret book of advanced technique. Joining the choir to meet chicks. Hooking up a net-cam to catch the exchange student undressing. And of course, a practice session with the titular pie.
AMERICAN PIE isn't so shocking as SOUTH PARK, which has mercilessly stolen its thunder, but it's got moments of such sheer hilarity you can't help but feel drained (from laughter) after leaving this pic. Sure, it isn't going to appeal to everyone, but if you've grown tired of the histrionics on shows like `Dawson's Creek,' this movie is a breath of fresh air.
Take it from me; I left the theater hungry. So to speak.
RATING: ***1/2
|------------------------------| \ ***** Perfection \ \ **** Good, memorable film \ \ *** Average, hits and misses \ \ ** Sub-par on many levels \ \ * Unquestionably awful \ |------------------------------|
MPAA Rating: R
Director: Paul Weitz Producer: Chris Moore, Craig Perry, Chris Weitz, Warren Zide Writer: Adam Herz Starring: Jason Biggs, Thomas Ian Nicholas, Eddie Kaye Thomas, Chris Klein, Seann William Scott, Jennifer Coolidge, Alyson Hannigan, Shannon Elizabeth, Natasha Lyonne, Eugene Levy, Tara Reid
http://www.universalpictures.com/americanpie/
Christopher Null -<EMAIL_ADDRESS>- http://www.filmcritic.com Author - Network Administrator's Reference, 1999, ISBN 0-07-882588-1 http://www.amazon.com/exec/obidos/ASIN/0078825881/filmcriticcom
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Visual Studio
MsBuild
- v4: "%systemroot%\Microsoft.Net\Framework\v4.0.30319\MSBuild.exe"
- VS2015/C#6: "%PROGRAMFILES(X86)%\MSBuild\14.0\Bin\MsBuild.exe"
- VS2017/C#7: "%PROGRAMFILES(X86)%\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MsBuild.exe" (check VS edition eg
Enterprise, BuildTools, Community) or
(if applicable) "install-package Microsoft.NET.Sdk" or "dotnet msbuild"
Example command line build:
"%PROGRAMFILES(X86)%\MSBuild\14.0\Bin\MSBuild.exe" ..\MyProject.csproj /p:Configuration=Release /p:OutputPath=..\MyPackage\lib\net20
For VS2017/MSBuild v15, msbuild could be in multiple locations, so from VS2017 update 2, you can use "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere" (or get the vswhere binary)
Below is from the example
for /f "usebackq tokens=*" %%i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere" -latest -products * -requires Microsoft.Component.MSBuild -property installationPath`) do (
set InstallDir=%%i
)
if exist "%InstallDir%\MSBuild\15.0\Bin\MSBuild.exe" (
"%InstallDir%\MSBuild\15.0\Bin\MSBuild.exe" build.xml /t:PublishAll /fl & pause
) else (
echo "Must install VS2017 update 2 or greater"
)
Visual Studio Keys
When resharper isn't available... (you should at least use CodeRush Xpress!)
| F12 | Goto Definition |
| Ctl I | Incremental search. Ctl I Ctl I uses the last search pattern. |
| Ctl - (minus) | Go back |
| Ctl-K Ctl-D | Reformat |
| Ctl arrow | Left/right moves by word |
| Ctl ] (on a brace) | Move to matching (or next) brace |
| Control-Dot | Resolve usings (also on right-click). if there are no Resharper hints! |
MRU tabs hack from here: under HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0 key, create a DWORD UseMRUDocOrdering = 1
FXCop Code Analysis errors
Code Analysis dies (and even breaks the build) when binding redirects are not honoured.
Change C:\Program Files (x86)\Microsoft Visual Studio 11.0\Team Tools\Static Analysis Tools\FxCop\FxCopCmd.exe.config (as applicable for VS version)
In appSettings, change AssemblyReferenceResolveMode from StrongName to StrongNameIgnoringVersion
<add key="AssemblyReferenceResolveMode" value="StrongNameIgnoringVersion" />
IIS Express
You may need to alter the IIS overrides (error "This configuration section cannot be used at this path. This happens when the section is locked at a parent level.", in full IIS this is "Feature Delegation"). The IIS config is located...
- VS2013: C:\Users\Name\Documents\IISExpress\config\applicationhost.config
- VS2015: $(solutionDir)\.vs\config\applicationhost.config
VS2012
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\General\SuppressUppercaseConversion
REG_DWORD value: 1
NHibernate Mappings
In C:\Program Files\NHibernate\src
extract the zip then goto C:\Program Files\NHibernate\src\src\NHibernate
Copy nhibernate-mapping.xsd
and nhibernate-configuration.xsd
to C:\Program Files\Microsoft Visual Studio 8\Xml\Schemas
(Vs2005)
or C:\Program Files\Microsoft Visual Studio 9.0\Xml\Schemas
(Vs2008)
Linked (shared) source
Easiest is to hack the proj file (File/@Link ). In VS= Add Existing Item/Open+Link File.
Configuration/ binding
- configuration/startup/supportedRuntime to limit .Net versions (in .Net 1.0 requiredRuntime)
- assemblyBinding/dependentAssembly/assemblyIdentity and bindingRedirect if same publicKey and different version numbers (oldversion can be * wildcard)
- (Development machine.config only) runtime/developmentMode/@developerInstallation="true" tells .Net to use a "DEVPATH" environmental variable to specific paths.
Assemblies
- Move a class to another dll but allow dependencies to still see it: TypeForwardTo
Exceptions
- Exception.Data is an untyped IDictionary to pass, um, data. Don't try to put it in the Message string.


Table Name: tabEmail Digest
| Sr | Fieldname | Type | Label | Options |
|---|---|---|---|---|
| 1 | settings |
Section Break | Email Digest Settings | |
| 2 | column_break0 |
Column Break | ||
| 3 | enabled |
Check | Enabled | |
| 4 | company |
Link | For Company | Company |
| 5 | frequency |
Select | How frequently? |
Daily Weekly Monthly |
| 6 | next_send |
Data | Next email will be sent on: | |
| 7 | column_break1 |
Column Break | ||
| 8 | recipient_list |
Code |
Recipients
Note: Email will not be sent to disabled users |
|
| 9 | addremove_recipients |
Button | Add/Remove Recipients | |
| 10 | accounts |
Section Break | Accounts | |
| 11 | accounts_module |
Column Break | Profit & Loss | |
| 12 | income |
Check | New Income | |
| 13 | expenses_booked |
Check | New Expenses | |
| 14 | income_year_to_date |
Check | Annual Income | |
| 15 | expense_year_to_date |
Check | Annual Expenses | |
| 16 | column_break_16 |
Column Break | Balance Sheet | |
| 17 | bank_balance |
Check | Bank Balance | |
| 18 | credit_balance |
Check | Credit Balance | |
| 19 | invoiced_amount |
Check | Receivables | |
| 20 | payables |
Check | Payables | |
| 21 | operation |
Section Break | Operations | |
| 22 | column_break_21 |
Column Break | ||
| 23 | sales_order |
Check | New Sales Orders | |
| 24 | pending_sales_orders |
Check | Pending Sales Orders | |
| 25 | purchase_order |
Check | New Purchase Orders | |
| 26 | pending_purchase_orders |
Check | Pending Purchase Orders | |
| 27 | column_break_operation |
Column Break | ||
| 28 | new_quotations |
Check | New Quotations | |
| 29 | pending_quotations |
Check | Pending Quotations | |
| 30 | issue |
Check | Open Issues | |
| 31 | project |
Check | Open Projects | |
| 32 | other |
Section Break | Other | |
| 33 | tools |
Column Break | Tools | |
| 34 | calendar_events |
Check | Upcoming Calendar Events | |
| 35 | todo_list |
Check | Open To Do | |
| 36 | notifications |
Check | Open Notifications | |
| 37 | column_break_32 |
Column Break | ||
| 38 | add_quote |
Check | Add Quote |
Inherits from frappe.model.document.Document
__init__ (self, arg1, arg2=None)
No docs
fmt_money (self, value, absol=True)
No docs
No docs
Get calendar events for given user
No docs
get_expense_year_to_date (self)
Get income to date
No docs
No docs
Get income for given period
get_income_year_to_date (self)
Get income to date
No docs
Get count of Issue
get_issue_list (self, user_id=None)
Get issue list
Build email digest content
No docs
No docs
Get notifications for user
No docs
get_pending_purchase_orders (self)
No docs
No docs
get_pending_sales_orders (self)
No docs
get_period_amounts (self, accounts, fieldname)
Get amounts for current and past periods
Get count of Project
get_project_list (self, user_id=None)
Get project list
No docs
get_root_type_accounts (self, root_type)
No docs
No docs
get_summary_of_doc (self, doc_type, fieldname)
No docs
get_summary_of_pending (self, doc_type, fieldname, getfield)
No docs
get_summary_of_pending_quotations (self, fieldname)
No docs
get_todo_count (self, user_id=None)
Get count of Todo
get_todo_list (self, user_id=None)
Get to-do list
get_total_on (self, doc_type, from_date, to_date)
No docs
get_type_balance (self, fieldname, account_type, root_type=None)
No docs
get list of users
get_year_to_date_balance (self, root_type, fieldname)
Get income to date
No docs
No docs
set_accounting_cards (self, context)
Create accounting cards if checked
No docs
Set standard digest style
Set digest title
Public API
/api/method/erpnext.setup.doctype.email_digest.email_digest.get_digest_msg
erpnext.setup.doctype.email_digest.email_digest.get_digest_msg (name)
No docs
erpnext.setup.doctype.email_digest.email_digest.send ()
No docs


@*Used this youtube tutorial for plenty of help: https://www.youtube.com/watch?v=gqOEoUR5RHg or for just future reference*@


What greeting do you want to say?
Who do you want to say it to?
Would you prefer a banana or a cherry ?
How many would you like?
Send My Greeting
Choose a file
Send the file


Characteristics of Good Programmers A Willingness to learn. ... Problem-solving skills. ... Communication Skills. ... Passion for the work. ... Debugging skills. ... Constraints. ... Respect for deadlines.


In the past, if you wanted to prove that you had a certain document at a certain point of time, you would need to go to a notary public who will (for a fee) testify a witness to that fact.
What we do is that we provide a unique proof of any
electronic document and we record this information (notarise it) on the Blockchain. The result is a mathematical
proof that is difficult and resources consuming to find but very quick and easy to verify, hence making it indisputable
proof of your original document.
Of course, we only work with the mathematical formulas and the digital signatures of your documents. This isn't
making your documents accesible or readable for anybody. Not even we get to see your document. It's the
computed document hash that is publicly available and it's this computed document hash that we use to make your
original document verifiable and trusted.
Once we have done that, we will email you a permanent link referencing the proof of your document on the Blockain. This proof is valid forever, guaranteed by the Blockchain network itself. It's really that simple. :)
Blockchain Notary is an open source service that computes the cryptographic hash for your documents and store this cryptographic information on the Blockchain.
We use the SHA-2 algorithm to compute hash for your files and we never get to actually upload your file anywhere to a server. This means that your document content is 100% secured and cryptographically protected along the way.
Using our service, you will get the ultimate proof of your digital document yet it's secure and nobody but you gets to access the content whilst everyone will have an ability to verify it's authenticity. Yeah, and that's how it works really. Blockchain rules.
Well, there is a cost associated to this service and it's compromised of 2 things:
1 - 0.01 ETH is the cost for submitting the contract to the Blockchain (it's the standard network fee)
2 - 0.99 ETH is for
Jan Paricka because he is a very good developer, we all love him and we want him to have lots and lots of
money
So the total cost will be 1.00 ETH and we give you the lifetime warranty for your document proof guaranteed
by the Ethereum Blockchain network. For the current
Ethereum to US Dollar exchange rate have a look here.
Or better don't look. It is very cheap and a very good deal. There. Take my word for it. :)
Simply drag and drop documents that you want to digitally verify and we will compute the cryptographic hash and record this on the Blockchain. This is done in your browser so the contents of your files remain confidential.
We store the SHA-2 hash of your file, the SHA-2 hash of your email and the timestamp on the Blockchain. The timestamp is generated by the blockchain, so there is no chance of tampering.
Once your document hash has been written in the Blockchain and we will send you a referal link to your own unique cryptographic proof of the document.


You have 4 new messages
Pavan kumar
Just see the my admin!
9:30 AM
Sonu Nigam
I've sung a song! See you at
9:10 AM
Arijit Sinh
I am a singer!
9:08 AM
Pavan kumar
Just see the my admin!
9:02 AM
See all notifications
Task 1
40% Complete
40% Complete (success)
Task 2
20% Complete
20% Complete
Task 3
60% Complete
60% Complete (warning)
Task 4
80% Complete
80% Complete (danger)
See All Tasks
Mega
Forms Elements
Basic Forms
Form Layout
Form Addons
Form Material
Form Float Input
File Upload
Form Mask
Image Cropping
Form Validation
Advance Forms
File Dropzone
Form-pickers
Icheck Form Controls
Form-wizards
Typehead
X-editable
Summernote
Bootstrap wysihtml5
Tinymce wysihtml5
Table Example
Basic Tables
Table Layouts
Data Table
Crud Table
Bootstrap Tables
Responsive Tables
Editable Tables
FooTables
JsGrid Tables
Charts
Flot Charts
Morris Chart
Chart-js
Peity Charts
Knob Charts
Sparkline charts
Extra Charts
Demo 1
Demo 2
Demo 3
Demo 4
Demo 5
Buy Now
Steave Gection
My Profile
My Balance
Inbox
Account Setting
Logout
--- Main Menu
Dashboard
4
Minimalistic
Demographical
Analitical
Simpler
Multipurpose
HOT
Hospital Admin
CRM Admin
University Admin
Music Admin
Real Estate Admin
Inverse
Colors
Eliteadmin
Wpmenu
Ecommerce
Modern
Basic PHP
Material Design
Dark
Mini Sidebar
Horizontal Boxed Nav
Horizontal Full Nav
Iconbar
Eliteadmin RTL
Inverse RTL
Apps
Chat-message
Inbox
Mail box
Inbox detail
Compose mail
Contacts
Contact1
Contact2
Contact Detail
UI Elements
13
Cards
Panels and Wells
Panels With BlockUI
Draggable Panel
Draggable Portlet
Buttons
Bootstrap Switch
Date Paginator
Sweat alert
Typography
Grid
Tabs
Stylish Tabs
Modals
Progress Bars
Notifications
Carousel
List & Media object
User Cards
Timeline
Horizontal Timeline
Nesteble
Range Slider
Ribbons
Steps
Session Idle Timeout
Session Timeout
Stylish Tooltip
Bootstrap UI
Forms
Basic Forms
Form Layout
Form Addons
Form Material
Form Float Input
File Upload
Form Mask
Image Cropping
Form Validation
File Dropzone
Form-pickers
Icheck Form Controls
Form-wizards
Typehead
X-editable
Summernote
Bootstrap wysihtml5
Tinymce wysihtml5
--- Proffessional
Sample Pages
30
Starter Page
Blank Page
Email Templates
Basic
Alert
Billing
Reset Pwd
Lightbox Popup
Treeview
Search Result
Utility Classes
Custom Scrolls
Login Page
Login v2
Animations
Profile
Invoice
FAQ
Gallery
Pricing
Register
Register v2
3 Step Registration
Recover Password
Lock Screen
Error 400
Error 403
Error 404
Error 500
Error 503
Charts
Flot Charts
Morris Chart
Chart-js
Peity Charts
Knob Charts
Sparkline charts
Extra Charts
Tables
7
Basic Tables
Table Layouts
Data Table
Crud Table
Bootstrap Tables
Responsive Tables
Editable Tables
FooTables
JsGrid Tables
Widgets
Icons
Font awesome
Themify Icons
Simple line Icons
Linea Icons
Weather Icons
Google Map
Vector Map
Calendar
Multi-Level Dropdown
Second Level Item
Second Level Item
Third Level
Third Level Item
Third Level Item
Third Level Item
Third Level Item
Log out
--- Support
Documentation
Gallery
Faqs
Simple Lineicon Page
Buy Now
Dashboard
Icons
Simple Lineicon Icons
Control Icons
icon-user
icon-people
icon-user-female
icon-user-follow
icon-user-following
icon-user-unfollow
icon-login
icon-logout
icon-emotsmile
icon-phone
icon-call-end
icon-call-in
icon-call-out
icon-map
icon-location-pin
icon-direction
icon-directions
icon-compass
icon-layers
icon-menu
icon-list
icon-options-vertical
icon-options
icon-arrow-down
icon-arrow-left
icon-arrow-right
icon-arrow-up
icon-arrow-up-circle
icon-arrow-left-circle
icon-arrow-right-circle
icon-arrow-down-circle
icon-check
icon-clock
icon-plus
icon-close
icon-trophy
icon-screen-smartphone
icon-screen-desktop
icon-plane
icon-notebook
icon-mustache
icon-mouse
icon-magnet
icon-energy
icon-disc
icon-cursor
icon-cursor-move
icon-crop
icon-chemistry
icon-speedometer
icon-shield
icon-screen-tablet
icon-magic-wand
icon-hourglass
icon-graduation
icon-ghost
icon-game-controller
icon-fire
icon-eyeglass
icon-envelope-open
icon-envolope-letter
icon-bell
icon-badge
icon-anchor
icon-wallet
icon-vector
icon-speech
icon-puzzle
icon-printer
icon-present
icon-playlist
icon-pin
icon-picture
icon-handbag
icon-globe-alt
icon-globe
icon-folder-alt
icon-folder
icon-film
icon-feed
icon-drop
icon-drawar
icon-docs
icon-doc
icon-diamond
icon-cup
icon-calculator
icon-bubbles
icon-briefcase
icon-book-open
icon-basket-loaded
icon-basket
icon-bag
icon-action-undo
icon-action-redo
icon-wrench
icon-umbrella
icon-trash
icon-tag
.icon-support
icon-frame
icon-size-fullscreen
icon-size-actual
icon-shuffle
icon-share-alt
icon-share
icon-rocket
icon-question
icon-pie-chart
icon-pencil
icon-note
icon-loop
icon-home
icon-grid
icon-graph
icon-microphone
icon-music-tone-alt
icon-music-tone
icon-earphones-alt
icon-earphones
icon-equalizer
icon-like
icon-dislike
icon-control-start
icon-control-rewind
icon-control-play
icon-control-pause
icon-control-forward
icon-control-end
icon-volume-1
icon-volume-2
icon-volume-off
icon-calender
icon-bulb
icon-chart
icon-ban
icon-bubble
icon-camrecorder
icon-camera
icon-cloud-download
icon-cloud-upload
icon-eye
icon-flag
icon-heart
icon-info
icon-key
icon-link
icon-lock
icon-lock-open
icon-magnifier
icon-magnifier-add
icon-magnifier-remove
icon-paper-clip
icon-paper-plane
icon-power
icon-refresh
icon-reload
icon-settings
icon-star
icon-symble-female
icon-symbol-male
icon-target
icon-credit-card
icon-paypal
icon-social-tumblr
icon-social-twitter
icon-social-facebook
icon-social-instagram
icon-social-linkedin
icon-social-pintarest
icon-social-github
icon-social-gplus
icon-social-reddit
icon-social-skype
icon-social-dribbble
icon-social-behance
icon-social-foursqare
icon-social-soundcloud
icon-social-spotify
icon-social-stumbleupon
icon-social-youtube
icon-social-dropbox
Service Panel
Layout Options
Fix Header
Fix Sidebar
Toggle Sidebar
With Light sidebar
1
2
3
4
5
6
With Dark sidebar
7
8
9
10
11
12
Chat option
Varun Dhavan
online
Genelia Deshmukh
Away
Ritesh Deshmukh
Busy
Arijit Sinh
Offline
Govinda Star
online
John Abraham
online
Hritik Roshan
online
Pwandeep rajan
online


Your code will probably rely on operator declarations and possibly term expansion. The cross-referencer handles this in the following way: you must supply an initialization file, using the -i ifile option. spxref will execute any operator declaration it encounters.
Supply meta-predicate declarations for your meta-predicates. Otherwise, the cross-referencer will not follow the meta-predicates' arguments. Be sure the cross-referencer encounters the meta-predicate declarations before it encounters calls to the declared predicates.
The cross-referencer traces from initializations, hooks,
predicates declared public
, and optionally from
user:runtime_entry/1
and module declarations. The
way it handles meta-predicates requires that your application
load its module-files before its non-module-files.
This cross-referencer was written in order to tear out the copious dead code from the application that the author became responsible for. If you are doing such a thing, the cross-referencer is an invaluable tool. Be sure to save the output from the first run that you get from the cross referencer: this is very useful resource to help you find things that you've accidentally ripped out and that you really needed after all.
There are situations where the cross-referencer does not follow certain
predicates. This can happen if the predicate name is
constructed on the fly, or if it is retrieved from the
database. In this case, add public
declarations for
these. Alternatively, you could create term expansions that are
peculiar to the cross-referencer.


▼ Floor 75 The revocable decision of turning away the ricer was quickly rid of after a long and thoughtful consideration.[G|D] Despite the rigid surface, an amazing rise of hope emerged from the rotting debris, giving a glimmer of light in the darkness.[G|D] The renowned satchel maker carried a heavy load of saddlery goods and salvia up the steep hill with determined steps.[G|D] Despite the sacrificial courage required, they displayed a remarkable sangfroid in the face of such sacrilegious danger.[G|D]


| unbox {jsonlite} | R Documentation |
This function marks an atomic vector or data frame as a
singleton, i.e.
a set with exactly 1 element. Thereby, the value will not turn into an
array
when encoded into JSON. This can only be done for
atomic vectors of length 1, or data frames with exactly 1 row. To automatically
unbox all vectors of length 1 within an object, use the auto_unbox
argument
in toJSON
.
unbox(x)
x |
atomic vector of length 1, or data frame with 1 row. |
It is usually recommended to avoid this function and stick with the default
encoding schema for the various R classes. The only use case for this function
is if you are bound to some specific predefined JSON structure (e.g. to
submit to an API), which has no natural R representation. Note that the default
encoding for data frames naturally results in a collection of key-value pairs,
without using unbox
.
Returns a singleton version of x
.
https://en.wikipedia.org/wiki/Singleton_(mathematics)
toJSON(list(foo=123)) toJSON(list(foo=unbox(123))) # Auto unbox vectors of length one: x = list(x=1:3, y = 4, z = "foo", k = NULL) toJSON(x) toJSON(x, auto_unbox = TRUE) x <- iris[1,] toJSON(list(rec=x)) toJSON(list(rec=unbox(x)))


A Chaotic transfer
A Chaotic transfer
After visiting all of the beautiful scenery around Probolinggo, we were ready to get
to Bali. After a few research we found that to get to Bali the easiest route was to
take a bus that will take us directly to our Hotel in Bali. (We could have taken the
train and then the ferry by ourselves and then find a transportation to our hotel in
Bali
but that was 1: more expensive and 2: way more complicated). So we just book a bus.
Unfortunately, the bus only left at 5 pm so we knew we would arrive in the middle of
the night when we booked the trip.
(Here more information about going to Bali
from
Probolinggo)
A few minutes after we booked we received a text informing us that the
bus we just booked wouldn't leave at 5PM as promised but between 8-9PM like all
of the other company. We were pretty piested about that but we didn’t have any other
option. I guessed that in the high season all the busses are booked so they usually
leave on time. But in low season they will push the departure time until the bus is
full. Because of that, we ended up having a pretty long time to wander around
Probolinggo with our bags.
The hotel kindly agreed to keep our bags until the bus arrives but we could not stay
in the room. Therefore, we went in a cafe and played chest for hours.
We also tried Indonesien massage which after two days of extreme motorbiking it was
pretty relaxing and fun. I specified “fun” because all of us laugh during the entire
hour. (Don’t get me wrong, they were laughing more than us). Let me explain, the way
this place was set up, it was like each massage table were separated by curtain and
the curtain allowed just enough space for someone to walk around the table. The
thing they didn’t consider while building this place was a 6 foot 7 bear. So
basically Alexis feet were pointing in someone else message area which cause
hilarity anytime someone moved.
Eventually, the bus came to pick us up and to Bali we went! Our original plan was to
sleep in the bus, no biggie, sleeping in a car is my most developed skill. The thing
I didn't take into consideration was that the Indonesian roads have more bump and
crack than anywhere else and that the motivation of the driver to race against the
wind to get to bali. At one point I just stopped looking outside, he kept changing
lane and overtake other cars at a scary speed for the road conditions. The total
trip took a total of 12 hours and that included taking a ferry between Java to Bali
and being dropped off at our hotel.
We arrived at our hotel at 8AM, exhausted and very happy we booked the hotel for the
day before (that way we didn’t have to wait until 11h to be allowed in the room. Of
course, the first thing we did was sleeping since sleeping in the bus was an
impossible task. Once we woke up, we realised that we forgot so many thing in
Probolinggo. Fortunately we did not forget nothing important but just enough to make
us mad at ourselves. It was the first time we forgot anything is a room! The weird
thing is that in indonesia they check your room before you leave so they should have
seen the things we forgot. Lesson of that day, don’t rely on someone else you we
don’t want to forget things.
The room we rented in Bali had a small kitchen and this time it was 100% working!
(Here’s more information about
accomodation in Asia) So our first mission was to
find a grocery store or a market to find fresh food.
(Here’s more information about
grocery store in Indonesia) It was a pretty easy task since the area we
stayed in
had a few butcher so we were able to have fresh meat and fish. Also, a very popular
thing in Indonesia are spice packs so you have different bags of flavor and it’s
easier to buy that than multiple spice in order to be able to make flavorful meals.
The next thing we did in Bali was the obvious renting of a motorbike! At this point,
we weren’t really close to any beach so we hopped on the bike on went to see the
sea. The one thing we didn’t expect was the amount of traffic in Bali! No matter
where we went there was traffic!


Chagos Islanders protest British refusal to hand over to Mauritius
by Agency ReportDemonstrators from the Chagos Islands protested Friday at British defiance of a United Nations deadline to end their “illegal occupation” of the Indian Ocean archipelago.
The islands have been at the centre of a decades-long dispute over Britain’s decision to separate them from Mauritius in 1965 and set up a joint military base with the US on Diego Garcia, the largest of the isles.
Olivier Bancoult, from The Chagos Refugee Group, led a peaceful protest of a few dozen islanders outside the British High Commission on Mauritius, where many of the displaced Chagossians live after being barred from their homelands.
A UN deadline for Britain to leave ended Friday.
“This peaceful demonstration is intended to show the discontent of the Chagossians and Mauritians at Britain’s refusal to respect the United Nations resolution, adopted on May 22, and giving her six months to end the illegal occupation of Chagos,” Bancoult said.
“Until now, Britain has shown no interest at the request of the UN, and has made it clear that it does not intend to go,” he added.
Protestors waved flags and held up placards.
“Our dignity is not for sale,” one read.
– ‘Britain should be ashamed’ –
In May, a total of 116 countries voted in favour of a non-binding resolution presented by African countries that urged Britain to “withdraw its colonial administration” from the Chagos Islands within six months.
The ruling recognised Mauritius’s sovereignty over islands.
Only six countries, including Britain and the United States, voted against the measure in the 193-nation assembly.
“Britain should be ashamed,” Bancoult said.
On Thursday, Mauritian Prime Minister Pravind Jugnauth said he was “deeply disappointed” at Britain’s failure to leave, and called on London to end its “illegal administration.”
Britain, some 9,500 kilometres (5,900 miles) to the west from Chagos, insists the islands belong to London.
When contacted on Friday, London’s Foreign Office referred AFP to an existing statement on its position.
“The UK has no doubt as to our sovereignty over the British Indian Ocean Territory (BIOT), which has been under continuous British sovereignty since 1814,” the statement read.
“Mauritius has never held sovereignty over the BIOT and the UK does not recognise its claim.”
In 2016, Britain renewed a lease agreement with the United States for the use of Diego Garcia until 2036.
Diego Garcia played a strategic role during the Cold War, and then as an airbase, including during the war in Afghanistan.
(AFP)


– One does not simply turn overnight.
Most action are rolled with a standard dice (D6). The gamemaster determines a difficulty rating for most of the actions that you will do, ranging from 1 (super-easy) to 10 (impossible!). The difficulty may drop if you are trained in a skill. You are also granted a bonus to your roll according to the ability related to the action.
Skill are used everytime you need to do an action. For every rank you get in a skill, you may reduce the difficulty of an action by one.
The difficulty of an action might be increased if you are untrained in the matching skill (knowledges for example).
At character creation, you get to start with two skill ranks in two different skills.
Note that skills can be anything, at the GM's discretion.
There's four abilities. Each of them grant a straight up bonus to your dice roll whenever a skill uses this ability.
At character creation, you have 0 in all abilities except 1 in an ability of your choice.
Relates to fitness, strength, and endurance checks; running, hitting someone with a club, bashing a door open, resisting poisons.
Relates to dexterity, accuracy, and reaction checks; dodging, shooting with a pistol, picking a lock.
Relates to knowledge and technical domain checks; hack a computer, repair a car, recount the 51235th digit of Pi.
Relates to social skills, street-smarts, relationship checks; bluffing, gathering information, appearance.
You keep track of your hunger, thirst, sanity and condition are all separately. These values go from 5 to 1, where 4 is the average location.
If you stay too long at 1 you will most likely die. If you find yourself at 0 in either, consider yourself unconscious.
For hunger and thirst, you will usually lose a point a day if you do not drink/eat.
Bloated; Well-Fed; Hungry; Very Hungry; Starving
If you are very hungry, you get a -1 to ALL rolls.
Bloated; Quenched; Thirsty; Very Thirsty; Dehydrated
If you are very thirsty, you get a -1 to ALL rolls.

Top Shape; Healthy; Unhealthy; Weak; Half-Dead
Your condition is usually based on your other trackers. Whenever you get hit in combat, your condition drops by one.
Given a certain difficulty, the required roll is always +1 as per the table below.
A fumble occurs whenever your dice is equal or lower than the number in the fumble column. It is possible to have a success on an action and still fumble, the GM should get creative.
| Difficulty | Fumble | Success |
|---|---|---|
| {{ dc }} | {{ fumble(dc) }} | {{ win(dc) }} |
A fumble occurs when you roll a one at difficulty 1 to 3, two or less at difficulty 4-6, three or less at difficulty 7-9, or 4 or less at difficulty 10. This means that something messed up. The action itself may have worked (if you passed the success value), but say your weapon may have gotten stuck after firing.
Whenever you find yourself in an advantageous situation for an action, you may roll two dices, and pick the best.
Same as advantage, but pick the worst result.
You may find equipment which protects you at specific spots on your body. If you do have protection on the spot that gets hit, you have a chance to cancel the attack altogether.
Usual protection will grant, as an example, a leather vest may grant 20% protection versus bites + slash on the chest and arms.
In this case, if you get hit; roll a d100 to see if you can cancel the damage altogether (20% from leather vest).
You do a skill check vs. a difficulty given by the GM.
You may add +2 to the difficulty to hit a specific spot/limb.
You have a passive defense that is equal to 3 + Constitution + Agility. That represents the default difficulty of an enemy to hit you in standard combat.
Usually, every hit does 1 damage to the target's condition directly.
Saving throws are a special kind of checks which are based on your raw abilities. A usual roll will be 1d6 + ability.
Injuries that occur to your character should be noted and unless treated could incur a specific penalty.
If you are bitten during combat, there is 20% chance to become a zombie at night. The chance is increased by 10% per condition point under 5. The chance may be increased or decreased depending on the intensity of the damage and on the treatment received afterward.
You get ONE reroll per game session.
An usual gaming session should net you around 3 experience points. You may spend these points to buy skill ranks or ability points. You may need to be able to justify taking new skill points with your GM.


So, that’s it. GitHub was acquired by Microsoft. By the once defeated, changed, and re-incarnated, we-love-open-source, Microsoft. It seems like a logical move. Ironically, of most tech giants of the past decade, Microsoft somehow feels like the lesser evil, the choice you’d rather live with, when you weigh the alternatives:
When it comes to our commitment to open source, judge us by the actions we have taken in the recent past, our actions today, and in the future. […] We are committed to being stewards of the GitHub community, which will retain its developer-first ethos, operate independently and remain an open platform.
Yet, it is sad, you know. It is sad, because despite its organisational and financial issues, GitHub as an independent company meant independence for the open-source world. And, in the open-source world, independence is what you need more than anything else.
It is when people mix the term “independence” with services being “free” (as in “free beer”), when things go wrong. GitHub was born at a time when venture capital was by far the main way of building online products and services, without having to sacrifice one’s own money. The free-to-try nature of VC comes at the cost of growth for the sake of pure growth. If growth stops, so does the VC money. Consequently, if growth is the main driver a VC-funded business is striving for, the business has no other choice, but give away a significant portion of the product or service for free.
Yet, growth alone won’t pay the bills and employees’ salaries. Businesses need to break even to stay afloat, and GitHub makes no exception. No matter how much money came in from paying GitHub customers, I doubt that it barely managed to cover the infrastructure costs and payroll. It was time for GitHub to ask the rest of its users to chip in. I have said it several times that GitHub needs a basic 1$-a-month plan, targeting users that host, say, more than 10 public repos. These could potentially benefit from a couple of private repos as well, without having to step up to the more expensive plans. 1$ per user monthly sounds ridiculous, but I can assure you that this act alone would have brought $10-15 Million monthly, at the current rate of GitHub’s user base. Far from the Billion-dollar unicorn club, but perhaps just enough to sustain the vision.
We love open source, because we love sharing, but we also profit from open source, each and every day. Why shouldn’t then companies that make all of this possible take profit, in exchange for their financial independence? The road to financial independence is hard, but not impossibly so. The recent innovation in blockchain technology and smart contracts demonstrated that venture capital investment need not be reserved for only a few, but democratized and made accessible to anyone.
As for Microsoft, well, despite all of its efforts and goodwill, at the end of the day, it remains a business organization. Developers are only a portion of Microsoft’s customer base, and their happiness does not directly relate to more profits in the company’s bank account. In situations of doubt, the company will logically have to choose what is best for the business, and this might not necessarily be the best for the developer community.
Perhaps, it’s all for the better, let’s hope. I just have this uneasy feeling that a significant chunk of open-source collaboration online, now lies in the hands of a business conglomerate, where it would be one of the services in its portfolio. I would have felt happier, had it remained the single point of focus of a financially independent and prosperous entity instead.
But that’s just me. What do you think?
Leave a comment


DrKat123
Home
Blog
News
About
Projects
Contact Us
Via Scratch
Via E-mail
Welcome to my Website!
Hi there! i'm DrKat123. this is my website.
I'm a 10 year old 7th grader who loves coding in HTML, CSS, JS, Python, PHP and Scratch.
Well, I usually compose classical music too.
Webcomic
Coming soon


The Best Way to Travel
Level up by knowing where you're going before you get there.
It's Free
That's right! It's absolutely free.

Travel around the world with ease.
Sign up to Travel Guide and simplify the way you travel.
Level up by knowing where you're going before you get there.
That's right! It's absolutely free.
Access Travel Guide wherever you are... whenever you are!


As part of my senior capstone at CNU I built Bailout!, a digital currency manager for Monopoly games. Using the app, you can do away with paper money and use Bailout! to quickly and easily send money between players, check your account balances, and see transaction history. The app is built in Swift with a websocket-based JSON API server using Django-Channels as the backend.
Check it outI designed, built, and launched the official Christopher Newport University for iOS and Android. The frontend is built using web technologies served using Cordova, and the backend is written as a .NET Entity Framework 6 application using Oracle Database. A RESTful JSON API was created to serve data such as dining hall menus, sports scores, workout class schedules, newspaper articles, recycling locations, campus alerts, and more. An administrative interface was built to allow self-service data updating to various departments. The project was planned, tracked, and built using the Atlassian suite.
Check it outI built a website using the Django framework that is used by over 1,000 students to plan their semester schedules. I designed Open Course to merge many of the disjointed aspects of scheduling including course search, pre-requisite / requirement verification, professor ratings, textbook purchasing, and more. Students can search for and mark the courses they're interested in taking, and will receive updates about the course, its status, and the number of seats left as registration nears. During the semester, students can print copies of their schedule, find textbooks at the lowest price, and see when their final exam is scheduled. The site utilizes MySQL databases, Ubuntu AWS EC2 servers, and OAuth login using your official school account.
Check it outMy freshman year of college I built a native iOS and Android app that uses location services to show students how crowded the on-campus dining halls are. The app can display daily menus, hours of operation, and can share information on the app about the dining hall. The backend is built in Flask and served from MongoDB via a JSON API. DiningBuddy was featured in the school's newspaper and on TV, and has over 5,000 downloads across both platforms.
Check it outI developed an interactive map for the Fiber Optic Sensing Association to display worldwide fiber optic sensing installations. The map was created using D3 and was set up to permit easy self-service updating using the existing excel data format by anyone in the organization when new installations are added. The map was the subject of the organization's press release on global installations.
Check it outAntiCheat is a program I created for Minecraft servers that detects and prevents client-side cheating. The program uses a series of mathematical checks to identify and block abnormal client behavior, and classifies users so that server administrators can easily deal with malicious players. AntiCheat was written in Java using the Bukkit server API and has an enterprise web-panel component that allows large-scale server admins to quickly check for and resolve any issues, even when not in the game. By the time the project was discontinued in 2014, it had been downloaded over 2 million times.
Check it outI created a mobile app and website for Newport News Public Schools' Aviation Academy to digitize their system of checking in and out tools to their toolroom. The Aviation Academy is a STEM Magnet Program that teaches students to build, fix, and fly planes, and as such they have an active workshop with many tools that are often misplaced or lost. In my volunteer work with the school I created a system of printable QR codes that can be scanned at an iPad to check in and out a tool. The status of the tools and logs of who has checked them out is then viewable on the Django web interface, where administrators can also add and remove tools and print new QR codes for them.


Blackruby Code
About
Dev
back
front
Tags
About
Dev
back
front
Tags
웹 엔지니어 - 데이터 시각화
December 25, 2017 - Yoonkh
Continue reading
웹 엔지니어 - 로그
December 24, 2017 - Yoonkh
Continue reading
웹 엔지니어 - 프론트엔드의 구현
December 24, 2017 - Yoonkh
Continue reading
웹 엔지니어 - 데이터베이스
December 24, 2017 - Yoonkh
Continue reading
웹 엔지니어 - PHP
December 24, 2017 - Yoonkh
Continue reading
Prev
Next


Environment settings for analysis in Portal for ArcGIS and ArcGIS Online.
Option to overwrite existing layers. When checked, if a layer with the same name already exists within your contents, it will be overwritten.
Option to keep the analysis dialog open and enabled while the tool is processing. This setting will allow you easily make modifications to your analysis parameters while the previous analysis job continues to run. Analysis is an iterative process and by keeping the tool dialog open, it allows you to easily make parameter changes and rerun your analysis.
Option to specify whether the result of your analysis will be created as a feature layer or as a feature collection.
Environment setting for raster analysis used to define the coordinate system of the result layer.
Environment setting for GeoAnalytics used to determine the coordinate system your analysis will use during execution of the analysis.
For GeoAnalytics, some analysis requires that processing be executed in a projected coordinate system. Any tool that has implemented binning of data or linear units requires a projected coordinate system.
Environment setting used to determine the extent or boundary that will be used during execution of the analysis. All input features that are completely within or that intersect the specified extent will be used in the analysis.
When performing raster analysis, setting the Snap Raster environment will adjust the extent of the output raster layer so it matches the cell alignment of the specified Snap Raster layer.
When performing raster analysis, this environment sets the cell size or resolution that will be used to create the output raster layer. The default output resolution is determined by the largest cell size of the input raster layer.
When performing raster analysis, use the Mask environment to specify a layer that will be used to define your area of interest. Only those cells that fall within the analysis mask will be considered in the analysis operation.


|
Living Room lights |
TV |
Living room AC |
Stereo |
|
Bedroom lights |
Night light |
Bedroom AC |
Projector |
|
Computer |
LED Lights |
Playstation 4 |
Xbox One |
|
Bedroom Fan |
Spotify |
Weather |
Sensors |


Pydantic discriminated unions. Some examples to simplify data structures and ensure type safety
Powerful type validation and discriminated Unions with Pydantic: Simplify data structures and ensure type safety. We are showcasing a few straightforward examples.
What is an union discriminator or tagged unions, and its role in Pydantic?
Well, well, well, look who decided to stroll into the world of Pydantic discriminators! 🕶 Brace yourselves, folks, because we’re about to take a sarcastic and catchy rollercoaster ride through this wild jungle of coding wonders. Buckle up!
So, what’s all the buzz about Pydantic discriminators? Oh, they’re just the coolest thing since sliced bread, my friends!  It’s like dealing with a bunch of divas in a high school drama, except instead of gossip, it’s all about attributes and properties. Drama queens, am I right?
Now, let’s say you want to pick out the perfect model from this chaotic ensemble. How on earth are you going to do that? Fear not, because Pydantic discriminators are here to save the day, just like a superhero with an ironic sense of humor. They’re like the Sherlock Holmes of model selection, deducing the perfect fit for you.
How does Pydantic discriminator works?
Pydantic’s discriminator feature allows the definition of data structures with multiple types, using a discriminator field to determine the actual object type. This enables type validation and serialization/deserialization based on the discriminator value, ensuring data integrity and flexibility in representing different types of objects.
Since Pydantic 1.9, we could make use of it. Let’s showcase it in an easy way:
from pydantic import BaseModel, Field, parse_obj_as
from typing import Literal, Union, Annotated
class Tiger(BaseModel):
animal_type: Literal["tiger"] = "tiger"
ferocity_scale: float = Field(..., ge=0, le=10)
class Shark(BaseModel):
animal_type: Literal["shark"] = "shark"
ferocity_scale: float = Field(..., ge=0, le=10)
class Lion(BaseModel):
animal_type: Literal["lion"] = "lion"
ferocity_scale: float
class WildAnimal(BaseModel):
__root__: Annotated[Union[Tiger, Shark, Lion], Field(..., discriminator='animal_type')]
my_shark = WildAnimal.parse_obj({'animal_type': 'shark', 'ferocity_scale': 5}).__root__
#print(Shark(ferocity_scale=5).json())
# Desarialice
WildAnimal.parse_raw(Shark(ferocity_scale=5).json())
## WildAnimal(__root__=Shark(animal_type='shark', ferocity_scale=5.0))
## True
The below polimorfic code example and some other interesting discussions could be found here: https://github.com/pydantic/pydantic/discussions/5785
Pydantic Annotated union discriminator example
But we could use a very simple approach to achieve most of the usage by using the Annotated
union.
Animal = Annotated[Union[Tiger, Shark], Field(discriminator='animal_type')]
raw_data = {
"animal_type": "tiger",
"ferocity_scale": 6
}
parse_obj_as(Animal, raw_data)
## Tiger(animal_type='tiger', ferocity_scale=6.0)
Get ready for the magic of the Field class, courtesy of Pydantic. It’s armed with a special power called “discriminator.” By setting the discriminator to “pet_type,” we unlock the ability to distinguish between our fantastic creatures. It’s like giving them their own special spotlight!
Hold on tight, because we’re about to venture into the wild lands of raw_data. It holds the secrets of a “pet_type” with the fiery spirit of a “tiger” and a mesmerizing “stripes” count of 6. It’s as if we’re peering into a digital zoo!
And now, it’s showtime! We summon the powerful parse_obj_as to work its coding wizardry. We present it with our regal Animal and the enigmatic raw_data. Abracadabra! With a wave of its wand, the transformation unfolds. The raw data morphs into a stunning representation of our chosen Animal. It’s like a magical metamorphosis!
Example of Polimorfic Base Model
class PolymorphicBaseModel(BaseModel):
type: str
_subtypes = dict()
def __init_subclass__(subcls, type=None, **kwargs):
super().__init_subclass__(**kwargs)
if type:
# n.b. if a subclass declares its own _subtypes dict, it'll take precedence over this one.
# This would allow us to re-use the same type names across different classes.
if type in subcls._subtypes:
raise AttributeError(
f"Class {subcls} cannot be registered with polymorphic type='{type}' because it's already registered "
f" to {subcls._subtypes[type]}"
)
subcls._subtypes[type] = subcls
@classmethod
def _convert_to_real_type(cls, data):
data_type = data.get("type")
if data_type is None:
raise ValueError(f"Missing 'type' for {cls}")
subcls = cls._subtypes.get(data_type)
if subcls is None:
raise TypeError(f"Unsupported sub-type: {data_type}")
if not issubclass(subcls, cls):
raise TypeError(f"Inferred class {subcls} is not a subclass of {cls}")
return subcls(**data)
@classmethod
def parse_obj(cls, data):
return cls._convert_to_real_type(data)
class Animal(PolymorphicBaseModel):
name: str
color: str = None
class Cat(Animal, type="cat"):
type: Literal["cat"] = "cat"
hairless: bool
class Dog(Animal, type="dog"):
type: Literal["dog"] = "dog"
breed: str
cat_instance = Animal.parse_obj({"type":"cat", "hairless": False, "name": "meaw", "color": "black"})
print(isinstance(cat_instance, Cat))
## True
Tthe PolymorphicBaseModel, a base class that sets the stage for polymorphic behavior. It defines a required type attribute and introduces a hidden _subtypes dictionary to keep track of subtypes.
Next, we dive into the init_subclass method, where the magic happens. It allows subclasses to register themselves with a specific polymorphic type. This lets us distinguish between different subtypes within the PolymorphicBaseModel hierarchy.
But hold on, there’s more to uncover! We make use of the _convert_to_real_type method, responsible for converting data to its actual subtype based on the provided type attribute. It checks if the type is valid, finds the corresponding subclass, and ensures it is a valid subclass of the base class.
Finally, we arrive at the parse_obj method, where the true parsing takes place. It serves as the entry point for parsing objects of the polymorphic hierarchy. Using the _convert_to_real_type method, it transforms the data into an instance of the appropriate subclass.
And there you have it! A glimpse into the realm of polymorphic models. It’s a world where base classes and subtypes come together, allowing for flexible and dynamic object parsing. Embrace the power of polymorphism and let your code adapt and evolve with grace!
Pydantic 2: TypeAdapter to parse data into a discriminated union
In Pydantic v2, you can utilize the TypeAdapter to parse data into a discriminated union. However, please note that Pydantic v2 is currently in pre-release, and the module’s current version is v1.7.
Therefore, make sure to upgrade to Pydantic v2 when it becomes available to utilize this feature.
from pydantic import TypeAdapter
adapter = TypeAdapter(Annotated[Union[Child1, Child2], Field(discriminator='type')])
child = adapter.validate_json(my_json_data)
Stay updated on Pydantic and Python tips
Hopefully, this post has helped familiarize you with the usage of unions and discriminators in Pydantic, showcasing some of its functionalities and enabling you to enjoy their benefits.
If you want to stay updated…


Next: DRANDMULTISTUDENTSTREFERENCE, Previous: DRANDMULTISTUDENTSTR, Up: Continuous Multivariate Distributions
DRANDMULTINORMALREFERENCE / SRANDMULTINORMALREFERENCE
Initializes a reference vector for use with DRANDMULTINORMALR
.
Reference vector is for
a Multivariate Normal distribution with probability density function, f(X), where:
f(X) = sqrt([det(C^(-1))] / [(2 * Pi)^M]) * exp(-(X - u)^T * C^(-1) * (X - u)),
where u is the vector of means, XMU.
(Note that SRANDMULTINORMALREFERENCE is the single precision version of DRANDMULTINORMALREFERENCE. The argument lists of both routines are identical except that any double precision arguments of DRANDMULTINORMALREFERENCE are replaced in SRANDMULTINORMALREFERENCE by single precision arguments - type REAL in FORTRAN or type float in C).
— Output: DOUBLE PRECISION REF(LREF)
On output: if INFO returns with a value of 0 then REF contains reference information required to generate values from a Multivariate Normal distribution using DRANDMULTINORMALR.
— Input/Output: INTEGER LREF
On input: either the length of the reference vector REF, or -1.
On output: if LREF=-1 on input, then LREF is set to the recommended length of the reference vector and the routine returns. Otherwise LREF is left unchanged.— Output: INTEGER INFO
On output: INFO is an error indicator. If INFO = -i on exit, the i-th argument had an illegal value. If INFO =1 on exit, then LREF has been set to the recommended length for the reference vector REF. If INFO = 0 then the reference vector, REF, has been successfully initialized.
Example:
C Generate 100 values from the C Multivariate Normal distribution INTEGER LSTATE,N, MM PARAMETER (LSTATE=16,N=100,MM=10) INTEGER I,J,INFO,SEED(1),STATE(LSTATE) INTEGER LDC,LDX,M DOUBLE PRECISION X(N,MM),XMU(MM),C(MM,MM) INTEGER LREF DOUBLE PRECISION REF(1000) C Set array sizes LDC = MM LDX = N C Set the seed SEED(1) = 1234 C Read in the distributional parameters READ(5,*) M READ(5,*) (XMU(I),I=1,M) DO 20 I = 1,M READ(5,*) (C(I,J),J=1,M) 20 CONTINUE C Initialize the STATE vector CALL DRANDINITIALIZE(1,1,SEED,1,STATE,LSTATE,INFO) C Initialize the reference vector LREF = 1000 CALL DRANDMULTINORMALREFERENCE(M,XMU,C,LDC,REF,LREF,INFO) C Generate N variates from the C Multivariate Normal distribution CALL DRANDMULTINORMALR(N,REF,STATE,X,LDX,INFO) C Print the results DO 40 I = 1,N WRITE(6,*) (X(I,J),J=1,M) 40 CONTINUE |


## Ripple Effect The `PacemFxRippleElement` adds ripple effect on element interaction (click, touch, ...).
## Applicable to any Element The `PacemFxRippleElement` can - of course - be applied to any element, not just buttons:


MSG_GEN_GUP_INTERACTION_COMMAND, MSG_GEN_INTERACTION_ACTIVATE_COMMAND
There are two ways of delivering an
InteractionCommand
to an Interaction. The first is through the
GenClass
message
MSG_GEN_GUP_INTERACTION_COMMAND
. In most cases, this is the message you will use to deliver commands to your dialog boxes. For example, you may send
MSG_GEN_GUP_INTERACTION_COMMAND
with IC_DISMISS to dismiss a dialog box. The second involves sending
MSG_GEN_INTERACTION_ACTIVATE_COMMAND
with one of the specified
InteractionCommand
types.
The system sends this message whenever the user activates a response trigger with null action fields. The system will pass the command in
ATTR_GEN_TRIGGER_INTERACTION_COMMAND
vardata with the message up the generic tree until handled by the first GIV_DIALOG Interaction. Handling may include unblocking and returning a
UserDoDialog()
response value, applying or resetting properties, and dismissing, depending on the
InteractionCommand
. Note that if an action is specified in the trigger's instance data,
MSG_GEN_GUP_INTERACTION_COMMAND
will not be sent--the specified action will instead.
In OSF/Motif, dialogs perform the following default activity with their various
InteractionCommand
s:
UserDoDialog()
value if needed.
UserDoDialog()
value if needed.
UserDoDialog()
value if needed.
All other
InteractionCommands
will just unblock and return a
UserDoDialog()
value if needed.
GIV_DIALOG GenInteractions are the most likely recipients of any
InteractionCommand
s. Popup Interactions only support IC_DISMISS and IC_INTERACTION_COMPLETE and will pass other
InteractionCommand
s up the generic tree. Any other Interactions (e.g. sub-groups) will always pass
MSG_GEN_GUP_INTERACTION_COMMAND
up the generic tree.
MSG_GEN_INTERACTION_ACTIVATE_COMMAND
is a higher-level function. When sent to a dialog GenInteraction with a relevant
InteractionCommand
, it will find the standard trigger for that
InteractionCommand
and activate it. This can be a Specific UI-supplied trigger or a replacement trigger supplied by the application. If no such trigger exists, the message sends
MSG_GEN_GUP_INTERACTION_COMMAND
to perform the default handling. This message is only supported by dialog Interactions.
void MSG_GEN_INTERACTION_ACTIVATE_COMMAND( word command);
This message activates a GenTrigger having the passed command in its ATTR_GEN_TRIGGER_INTERACTION_COMMAND; if no such trigger exists, this message calls
MSG_GEN_GUP_INTERACTION_COMMAND
to the Interaction itself with the supplied command value. Note that
InteractionCommand
type IC_INTERACTION_COMPLETE should not be used as this is a notification rather than a command.
Source: Unrestricted.
Destination: Any non GIT_ORGANIZATIONAL GenInteraction object.
Parameters:
command
InteractionCommand to activate (except IC_INTERACTION_COMPLETE and IC_NULL).
Return: Nothing.
Interception: May be intercepted to change or supplement default functionality of standard or custom interaction commands. Standard response triggers will use this message, so intercepting this message will allow changing the default behavior of these triggers without having to replace them with your own triggers.


These standard hash functions accept a TEXT or BLOB input and return a hash as a BLOB.
These functions are provided by the sqlean
"crypto" extension which is built into SQL Notebook.
MD5(data)
SHA1(data)
SHA256(data)
SHA384(data)
SHA512(data)
PRINT HEX(MD5('abc'));
-- prints "900150983CD24FB0D6963F7D28E17F72"


{% extends "global/Base.html" %} {% load staticfiles otree_tags %} {% block content %}
You are about to start the second task, but first you will be introduced to the task in the practice session. We will ask several questions to test your comprehension of this task, you have to be able to answer all these questions correctly before you can advance to the actual task session.
In the Second Task there are two participants are interacting in a pair, one participant is the sender and the other participant is the receiver. Both the sender and the receiver share a fixed amount of lab token worth {{ Constants.endowment }}. The Sender will decide how much the sender will retain. Then the rest of the lab token will be transferred to the receiver.
{% include 'dishonesty_app/includes/allocation_table.html' %}Prior to the sender making a decision, our algorithm (that is only observed by the sender) will suggests the sender to allocate certain points to the receiver . The sender might choose to follow or he/she may not follow our algorithm suggestion.
please click the next button to proceed
{% next_button %} {% endblock %}


Sainath TallamStudent at IIEST Shibpur. I am a Competitive Programmer🌟. I 🧡 listening to songs. I am a Foodie😋. Always a learner😇 |
| 2019-2023(ongoing) | B.tech in Information Technology | Indian Institute of Engineering Science and Technology, Shibpur |
| 2017-2019 | Higher Secondary (MPC) | Trinity Junior College, Karimnagar |
| 2016-2017 | Secondary School | Trinity Model Secondary School, Peddapalli |
|
|


--- title: Core keywords: fastai sidebar: home_sidebar summary: "API details." description: "API details." nb_path: "nbs/00_core.ipynb" ---
Below is an example of how to use a datamodule with transforms.
data_dir = "datasets/cifar10"
transform = Compose(
[
Resize(256, interpolation=2),
CenterCrop(224),
ToTensor(),
Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
]
)
dm = ImageFolderDataModule(data_dir, 32, transform, 8)
dm.setup()
Dataloaders can be accesed from the datamodule like so,
for x, y in dm.train_dataloader():
test_eq(type(x), torch.Tensor)
test_eq(type(y), torch.Tensor)
break
from pytorch_lightning.utilities import rank_zero_only
from pytorch_lightning.loggers import LightningLoggerBase
from pytorch_lightning.loggers.base import rank_zero_experiment
from rich import print
class LightWeightLogger(LightningLoggerBase):
"""A light weight logger that doesn't save any logs, it will just print to the command line"""
@property
def name(self):
return 'LightWeightLogger'
@property
@rank_zero_experiment
def experiment(self):
# Return the experiment object associated with this logger.
pass
@property
def version(self):
# Return the experiment version, int or str.
return '0.1'
@rank_zero_only
def log_hyperparams(self, params):
# params is an argparse.Namespace
# your code to record hyperparameters goes here
pass
@rank_zero_only
def log_metrics(self, metrics, step):
# metrics is a dictionary of metric names and values
# your code to record metrics goes here
print(step, metrics)
pass
def save(self):
# Optional. Any code necessary to save logger data goes here
pass
@rank_zero_only
def finalize(self, status):
# Optional. Any code that needs to be run after training
# finishes goes here
pass
modelname = 'resnet18'
model = CNNModule(modelname, pretrained=True, num_classes=len(dm.trainset.classes))
# Setup logger
logger = LightWeightLogger()
# Run a trial `fast_dev_run` of 5 iterations on the trainset
trainer = pl.Trainer(gpus=1, checkpoint_callback=False, max_epochs=10, logger=logger)
test_eq(trainer.fit(model, dm), 1)


Toggle navigation
Data Integration Tool (DIT)
Create Flow
Update Flow
Run Flow
Reader Widgets
read_csv_file
Writer Widgets
write_csv_file
Manipulation Widgets
% for widget in configs['ManipulationWidget']:
${widget['name']}
% endfor
Define Flow Data
Flow Name
Log File
Log Level
Debug
Info
Warning
Error
Critical
Delete temporary files?
Delete output files?
Define Input Data
Reader Widget
Choose Widget
Read CSV File
Data Directory
Variable Map File
Missing Values
[
]
Missing Characters
[
]
Define Input Manipulations
Widget #1 - Math Add Constant
Do the widget?
Subset columns for widgets with header row?
Widget Inputs
constant
missing_value
Input columns for widget
[
]
Output columns for widget
[
]
Widget #2
Choose Widget
Define Output Data
Writer Widget
Choose Widget
Write CSV File
Output Data Directory
Temporary Directory
Define Output Manipulations
Step 1 Widget
Choose Widget
Save flow


STROKE OF GENIUS
Ex-Aston Villa boss Bruce says a round of golf helped him steal McGinn from Celtic
by John ShieldsSTEVE BRUCE revealed how a round of GOLF helped him steal John McGinn from Celtic.
The ex-Aston Villa boss has hailed the Scot, as his best signing after snatching him from Hibs for £3million 15 months ago.
And Bruce admitted he had to pull out all the stops to gazump Celtic — including treating McGinn’s golf-mad dad to a round at The Belfry.
The Newcastle boss, whose side tackle Villa on Monday night, said: “Given their financial plight at the time, Villa didn’t have £3m.
“How we got him out of a move to Celtic I don’t really know because his grandfather Jack was Celtic’s former chairman.
“We stuck at it because we knew how good John was and it took a couple of rounds of golf at The Belfry with his dad until we could muster the money together. I didn’t mind paying for those.”
Scotland ace McGinn has now been linked with a £50m move to Manchester United and Bruce added: “John’s at the level of a big club like Manchester United.
“Given what he’s done in the past 12 months I can only see him continuing to improve.
“He has to be one of my best ever signings because he has a determination to do well. With him and Jack Grealish in the middle, they’ll be a handful because they are two top players.”


Kirk Herbstreit Reveals His Top 5 Teams Of Week 13
by Alek ArendCollege football’s Week 13 is in the books. This past week’s slate of games didn’t feature many highly-anticipated contests, but it still brought about several shocking results and upsets.
As he does each week, ESPN’s Kirk Herbstreit has revealed his top 5 (or in this case, six) teams of the previous weekend. To no surprise, the Arizona State Sun Devils claim the top spot on the list after upsetting No. 6 Oregon in dramatic fashion.
ASU quarterback Jayden Daniels had a monster game, throwing for 408 yards and three touchdowns. The Sun Devils jumped out to a 24-7 lead late in the fourth quarter before the Ducks attempted a ferocious comeback – but it was all too late. ASU held on to beat Oregon 31-28, knocking the Ducks out of the College Football Playoff race.
Here’s the rest of Herbstreit’s top 5 teams of Week 13:
- Arizona State
- FIU
- Charlotte
- Cal
- Minnesota and Baylor
The FIU Panthers shocked Miami on Saturday night, coming away with a 30-24 victory. Not only was it a huge win for the Panthers, but it’s sparked questions surrounding Manny Diaz’s future with the Hurricanes.
Charlotte football knocked off Marshall 24-13, becoming bowl eligible for the first time in school history in the process.
Cal comes in at No. 4 on Herbstreit’s top 5 list after the Golden Bears ended their losing streak to Stanford with a 24-20 win on Saturday.
At No. 5, Herbstreit gives the nod to two teams – Minnesota and Baylor. Both teams bounced back from losses last week. The Golden Gophers beat Northwestern 38-22 while Baylor took care of business against Texas, 24-10.


The load balancer occupies a neutron network port and has an IP address assigned from a subnet.
IP address:
If an IP address is provided it must be a well-formed IPv4 or IPv6 address. The system will
attempt to assign the provided IP address to the load balancer. If an IP address is not provided
then one will be allocated for you.
Subnet:
The network on which to allocate the load balancer's IP address.