EFA enquiries
Contact form https://form.education...
For all enquiries for the Education Funding Agency
Guidance
This page contains information related to the 2015 to 2016 academic year. Please visit our student support page for the most up to date guidance.
Guidance for all institutions administering the 16 to 19 Bursary Fund in 2015 to 2016.
The 16 to 19 Bursary Fund was introduced in the 2011 to 2012 academic year. It is money the government has given to local authorities, schools, colleges and other education and training providers (institutions) to give to disadvantaged students. Its purpose is to provide financial support to help students overcome specific barriers to participation, so they can remain in education.
There are 2 types of 16 to 19 bursaries:
Education institutions are responsible for managing both types of bursary. Students who want to apply for support from the bursary fund should contact their chosen institution as soon as possible to make an application. There should also be information about applying for the 16 to 19 Bursary Fund on institution websites.
This guide is for all institutions that administer the 16 to 19 Bursary Fund. This includes schools, academies, FE colleges, sixth-form colleges, training providers, specialist independent providers and local authorities. Education Funding Agency (EFA) calls all of these ‘institutions’ throughout this guide.
This guide is non-statutory and sets out the arrangements the Secretary of State intends to make under Section 14 of the Education Act 2002. Although the guide is not statutory, we expect institutions to use it as the basis of their bursary policies.
A guide for young people and their parents is available on the 16 to 19 Bursary Fund page .
Where institutions have questions about the 16 to 19 Bursary Fund not answered by this guide, they should contact EFA.
If you are enquiring from or regarding an academy
Contact form https://form.education...
For all enquiries for the Education Funding Agency
For other institutions
From late-May 2015 the Learner Support Service will be known as the Student Bursary Support Service (SBSS) and will continue to administer the 16 to 19 Bursary Fund for vulnerable students on behalf of EFA. The new online system will be easier to use, more responsive and will be accessible via most web-enabled devices (PC, smartphone, laptop or tablet).
Universal Credit (UC) is being rolled out across the country. It will gradually replace Income Support and the Employment and Support Allowance, which are both qualifying benefits for the vulnerable bursary. You may soon start to see students claiming vulnerable bursaries based on receiving UC instead of these benefits. Universal Credit award notifications do not include any information on the benefits they replace, so you will not be able to tell from the document whether a student meets the Income Support or Employment and Support Allowance criteria.
For the academic year beginning in September 2016, you should ask any student claiming a vulnerable bursary based on a UC award to tell you which benefit it has replaced, so that you can complete the SBSS claims form correctly. Those who say that their UC award is in place of Employment and Support Allowance must also be receiving Disability Living Allowance or its replacement, Personal Independence Payment. If the student is unsure why they have been awarded UC, treat it as a replacement for Income Support. You should then send the claim to the Student Bursary Support Service (SBSS) in the usual way.
Funding claims for vulnerable students in the 2015 to 2016 academic year will be made online using the SBSS portal .
Institutions will be able to submit vulnerable bursary funding claims for the 2015 to 2016 academic year from 1 August 2015.
To reduce bureaucracy, we have decided to stop the annual voluntary MI collection. Data fields for the 16 to 19 Bursary Fund are included in the ILR and the school census, and we encourage all institutions to complete these fields so that we are able to evidence take-up of the bursary.
Education institutions that receive an allocation of 16 to 19 bursary funding from the EFA have the following responsibilities:
Most students who get support from the bursary will receive a tailored award from the discretionary bursary. Students in one or more of the groups below need more support and can apply for a vulnerable bursary of up to £1,200. Institutions do not receive an allocation of funds for vulnerable bursaries. They need to draw down the funds from the Student Support Bursary Service (formerly the Learner Support Service), using the relevant claim form.
The eligible groups are students who are:
Please note that to qualify as eligible for a vulnerable student payment the young person does not have to live independently of their parents; they can claim ESA or UC in their own right. Parents should note that they will not be able to claim Child Benefit for them if the young person’s claim for ESA succeeds.
For the purposes of the 16 to 19 Bursary Fund, the definitions are:
“children in care” means:
“care leavers” means:
In legal terms these children are called relevant children or former relevant children.
Any young person placed with a foster carer by the local authority, including where the foster carer is on the books of an independent fostering agency, is classed as looked after. They are therefore in a defined vulnerable group for the bursary.
A child who is privately fostered (the arrangement is made between the parent and the person who will care for the child) is not classed as a looked after child, as this is a private arrangement. Local authorities should have published policies stating what support they will provide in these circumstances.
Where a student has been in the care of the local authority and that care is transferred to another party via a permanent form of fostering, e.g. a Special Guardianship Order. The student is deemed to have left care and is now a care leaver. They are entitled to a vulnerable student bursary as a former relevant child/care leaver.
It is the responsibility of the institution to assess if students are eligible to receive a vulnerable bursary payment.
Young people in the defined vulnerable groups are eligible for a bursary of up to £1,200. EFA would not usually expect students in the vulnerable groups to be awarded less than £1,200, if they are on a course lasting 30 weeks or more and are participating full-time. Institutions should pay a pro-rata amount for courses of less than 30 weeks.
Institutions can pay a student more than £1,200 if they need extra help to remain in education. It should be paid from their discretionary allocation, or from their own funds.
The vulnerable bursary is payable for each academic year the student is in education or training, as long as they continue to meet the eligibility criteria of the scheme.
The funding for vulnerable bursaries is held centrally by the SBSS. Institutions need to draw down vulnerable funding on demand, whenever new students are identified who meet the vulnerable student criteria.
To draw the funding down, institutions need to complete and submit a funding claim. This must be done via the SBSS online portal . The online claim form mirrors the existing form and has guidance notes built in throughout.
The SBSS will process the claim form, and if successful will send out a funding statement confirming the amount to be paid. The payment will be processed and remittance advice will be issued within 2 weeks of receiving the funding claim.
Institutions are responsible for identifying students in the defined vulnerable groups who are eligible for a vulnerable student payment.
Institutions should be aware that students who are in care or are care leavers might not want to say so because of fear of stigma. They should ensure confidentiality to reduce these concerns. For example, institutions should tell students how their information will be used and shared and do not make students identify themselves publicly.
Institutions can take the initiative to identify students eligible for the vulnerable bursary by working with the local authority, looked after children’s education services and care leaver services, to help and encourage students to apply for a bursary. Institutions and local authorities can also set up local data sharing agreements to share information on which students might be eligible and who should be supported to make an application. For example, institutions might want to ask their local authority if a young person received free school meals in year 11.
Good practice
Examples of working with local stakeholders to identify eligible young people:
Institutions will need proof that students are eligible. Institutions should ask for and retain copies of evidence from the student, for example:
Students must receive these benefits in their own right to be eligible for a vulnerable student bursary.
Document the assessment process and retain copies of the evidence provided. Institutions may find it is helpful to include a list in their application forms where students can certify their eligibility, as long as it is backed up by the relevant evidence.
Once a student has been assessed as eligible for vulnerable student payments, the funds can be drawn down from the SBSS. Institutions can submit a funding claim for vulnerable bursaries via the SBSS portal .
Institutions can give a qualifying vulnerable student who is on a course lasting less than 30 weeks less than £1,200:
Where a vulnerable student is on a part time course, the institution can make a reduction based on an hourly or daily rate.
For example:
EFA would not usually expect students in the vulnerable groups to be awarded less than the relevant pro-rata amount if they are part-time, or on a shorter course.
There can be cases where a young person is eligible for a vulnerable bursary, but their financial needs are already met or they have no relevant costs.
Examples could be:
If a student in these circumstances still wants to claim a vulnerable student bursary, institutions can decide to award a reduced bursary or no bursary at all. If institutions decide to do this, they must ensure all relevant parties are told why.
Discretionary bursaries are awards made by institutions to individual students. They are targeted on overcoming the individual barriers to participation a student faces. They can be for whatever amount is deemed necessary to do this.
It is up to institutions to decide which students will receive a discretionary bursary and how much they will receive. However, they should be targeted at students who cannot stay in education without financial help for things like transport, meals, books and equipment. Institutions should not make blanket or flat rate payments to all students.
Students that apply should be assessed individually and awarded a bursary based on their actual financial need. This assessment should be documented and the evidence obtained to support the amounts being claimed should be retained for audit purposes.
Institutions should:
Institutions set their own eligibility criteria for discretionary bursaries, but they must comply with the basic eligibility conditions of the scheme. Institutions must also comply with the requirements of the Equality Act 2010 when setting their eligibility criteria. They must not discriminate against their students, either directly or indirectly, on the basis of their protected characteristics.
Institutions must manage the number and size of discretionary bursary awards to keep within their budget. Institutions may decide to retain a small emergency fund from their discretionary allocation to be used to support students who experience exceptional circumstances during the academic year which impact on their ability to participate.
EFA is not usually able to give more funds to institutions that run out of money. However, there is nothing to prevent institutions from topping up the bursary with their own funds to support students who are in need. Further information on the Equality Act 2010 is available online.
Institutions are encouraged to work with other local institutions and the local authority to agree a common approach to the 16 to 19 Bursary Fund taking into account the needs and circumstances of students locally. This could include institutions working together to pool funds and centrally manage and administer the bursary.
Good practice
Institutions can use various ways of deciding who should get discretionary bursaries, but they should always ensure that discretionary funding reaches students most in need of financial support.
Please note that institutions can take into account any unearned income such as shares/investments, savings and rental income, when assessing whether students should receive a discretionary bursary.
Students can apply more than once if their circumstances change. If this happens they are reassessed, including a one-to-one interview to determine if there are any exceptional circumstances which need to be taken into account.
Some examples of eligibility criteria are given here, but there will be others.
Institutions can take into account whether the student is from a single parent family, the number of dependent children in the household or if a student has any caring responsibilities for relatives or is a teenage parent.
This is an example of how one college uses income bands.
Good practice
For institutions that already have a contract or funding agreement with the EFA, a discretionary allocation will be made annually as detailed below. These institutions should use the claim form to draw down vulnerable bursaries for eligible students.
Institutions that are new to the EFA should check the section on getting a discretionary bursary allocation.
Where an institution operates out of more than one location across England, or through sub-contracts, the allocation will be made to the lead office for distribution to each site.
For most institutions, the discretionary bursary allocation for the 2015 to 2016 academic year has been calculated on:
For example: if the percentage is 40%, and there are 500 allocated student numbers in an institution, that would mean an allocation of 200 x £298
The discretionary bursary will be paid in 2 parts. Two-thirds will be paid in August 2015 and a third will be paid in April 2016.
Institutions should manage the discretionary bursary to keep payments within budget.
Maintained schools’ sixth-form allocations will continue to be made through local authorities, who are asked to pass the funding to the school. The school is then responsible for administering the funds.
Local authorities may also be allocated funds to cover students in other maintained institutions such as Pupil Referral Units and a small number of other institutions who EFA do not have a direct funding relationship with.
Where a student has been placed by a local authority in independent provision and the local authority is funding that place, the institution should work with the local authority to access the appropriate support from the bursary.
Local authorities will be responsible for drawing down the funding for vulnerable students placed by a local authority in independent provision from the SBSS. By submitting a claim for funding for vulnerable students through the SBSS portal, the local authority is confirming that those students fulfil all the eligibility criteria of the scheme.
EFA allocates discretionary bursary funds to open academies directly, in September and April in a two thirds / one third split.
The process for making payments to converter academies is:
Institutions that newly start delivering education and training for the EFA in the 2015 to 2016 academic year, or that will be continuing with their market entry programme (e.g. zero-funded provision) will be considered for a 2015 to 2016 16 to 19 Bursary Fund allocation - depending on the nature of the programme being delivered - at the point that an EFA contract is generated.
To be eligible for an allocation of the 16 to 19 Bursary Fund, the institution must be publicly funded and subject to inspection by a public body that assures quality, such as Ofsted.
The institution must also be either:
Where institutions offer valid provision, and would like to apply for an allocation of the 16 to 19 Bursary Fund to support their eligible students, they may need to complete a ‘new institutions’ form – which is available on request from EFA.
Academies should request a form from
Contact form https://form.education...
For all enquiries for the Education Funding Agency
Other institutions should use
Note that EFA may need to undertake a financial health assessment of the institution before allocating funding.
This section covers basic eligibility requirements of the scheme and mirrors eligibility for publicly funded 16 to 19 education and training. It applies to both types of bursary – discretionary and vulnerable.
To be eligible to receive a bursary the student must be aged:
If a student turns 19 during their programme of study, they can continue to get the bursary to the end of the academic year in which they turn 19, or to the end of the programme of study, whichever is sooner.
The only students aged 19+ who are eligible to receive a bursary from the 16 to 19 Bursary Fund are those who have a Learning Difficulty Assessment (LDA) or an Education, Health and Care Plan (ECHP) due to their High Needs and who attend a Special Post-16 Institution (SPI). These students can receive a discretionary bursary while they continue to attend their education, as long as their eligibility continues and the SPI considers they need the additional support in order to continue their participation.
Examples of how the age eligibility criteria should be applied to students include:
Students must meet the residency criteria in the EFA funding regulations for post-16 provision 2015 to 2016 . The regulations set out the evidence that institutions must see to confirm eligibility.
Generally, asylum seekers are not entitled to public funds. Accompanied asylum seeking children (ie those under 18 with an adult relative or partner) and those aged 18 and above are entitled to education, but not to public funds. If they are destitute they can apply to the Home Office for suitable housing and cash for essentials, but they are not eligible for other income.
As long as an asylum seeker has not had their application refused, institutions can provide in-kind student support such as course related books, equipment or a travel pass. Under no circumstances should an institution give cash to an asylum seeker who is not an unaccompanied asylum seeking child (UASC).
Unaccompanied asylum seeking children do not receive cash support from the Home Office. They are the responsibility of the local authority. They are treated as looked-after children and are eligible for a vulnerable bursary.
When these young people reach legal adulthood at 18, then unlike ‘citizen’ children in care, institutions must consider their immigration status. If their asylum claim is decided in their favour the local authority will have to provide them with the same support and services as care leavers. As such, they will continue to be eligible for a vulnerable bursary until they reach the upper age limit.
Where an asylum claim is not supported, they may not be able to stay legally in the UK. When asylum claims have been fully heard and the appeals rights exhausted, they have no entitlement to public funds. There are a few exceptions where the withdrawal of support would be seen as a breach of human rights.
Young offenders can apply for a bursary if:
Institutions should provide in-kind support to young offenders, rather than cash wherever possible.
Students should be participating in provision that is subject to inspection by a public body that assures quality (eg Ofsted). That provision must also be either:
Students on distance learning courses are not automatically excluded from applying for a bursary. However, institutions should only award a bursary where there are specific financial barriers preventing the student from taking the course. This is because most students on distance learning courses do not have the kinds of costs which the bursary fund is intended to cover, for example transport, equipment and uniforms.
The most appropriate way of helping these students is often through in-kind support. For example, providing or lending equipment, or funding a temporary travel pass to enable the student to attend exams or university interviews.
Institutions can generally only pay bursaries to students aged 16 or older. However, in exceptional circumstances institutions may use their discretion to pay bursaries to younger students. For example, where a student is following an accelerated programme they may receive a bursary. This does not apply to 14 to 16 year olds attending college as part of their Key Stage 4 programme.
The bursary helps students with the costs of continuing in further education only. Separate student finance arrangements have been made to support students in higher education – young people can find out more details on this website.
This includes students starting the second year of their course. Students who are 19 and over should contact their institution to see if they can access Discretionary Learner Support provided by the Skills Funding Agency .
Students on apprenticeship programmes, or any waged learning or training, are not eligible to apply for a bursary.
Students on a traineeships programme are non-waged, so may be eligible to apply for a bursary.
The bursary was set up to remove specific barriers to participation, so it should be spent in a way that removes these barriers. Institutions can insist that bursary funds are spent on travel costs, meals during the day, or equipment, or any other support that has been identified as necessary to enable the student to benefit from their education.
Institutions are free to decide how often vulnerable and discretionary bursary payments are made, taking into account the purpose of the bursary, the student’s circumstances and local arrangements. We know from the evaluation that students prefer regular payments, especially weekly, as this helps them to manage their finances. It also means that if a student has a payment withheld due to failing to meet conditions, they will not be left without support for a long period.
It is good practice to pay in-kind bursaries rather than cash where possible. This helps to ensure that the bursary will help students to participate. There are no restrictions on what in-kind payments can be for, examples could include:
However, in the case of students in the vulnerable group, the value of in-kind payments and how the cost is deducted from the £1,200 should be made clear to students.
There are no limits set for the amount of discretionary payment that can be awarded to students who need support from the bursary. Institutions can award discretionary bursaries of £1,200 or more as long as they stay within their overall budget.
Bursaries should be sufficient to help students meet the costs related to participation e.g. transport, books and equipment, field trips and other course-related costs and may also be used towards the costs of attending university interviews and open days.
Where transport costs have been identified as a specific barrier to participation, the bursary can be used to help meet these costs. However, this does not replace the statutory duty on local authorities, who need to set out in an annually published transport statement the arrangements they will make to facilitate the participation in education or training students of sixth-form age.
Where the bursary is paid directly to the student, it is good practice to pay by BACS transfer to their own account. It is not recommended that large or lump sum payments are made to students. Evidence from the independent evaluation of the bursary is that students prefer more frequent payments (weekly) as they find them easier to manage.
Students aged 16 can open a basic bank account. The basic bank account will allow BACS transfers and allow the student to withdraw money. More information on basic bank accounts can be found at British Bankers’ Association .
EFA would not expect the bursary to be paid into another person’s account, except in exceptional circumstances where a student is unable to administer their own account. If the student is in one of the vulnerable groups and cannot manage their own funds, the institution will need to consider who is going to manage the bursary on the student’s behalf.
Students and their families should direct all payment queries as well as queries about eligibility to their institution. Institutions are responsible for deciding who is eligible for the bursary fund, as well as how much a student should be awarded, and when the payments will be made.
Examples of different payment regimes introduced by institutions:
Receipt of a vulnerable or discretionary bursary should be conditional on the student meeting some agreed standards. These standards are set by the institution and could relate to attendance and standards of behaviour. These standards need to be clear accessible and understood by students.
Institutions should also ensure that their policies on pro-rata awards and their conditions of payment are clear and accessible to students, and should explain these policies as part of the induction process.
Evidence that a student has seen and agreed to the conditions should be kept for audit, for example in an agreement that is signed by the student.
Where there are concerns with attendance or behaviour, it is good practice to talk to the student about the issue. Because receipt of the bursary is conditional on meeting the agreed standards, institutions can withhold payments, but they should consider the individual circumstances of the student first. Evidence from the independent evaluation of the bursary indicates that some students have been sanctioned to the extent that their bursary funding for a whole term has been withheld. This is not recommended as it can stop students attending.
Institutions should consider the impact on attendance that might be caused by illness or other exceptional circumstances. This should be built into the payment conditions agreed between the student and their institution, so that both parties are aware of the possible affect to payments. Institutions should also be aware that payments should be stopped for students who have been absent for a period of four continuous weeks or more (excluding holidays, or if there is evidence of an intention of the student to return). Or for students who have made a decision to withdraw from a study programme. Institutions can take back money from students if they have not spent it for the agreed qualifying reason. However, institutions should consider the individual student’s circumstances first.
Examples of best practice for payment conditions include:
16 to 19 Bursary Fund payments do not affect entitlement to DWP income-related benefits.
16 to 19 bursaries are paid directly to students in addition to other means-tested benefits paid to families, such as Income Support, Jobseeker’s Allowance, Child Benefit, Working Tax Credit and Housing Benefit and does not affect them.
However, if the student is getting DLA (or Personal Independence Payments) and ESA or UC, parents can no longer receive certain household/family benefits for that child, eg child benefit. Bursaries are not a substitute for other sources of financial support such as childcare payments made under the Care to Learn scheme , or payments to meet residential costs under a Residential Support scheme .
Bursaries should not be regular payments for living costs, as they would then be subject to the Social Security Amendment (Students and Income-related Benefits) Regulations 2000.
When assessing and paying students, institutions need to be aware that they are subject to equality legislation, which means that they cannot discriminate against any student, directly or indirectly. They are also subject to the public sector equality duty in Section 149(1) of the Equality Act 2010.
Institutions that offer standard academic year provision may want all applications for the bursary submitted by a certain date, so that they can assess the overall level of demand and make discretionary awards on a fair basis. However, they need to take into account that there will be some needs that come up later in the year and be flexible in their response. Consequently, there should be no absolute cut-off date for applications.
For institutions offering short-term or roll-on roll-off provision, students should be able to apply at any point during the academic year.
Bursary payments must also not be made too late in the year for students to use it to help them with costs to participate.
EFA expects institutions to spend no more than 5% of their total bursary allocation on administrative costs. As institutions no longer receive a vulnerable students’ bursary allocation, costs for administering vulnerable bursaries have therefore reduced and can be covered by the 5% of their discretionary allocation.
Institutions should publish a statement setting out how they will use their bursary fund. This should be done early enough for students to be able to use this information when deciding what post-16 institution they are going to attend. The arrangements must be clear and available to students and EFA.
Because of the discretionary nature of the bursary, students are most likely to hear about it directly from institutions. Institutions need to make sure that information both printed and on their website is kept up to date. Institutions should work with local authorities to find ways to raise awareness of the bursary amongst young people, particularly those in the vulnerable groups. Institutions are also encouraged to work with their feeder schools to ensure young people are aware of the help available. This will mean young people can make better informed decisions about their education.
It should be clear to students that they are being supported by the 16 to 19 Bursary Fund and institutions should be mindful of this when considering developing their own financial support branding.
Good practice suggestions are to:
Examples of policies and procedures in place at institutions designed to raise awareness of the bursary early include:
Institutions are only permitted to use the free meals funding allocated to them by the EFA to support students who meet the free meals criteria as set out in the Free Meals guide .
If an institution determines that it is necessary to enhance the £2.41 free meals funding rate, ie to provide a meal with a greater value, from the Bursary Fund or other sources, they have the discretion to do so.
However, if institutions choose to enhance free meals funding from the Bursary Fund, they must ensure that they do so in a way which ensures the Bursary Fund continues to provide sufficient help to students facing the range of barriers to participation (the cost of transport, books, equipment, etc). Free meals funding should not be enhanced to the detriment of these other needs.
Students who are eligible for a free meal may receive additional support from the Bursary Fund, if the institution assesses that they meet the criteria for a defined vulnerable group bursary or that they are facing significant financial barriers to participation and require additional support from their discretionary bursary allocation.
Institutions should, however, ensure that the provision of a free meal or the funding provided to the student for the free meal is considered when assessing their need for support – this point applies both to the vulnerable group bursary and discretionary bursary.
Equally, institutions may use discretionary bursary funds, as they can now, to provide meals to students who are not eligible for free meals but for whom the absence of regular meals is proving a barrier to their participation and achievement.
Students and/or their families should sign a declaration when they apply for either a vulnerable or discretionary bursary. Seek their confirmation that any evidence given in support of the application is correct and complete to the best of their knowledge and belief.
Students and their families should be made aware that by signing the declaration they are agreeing to all the conditions and eligibility criteria of the scheme.
Students and their families should be made aware that giving false or incomplete information which results in an overpayment will mean that you will stop any future payments, and seek repayment of anything paid so far. The matter may also be referred to the police with the possibility of the student and/or their family facing prosecution.
During the 2015 to 2016 academic year institutions may accrue some unused vulnerable bursary, for example:
Up to 30 April 2016, institutions are expected to recycle this funding and use it to offset against claims to the SBSS for other vulnerable students.
Where funds from a previous student are being recycled and institutions require less funding (or possibly no additional funding), vulnerable students should still be reported to the SBSS to ensure EFA has accurate information on the numbers of vulnerable students.
From 1 May 2016, institutions can recycle any vulnerable bursary funding claimed, but no longer required, into their discretionary bursary funding.
Any underspends from the 2014 to 2015 academic year can be rolled forward into the 2015 to 2016 academic year and used with the discretionary allocation for 2015 to 2016. Rolled forward funds must be spent before institutions use their allocated discretionary funds for the 2015 to 2016 academic year.
Any underspends rolled forward to the next academic year must only be spent on participation costs for students assessed as eligible for support from the Bursary Fund.
If an institution does have an underspend they should check that they are being proactive enough in identifying the students that are in need, or if they are giving them enough money to cover the needs that they have.
If an institution has no need for their discretionary bursary allocation they should notify EFA and its return will be arranged.
To reduce bureaucracy, we have decided to stop the annual voluntary MI collection. Data fields for the 16 to 19 Bursary Fund are included in the individualised learner record (ILR) and the school census, and we encourage all institutions to complete these fields so that there is evidence of take-up of the bursary.
If IT equipment, for example, a laptop or tablet is necessary and the student cannot complete the course without it, it can be bought with bursary funds.
IT equipment should be returned once the study programme has been completed so it can be used by another student. If keeping it on campus is the best way of ensuring that this happens, then institutions have the right to set this as a condition.
Institutions need to insure IT equipment, and must consider the costs of data cleansing when returned.
Where an institution operates out of more than one location across England, or through sub-contracts, the allocation will be made to the lead office for distribution to each site.
Institutions should ensure that any young people attending provision that is delivered by sub-contractors are able to apply for the 16 to 19 Bursary Fund. It is the institution’s responsibility to ensure that the scheme’s objectives are met at each site and by any sub-contractors.
The bursary fund should not be used by institutions for any reason that would give them a competitive advantage over other institutions, such as:
Block payments to students for attendance irrespective of their actual financial need should not be paid. The bursary fund is for supporting students who have a genuine financial difficulty that might prevent them from continuing in education, rather than acting as an incentive for attendance.
The DfE takes all concerns relating to financial irregularity or impropriety seriously and will instigate an investigation where it considers that concerns have been raised in good faith and there is sufficient evidence to warrant it. Further guidance and contact details are available on this website.
It is the responsibility of the institution to investigate instances of fraud when students are applying for a bursary. Where evidence is found that misleading or fraudulent information has been knowingly submitted, by a student or parent, resulting in the student receiving a bursary that they should not have received, the institution should attempt to recover the overpayment from the student
If significant fraud is identified it should be reported to EFA. Significant fraud involves one or more of the following:
If the criteria below are not met during a Risk Analysis Division visit EFA will recover funds.
16 to 19 Bursary Funds are subject to assurance as part of the normal assurance arrangements for 16 to 19 education and training. Audit guidance is available for institutions on GOV.UK. Institutions should have ways that record bursary applications and awards (including the number, value, purpose, whether awarded or not, and brief justification).
For audit purposes, institutions can either:
Where documentation is recorded as having been seen, institutions need to be fully aware of the implications of the document they are approving.
Hard or scanned copies of all documentation for the 16 to 19 Bursary Fund should be kept for a period of 6 years (records can be kept electronically).
This documentation should include evidence of the application process, documents relating to how the student was assessed (including copies of any evidence presented for the purposes of determining eligibility) and the funds issued. Where institutions have undertaken to evidence a student’s agreement to their conditions for payment, for example in a written agreement, copies of this agreement should be kept.
Institutions should keep records to show what payments they have made from the bursary fund.
For vulnerable bursaries, this should include:
For discretionary bursaries, this should include:
In addition, institutions should also ensure the bursary fund eligibility criteria is applied correctly to all students.
The SBSS is responsible for processing 16 to 19 Bursary Fund Vulnerable Student claims, making payments to institutions and providing advice and support through the helpline.
All EFA funded institutions in receipt of a 2015 to 2016 academic year discretionary Bursary allocation can submit a 2015 to 2016 funding claim for defined vulnerable students. Though payment may be dependent on whether an institution has signed and returned their main 2015 to 2016 academic year EFA funding contract.
Institutions delivering 16-18 Traineeships through the SFA in 2015 to 2016 may also submit a funding claim for defined vulnerable students.
Institutions not in receipt of a 2015 to 2016 academic year discretionary Bursary allocation may also submit a 2015 to 2016 funding claim for defined vulnerable students. However further checks will need to be made before any funding can be released
Eligible institutions must submit a 16 to 19 Bursary Fund vulnerable student claim through the SBSS online portal. The person completing and submitting the form will be sent a funding statement on submission of the claim, if successful.
Guidance notes on how to complete the funding claim form are built in throughout the form. Institutions must read this information fully to ensure they are completing the funding request correctly. If the institution needs further help in completing the claim, they can use the online Webchat option or contact the SBSS Team on 0300 303 8610 or at<EMAIL_ADDRESS>Checks will be completed by the SBSS to verify that institutions are eligible to claim, and the claim has been completed correctly.
The SBSS will normally respond within 2 weeks and if the funding claim is successful, will issue a funding statement. This provides details of the amount to be paid.
Payments for vulnerable student bursaries claimed by the institution will only be made to the institution’s bank account as held by EFA. No other bank account or method of payment is acceptable.
Notification of a change of bank account details: any institution requesting that their bank account details be changed must complete the BAN1s form , or the BAN1a form if it is for an academy. It must be sent to<EMAIL_ADDRESS>.
Remittance advice will be sent to the institution by the SBSS for each successful funding claim.
The remittance advice provides a breakdown by student ID (as shown on the claim form) of the payments to be made. It also includes a payment reference number. This will be shown as the payment descriptor that institutions will see on their bank accounts, enabling easy tracking of payments. The remittance advice will confirm the total amount of funding to be paid.
Payments will usually be made to the institution within 2 weeks of the funding claim form being submitted through the SBSS portal. Payments are processed every Wednesday and are paid to institutions within 3 working days.
If this occurs, the SBSS may need to contact an institution to check their bank account details. Payments will be delayed until the details have been verified.
If a student is unhappy with the way their request for a bursary was handled, they should follow the institution’s complaints procedure.
Bursaries are administered by institutions and local authorities. EFA does not have a role in this, and does not usually get involved with complaints and may only get involved if the allegation is that the guide is being seriously disregarded.
The escalation of complaints about the bursary should be handled in the same way as any other complaint to an institution. Institutions must have their own procedures in place, which must be exhausted before the EFA is approached.
All complaints or appeals must be made in writing.
Complaints and appeals fall into 2 categories which are:
If you are an academy please contact
Contact form https://form.education...
For all enquiries for the Education Funding Agency
Other institutions should contact
If you have a question that is not answered by this guide, there are a number of ways that you can contact people who will be able to help.
If you are enquiring from or regarding an academy
Contact form https://form.education...
For all enquiries for the Education Funding Agency
For other institutions:
Institutions can also contact the SBSS provider helpline on 0300 303 8610 for questions about funding claims for vulnerable student payments


Pierre Zemb
Hi! My name is Pierre Zemb, and I'm a French student in a graduate school of engineering science called ISEN where I'm currently studying Software Engineering.
I'm really enjoying coding in C++, Java or Go and ship them with Docker, but I always end up developping Web apps like this one
Checkout my twitter and my website for more info!
Alexis Hellouin
Hello, my name is Alexis and I am a french student in engineering school. I like web and software development, and also discovering new framework.
I'm really enjoying coding in Java, Android and I try new language when I have the time (next is C++).
You can check my twitter and linkedIn account for more info!
Steven Watremez
Hi! My name is Steven Watremez, and I'm a French student too. In same cursus like Pierre and Alexis.
I like coding for the web. It is really awesome to inovate and learn new technologies like AngularJS or Polymer. I'm web designer for my extra-activity and I like it. I designed this web app.
Checkout my twitter and my website for more info!


--- layout: post permalink: theperformanceamulet.html Tags: Array NameOfCoupon: The Performance Amulet Cash Back Summary: See our The Performance Amulet Coupon Code, The Performance Amulet Rebate, The Performance Amulet Promo Code, The Performance Amulet Discount, The Performance Amulet Coupon Cash Back Rebate here. MetaKeywords: The Performance Amulet Coupon Code, The Performance Amulet Rebate, The Performance Amulet Promo Code, The Performance Amulet Cash Back Rebate, The Performance Amulet Discount, The Performance Amulet Coupon Image: images/26992.jpg LinkURL: http://www.shareasale.com/r.cfm?b=225906&u=412002&m=26992 affiliate_url_link: http://www.icouponblog.com/jane.php?id=567 thesis_readmore: See the The Performance Amulet Coupon thesis_thumb: http://www.icouponblog.com/tn.php?merchantURL=performanceamulet.com Title: Save 5% - The Performance Amulet Coupon Code for performanceamulet.com. The Performance Amulet Rebate & Discount thesis_description: Our The Performance Amulet Discount Coupon Code for performanceamulet.com. We have the best The Performance Amulet Rebate anywhere. thesis_keywords: The Performance Amulet, The Performance Amulet Coupon Code, The Performance Amulet Discount, The Performance Amulet Rebate product_name: The Performance Amulet hop_url: http://www.icouponblog.com/hop.php?id=567 ---
Do you want to increase your strength, endurance and flexibility in a short time? Do you wish to protect yourself from harmful toxins and by electromagnetic pollutions. Wear the performance amulet which is an energized pendant that contains embedded harmonic frequencies that enhance athletic performance, increases energy output in every cell of the body. You will feel more energetic, active and healthy. Check out the Performance Amulet. Use our discount coupon to buy The Performance Amulet at a great price. Feel the difference when you wear the Performance Amulet.
The Performance Amulet fights the effects of electromagnetic pollutions. According to scientists, an average person’s exposure to electromagnetic radiation is 100 million times higher than it was in your grandparents' time. Research shows that these fields have a significant disruptive effect on a person’s natural energy levels. They magnify the body's "flight or fight" responses and significantly reduce one’s ability to cope effectively. Long-term exposure to EMF has been linked to heart disease, cancer, brain tumors and other diseases. The performance amulet will protect you from the harmful effects of electromagnetic pollutions. Feel the difference when you use it.
the performance amulet is a great product. It will counter balance the effects of electromagnetic pollutions. You will feel a great difference in your energy level when you use the performance amulet. Bring it home today.


bibtexconv(1) BSD General Commands Manual bibtexconv(1) NAME bibtexconv — BibTeX Converter SYNOPSIS bibtexconv BibTeX_File [-export-to-bibtex=file] [-export-to-separate-bibtexs=prefix] [-export-to-xml=file] [-export-to-separate-xmls=prefix] [-nbsp=string] [-non-interactive] [-check-urls] [-only-check-new-urls] [-store-downloads=directory] [-add-url-command] [-skip-notes-with-isbn-and-issn] [-add-notes-with-isbn-and-issn] DESCRIPTION bibtexconv is a BibTeX file converter which allows one to export BibTeX entries to other formats, including customly defined text output. Further‐ more, it provides the possibility to check URLs (including MD5, size and MIME type computations) and to verify ISBN and ISSN numbers. bibtexconv provides an interactive mode (usually used in form of export scripts) which allows for fine-granular selection of entries, sorting and export template specification. OPTIONS The following arguments may be provided: BibTeX_File The BibTeX input file. -export-to-bibtex=file Write the results as BibTeX into the given file. -export-to-separate-bibtexs=prefix Write the results as BibTeX; for each entry, an own file will be created. The filename will be generated from given prefix (e.g. "/tmp/MyBibTex-"), the entry key and ".bib". -export-to-xml=file Write the results as XML (as used by IETF Internet Draft processing tools) into the given file. -export-to-separate-xmls=prefix Write the results as XML; for each entry, an own file will be cre‐ ated. The filename will be generated from given prefix (e.g. "/tmp/MyBibTex-"), the entry key and ".xml". -nbsp=string Replace non-breakable space by given string (for example, " " when writing HTML). -check-urls Check URLs by downloading the content file and adding MD5, size and MIME type entries. -only-check-new-urls Combined with -check-urls, checks are only performed for new entries where MD5, size and/or MIME type are still unknown. -store-downloads=directory Combined with -check-urls, all checked references are downloaded and stored in the given directory. Existing files will be overwrit‐ ten. -add-url-command Add \url{} commands to url tags in BibTeX export. -skip-notes-with-isbn-and-issn When reading the BibTeX file, ignore "note" items with ISBN and ISSN. -add-notes-with-isbn-and-issn When writing a BibTeX file, create "note" items with ISBN and ISSN. -non-interactive Turns on non-interactive mode. Useful for just performing URL checks and ISBN/ISSN verification. COMMANDS After startup, bibtexconv accepts the following commands from standard input (not as command-line arguments!): cite key custom1 custom2 custom3 custom4 custom5 Select specific entry in the input BibTeX file, given by key. Optionally, up to five custom strings may be attached to the selected entry. citeAll Select all entries in the input BibTeX file. clear Clear all selections. echo string Write given string to standard output. export Export selected entries to standard output, according to configured printing template. header include file Include another export script, given by file name. monthNames jan feb mar apr may jun jul aug sep oct nov dec Changes textual representation of month names. This is necessary when non-English names are required for export. nbsp Changes textual representation of the "non-breakable space", for example in HTML or ~ in BibTeX. sort template template+ templatenew trailer utf8Style xmlStyle EXAMPLES Have a look into /usr/share/doc/bibtexconv/examples/ (or corresponding path of your system) for example export scripts. The export scripts contain the commands which are read by bibtexconv from standard input. bibtexconv \ /usr/share/doc/bibtexconv/examples/ExampleReferences.bib \ -export-to-bibtex=UpdatedReferences.bib \ -check-urls -only-check-new-urls -non-interactive Checks URLs of all entries in /usr/share/doc/bibtexconv/exam‐ ples/ExampleReferences.bib, adds MD5, size and MIME type items and writes the results to UpdatedReferences.bib. bibtexconv \ /usr/share/doc/bibtexconv/examples/ExampleReferences.bib \ </usr/share/doc/bibtexconv/examples/web-example.export >MyPublica‐ tions.html Uses export script /usr/share/doc/bibtexconv/examples/web-exam‐ ple.export to export references from /usr/share/doc/bibtex‐ conv/examples/ExampleReferences.bib to MyPublications.html as XHTML 1.1. bibtexconv \ /usr/share/doc/bibtexconv/examples/ExampleReferences.bib \ </usr/share/doc/bibtexconv/examples/text-example.export >MyPublica‐ tions.txt Uses export script /usr/share/doc/bibtexconv/examples/text-exam‐ ple.export to export references from /usr/share/doc/bibtex‐ conv/examples/ExampleReferences.bib to MyPublications.txt as plain text. bibtexconv \ /usr/share/doc/bibtexconv/examples/ExampleReferences.bib \ -non-interactive -export-to-separate-xmls=reference. Convert all references to XML references to be includable in IETF Internet Drafts. For each reference, an own file is generated, named with the prefix "reference.", for example reference.Globe‐ com2010.xml for entry Globecom2010. bibtexconv \ /usr/share/doc/bibtexconv/examples/ExampleReferences.bib \ -non-interactive -export-to-separate-bibtexs= Convert all references to BibTeX references. For each reference, an own file is generated, named with the prefix "", for example Globe‐ com2010.bib for entry Globecom2010. bibtexconv May 12, 2012 bibtexconv


Getting Started
To start using this npm module. We first need to install it from npm by using command npm install captcha-canvas
.
Now require this package in your file where you want to create captcha.
const { CaptchaGenerator } = require("captcha-canvas");
We can see here we get CaptchaGenerator
class from the module. Now initiate the constructor to start using it.
const { CaptchaGenerator } = require("captcha-canvas");
const captcha = new CaptchaGenerator();
Now we can use all the methods documented here to customize captcha according to our need.
Like if we want to use different dimension. We can use setDimension method.
const { CaptchaGenerator } = require("captcha-canvas");
const captcha = new CaptchaGenerator()
.setDimension(150, 450)
If we want to change captcha text or its appearance, then we can use setCaptcha method.
const { CaptchaGenerator } = require("captcha-canvas");
const captcha = new CaptchaGenerator()
.setDimension(150, 450)
.setCaptcha({text: "CUSTOM05", size: 60, color: "deeppink"})
If we want to change appearance of background text (i.e decoy). We can do that easily by using setDecoy method.
const { CaptchaGenerator } = require("captcha-canvas");
const captcha = new CaptchaGenerator()
.setDimension(150, 450)
.setCaptcha({text: "CUSTOM05", size: 60, color: "deeppink"})
.setDecoy({opacity: 0.5})
You can also customise trace line and add background by using setTrace and setBackground method.
Once you customised everything according to your need then just you can get buffer from generateSync
method. And use that buffer to display image in your project.
const { CaptchaGenerator } = require("captcha-canvas");
const captcha = new CaptchaGenerator()
.setDimension(150, 450)
.setCaptcha({text: "CUSTOM05", size: 60, color: "deeppink"})
.setDecoy({opacity: 0.5})
.setTrace({color: "deeppink"});
const buffer = captcha.generateSync();
Final Output
Support
To get help related to this module open an issue in the github repository.


Hidden Service Setup Guides for specific hidden services are in general, really, extravagantly, dangerously bad. Let’s learn about why and how to fix it.
About the deprecated term: I know that TPO now prefers the term .onion
service over the older term “hidden” service. Throughout this guide I will be using “Hidden Service” to refer to both .onion
and .i2p
services.
That is not to say that all the guides out there are totally useless, but by and large, all Hidden services Setup Guides re-iterate the same 4 steps without any further elucidation. Only a handful of exceptions exist.
While it is true that setting up a hidden service in the most trivial sense is simply a matter of connecting a local service to a .onion
or .i2p
host provided by Tor or I2P.
We need exactly one guide like this, and it needs to be this one: from the Tor Project and it needs to have a section like this one at the end.


SIGIR eCom'20
Home
Accepted Papers
Data Challenge
Dates
Organizers
CFP
eCom'17
eCom'18
eCom'19
Important Dates
Paper submission deadline
June 20, 2020
(11: 59 P.M.
AoE
)
Notification of acceptance
July 10, 2020
Camera Ready Version of Papers Due
July 17, 2020
SIGIR eCom Full day Workshop
July 30, 2020


Simple Synchronization Mode Producer:
Sample code:
@GetMapping(path = "/hello/{name}")
public String hello(@PathVariable(name = "name") String name){
return "hello " + name;
}
The corresponding processing flow is as follows:
This is the traditional typical working model. The core idea is not to block network threads, and to put the business in a separate thread (to simplify the expression, only one thread is drawn in the executor)
In general, this mode is not a big problem.
Nested synchronous call:
Not all services are handled simply, you can respond directly, you may need to call other microservices.
Sample code:
public interface Intf{
String hello(String name);
}
@GetMapping(path = "/hello/{name}")
public String hello(@PathVariable(name = "name") String name){
return "from remote: hello " + intf.hello(name);
}
The corresponding processing flow is as follows:
According to the characteristics of this process, you can see the following results:
-
Because it is a synchronous call, the calling thread of "Microservice A" is always in the blocking wait state before "Other microservices" is not answered, and does not process any other transactions.
-
When all threads in the Executor are waiting for a remote response, all new requests can only be queued in the Queue and cannot be processed. At this point, the entire system is equivalent to stop working.
-
To increase the processing power, only increase the number of threads in the Executor, and the operating system can not increase the number of threads indefinitely. The benefit of increasing the number of threads is a parabolic model. After a specific critical value, the system handles The ability will drop, and this threshold will not be too big.
-
When the remote synchronization operation is required multiple times in the business logic, the problem will be bigger than before.
"Error" optimization for nested synchronous calls:
For the previous scenario, someone would think that throwing the "Invoke producer method" into another thread pool can solve the problem, including the following:
-
In the producer method, mark @Async, which is responsible for throwing the call to the method into other thread pools.
-
Transferring threads through business code inside the producer method
Form the following process:
According to the characteristics of this process, you can see the following results:
-
"Invoke producer method" must be returned immediately, otherwise, the Executor thread will not be released
-
"Invoke producer method" must provide a new mechanism to inform the calling process of its return value, not the final return value (currently no such mechanism)
-
Although the Executor thread is released, the Customer Executor is blocked, waiting for the remote response, the blocking state of the entire system has not changed, and there is one more thread switching.
-
The mechanism seems to have the only effect is to release the executor thread, so that the executor thread has the opportunity to process other requests, which is equivalent to the concept of quarantine, the slow processing of the business does not affect other services; but the concept of serviceComb can be directly Supported, you can configure the specified business method to monopolize the new executor, so that the whole process is the same as the "nested synchronous call", the process is simpler, and you don't need to do this at the "Invoke producer method" level.
Pure Reactive Mechanism
Sample code:
public interface Intf{
CompletableFuture<String> hello(String name);
}
@GetMapping(path = "/hello/{name}")
public CompletableFuture<String> hello(@PathVariable(name = "name") String name){
CompletableFuture<String> future = new CompletableFuture<>();
intf.hello(name).whenComplete((result, exception) -> {
if (exception == null) {
future.complete("from remote: " + result);
return;
}
future.completeExceptionally(exception);
});
return future;
}
The corresponding processing flow is as follows:
-
Unlike traditional processes, all functions are executed in the eventloop and no thread switching is performed.
-
After the orange arrow is finished, the occupation of this thread is completed, and it will not block waiting for response. The thread can handle other tasks.
-
After receiving the remote response, the network data drive starts to take the red arrow response process
-
As long as there are tasks, the thread will not stop, the task will be executed all the time, you can make full use of the cpu resources, and will not generate redundant thread switching, to consume the CPU unnecessarily.
Because in synchronous mode, a large number of threads are needed to increase the degree of concurrency, and a large number of threads bring additional consumption of thread switching.
The test data shows that the reactive mode only needs to consume less than half of the CPU of the synchronous mode. And can reach or exceed the tps of the synchronous mode, and the delay is lower.
Hybrid Reactive Mechanism
Reactive requires that all logic executed in the eventloop does not allow any blocking actions, including not limited to wait, sleep, large loops, synchronous query DB, and so on.
The bottom of serviceComb is based on vertx. The vertx ecosystem has reactive drivers for various rich components such as JDBC, MQ, zooKeeper, etc. Under normal circumstances, it can meet the requirements.
However, in some scenarios, there are indeed some synchronization operations that cannot be avoided, such as:
-
Private security hardened redis, only provides synchronous drive
-
More complex business operations
-
......
At this point, the logic of these synchronizations can be extracted and placed in the thread pool for processing, while other parts still use the reactive process.
Some notes about reactive:
- Producer:
* Whether the producer uses reactive and consumer to call, there is no connection
* When the operation return value is the CompletableFuture type, the default operation is in reactive mode. If you need to force this operation to work in thread pool mode, you need to configure it in microservice.yaml explicitly. If an operation, its schemaId is sid, operationId For asyncQuery, you need to do the following:
servicecomb:
executors:
Provider:
sid.asyncQuery: cse.executor.groupThreadPool
The cse.executor.groupThreadPool here is the default thread pool built into serviceComb, which can be arbitrarily specified by the user as its custom thread pool.
- Consumer:
* Whether the consumer uses reactive and producer how to implement, there is no connection
* Currently only supports transparent RPC mode, using JDK native CompletableFuture to carry this function
completableFuture's when, then, etc. can be used directly
However, the async series of completableFuture is another thread pool to perform functions. It is not recommended.
Support for RxJava Observable will be added later.
Support for AsyncRestTemplate will be added later.


Services based on blood request,blood doantions,blood store
we provide blood camps details for donors. donors can help us with this details, also we maintain donor details
Join NowFar far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts.
Join NowThe best staffs in this industry


This symbol shall be used to install a listener for only monitoring 'error'
events. Listeners installed using this symbol are called before the regular
'error'
listeners are called.
Installing a listener using this symbol does not change the behavior once an
'error'
event is emitted, therefore the process will still crash if no
regular 'error'
listener is installed.
The most recently returned ratelimit headers, if any.
The timeout for every request sent to fAPI.
The timeout for every request sent to fAPI.
The standard internal request function for endpoints that return an image buffer. The request options for each endpoint here are similar, so we can use a function for it.
The main request function. This function is mainly for internal use, since the client already implements this function for every endpoint.
A specific internal request function that handles endpoints that only takes text and an image URL as inputs and returns an image buffer.
A specific internal request function that handles endpoints that only take an image URL as input and return an image buffer.
A specific internal request function that handles endpoints that only take text as input and return an image buffer.
Generated using TypeDoc
The main client. All fAPI endpoints can be accessed and requested from here.


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/Proving.20Axiom.20Sane.html ---
In \cite[p~7}{Mour15} "Elaboration in Dependent Type Theory", there is an example of a semigroup structure which extends a has_mul structure.
The elaborator figures out this "chain" while defining "mul_assoc".
Axiom has similar separate structures (we call them categories, ... don't ask) that have a similar kind of chaining. Axiom has its own elaborator, although it is just a part of the compiler.
Does Lean provide a command / api to output fully elaborated structures?
Beware this paper is about Lean 2, not the current version or the next one.
Do you have titles? I'll look them up and put them in the lean.bib file.
Titles of what?
I assumed that if the elaboration has changed there is a paper that describes the new elaborator.
I don't think so, but you should ask @Sebastian Ullrich.
or @Gabriel Ebner
There isn't
Is there a command / api to show the full elaboration?
Axiom has general type constructs like Group, Ring, Field which exports 'signatures' of functions that must be implemented (e.g. a multiply operator) by any domain (e.g. polynomials need to implement multiply). What Axiom lacks, and I am working to provide, are the 'axioms' that a Ring needs to satisfy and specifications of polynomials (e.g. the multiply operation) that define the operations. To do this I have to re-implement the Axiom compiler for the Axiom language (called Spad, short for Scratchpad).
The new compiler (called Sane) has the dual job of producing Axiom compatible code (common lisp functions) and Lean compatible proofs. I have done a 'first-cut' deep dive into the Lean source code. It seems that the Sane compiler needs to compile to Lean syntax (as well as common lisp). This is basically a 'dual tail' compiler.
Such a compiler would make Axiom's computer algebra functions available in Lean.
There are, of course, 'second level issues', such as proving the Sane compiler lisp output is correct. But, as we all know, "it's kittens all the way down" so it is not a simple job. But it does seem to be a realistic path forward, merging Axiom and Lean.
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


Does not work with < IE10...
Download
Manually
The files can be downloaded from:
With Bower
$ bower install font-awesome-animation
Installation
Include the JS and CSS file in your index.html
file:
<link rel="stylesheet" href="font-awesome-animation.min.css">


{% extends "layout.html" %} {% set account = registerData.account.recordset[0] %} {% set hoAddress = registerData.hoAddress.recordset[0] %} {% block pageTitle %} Sanctions - {{account.AccountName}} {% endblock %} {% block pageDescription %} Regulatory sanctions taken by the Gambling Commission against {{account.AccountName}} {% endblock %} {% block ogTitle %}Regulatory sanctions taken by the Gambling Commission against {{account.AccountName}} {% endblock %} {% block heroClass %} {% endblock %} {% block heroContent %} {% endblock %} {% block beforeContent %} Back to the register of gambling businesses {% endblock %} {% block content %} {% include "../../includes/business-account-header.html" %}
When a licence holder has not followed rules and regulations aimed at ensuring gambling is fair, safe and crime-free, we can take action and impose the following sanctions:
No regulatory sanctions have been recorded for this business.


2 Corinthians 1:24
Not for that we have dominion over your faith, but are helpers of your joy: for by faith ye stand.


Answer a few simple questions
We’ll ask six easy questions to find out more about your organisation and what you’re looking for. It takes about 5 minutes to complete this step.
We’ll ask six easy questions to find out more about your organisation and what you’re looking for. It takes about 5 minutes to complete this step.
Based on your answers, we’ll give you tailored information to help you decide whether apprenticeships are right for you. This could include case studies and videos from your industry, apprenticeships that suit your needs and relevant statistics.
If you’re interested in learning more about apprenticeships, take a look around the site for more advice - from funding guidance to tips for training apprentices.


| r_texmf {tinytex} | R Documentation |
R ships a custom texmf tree containing a few LaTeX style and class files,
which are required when compiling R packages manuals (‘Rd.sty’) or
Sweave documents (‘Sweave.sty’). This tree can be found under the
directory file.path(R.home('share'), 'texmf')
. This function can be
used to add/remove R's texmf tree to/from TeX Live via
tlmgr_conf('auxtrees')
.
r_texmf(action = c("add", "remove"), ...)
action |
Add/remove R's texmf tree to/from TeX Live. |
... |
Arguments passed to |
See the tlmgr manual for detailed information about
tlmgr conf auxtrees
. Check out
https://tex.stackexchange.com/q/77720/9128 if you don't know what
texmf
means.
# running the code below will modify your texmf tree; please do not run # unless you know what it means # r_texmf('remove') # r_texmf('add') # all files under R's texmf tree list.files(file.path(R.home('share'), 'texmf'), recursive = TRUE, full.names = TRUE)


{% extends "base.html" %} {% load wagtailcore_tags form_tags %} {% block content %}
There were some errors with your form. Please amend the fields highlighted below.


Mesut Ozil joining Arsenal 20 Nov 2019, 12:43 by Andy Ha Mesut Ozil poses outside the Emirates after signing from Real Madrid(Image: Stuart MacFarlane/Arsenal FC via Getty Images) Arsene Wenger with Mesut Ozil at his unveiling(Image: Stuart MacFarlane/Arsenal FC via Getty Images) Mesut Ozil poses at the Emirates Stadium(Image: Stuart MacFarlane/Arsenal FC via Getty Images) Mesut Ozil poses after signing for Arsenal(Image: Stuart MacFarlane/Arsenal FC via Getty Images) Mesut Ozil poses in the Arsenal away shirt for the first time(Image: Stuart MacFarlane/Arsenal FC via Getty Images) Arsenal fans wear Mesut Ozil shirts ahead of the German's home debut against Stoke(Image: Stuart MacFarlane/Arsenal FC via Getty Images) Mesut Ozil on his home debut(Image: Stuart MacFarlane/Arsenal FC via Getty Images)


StarGames - David Franco
Art Leader
As the leader of the art department I was the responsible of making sure that all the team would work in harmony, and the quality of their work was good. I was also the person in charge of distributing the work and assign the milestones, and review anything the team would done to make sure it fits with the aesthetic of the game and reaches the quality asked. Finally, I was there to support all the members of the art department in case they would need help.
Explosions
What would be Star Wars without the explosions?
I was the responsible of the particle art for the explosion, as well as the responsible in the template and prefab creation of them inside the engine. All the particles were done in 2D using Photoshop. In the game there are two types of explosion, normal ones, for the spaceships, and energy ones, for the shield generators.
Other Particles
I also was the responsible of creating the rest of the particles inside the game. These are the space dust and the lasers. I did also some versions of fire particles, but they were never used in the game.
2D art
Finally, I did some work in the 2D part of the project. I focused mainly in doing the art for the menus, and all its elements. I did aswell some small things for the UI, like the first iteration of the target or the crosshairs.
Personal Conclussions
After finishing this project I take with me quite a few conclusions, specially in the leadership part. It was my first time in a role like that, and I have learned a lot about it. I have seen how hard is to manage a group of people with different backgrounds and skills, and I have seen how hard is to bring these people together and guide them towards a commmon goal. Also I have learned how time consuming can be to be the responsible that every milestone in the calendar is done, or how stresful can be to be the one that accepts or denies material that is going to be in the final game.
During the development, the moments where I struggled the most where two. The first one was everytime I had to put a 0 in another student, meanwhile the second was when I had to keep the team motivated besides the fact I was as amotivated as them. But thanks to all these experiences I think I have learned a lot on how to manage time and people, on how to handle responsability and on how to accept my blame when things inside the team doesn't work out. But the thing I have learned the most is how to treat with people and help them to be the most comfortable possible inside the team. Overall, the experience have been positive and I think if I had to do the same task again, I would do it way better.


{% extends 'bookapp/base.html' %} {% load static %} {% block body %}
This is BookApp, Django web based online library system founded by Noel Moses Mwadende, founder & CEO of MotechApp YouTube channel and motechapp.com.The main aim of BookApp is to connect people who have home based personal library into one library so as to share different books from different countries across the globe. For that purpose, people can upload books they want to share but also they access shared books from other users.


Development of an autonomous robot that explores a maze looking for heat victims
{% include fa-icon.html id="trophy"%} 1st Place on LARC
{% include fa-icon.html id="trophy"%} 2nd Place on RoboCup Netherlands
Implementation of an Artificial Intelligence that learns to play the game Snake and works directly on the browser
Translation of a game about human interactions to portuguese
Assistive Belt intented to aid Visually Impaired people in their mobility


Reading the Docs (API Guide)
This page walks through how to use and understand CanJS’s API documentation.
Documentation Structure
CanJS’s documentation is broken down by pages for:
- library collections
- packages and modules and their exports
- functions, properties, and type definitions (typedefs) related to module exports
For example, can-define/map/map.prototype.on is a method that listens to changes on an observable map as follows:
var DefineMap = require("can-define/map/map");
var map = new DefineMap({name: "Justin"});
map.on("name", function(ev, newVal, oldValue){ ... })
.on
is a function the prototype
of the DefineMap
export of the can-define/map/map
module. The can-define/map/map
is part of CanJS’s Core collection.
So understanding CanJS’s API pages are about understanding the relationships between:
- library collections
- packages and modules and their exports
- functions, properties, and type definitions (typedefs) related to module exports
... and what’s documented on those pages.
Library Collection pages
The API docs are divided in 4 collection pages:
Each collection page acts as an overview and cheat sheet for the modules and functionality contained within the collection.
The Core collection contains the documentation for the libraries that are use most commonly and directly within a CanJS application. This is where the Model-View-ViewModel libraries of CanJS are documented.
The Ecosystem collection contains less commonly used libraries or libraries that aren’t quite core ready yet. The most commonly used libraries here are can-fixture, can-stache-converters, and can-jquery.
The Infrastructure collection contains the utility libraries that power the core and ecosystem
collection. Often, this functionality is used indirectly. For example, the can-event mixin
is used to add on
, off
, and dispatch
methods to can-define and can-compute. And, can-util contains a wide variety of low-level DOM and JavaScript utilities.
Sometimes Infrastructure is used directly. The most important examples are:
- can-event/batch/batch is used to batch changes for faster performance.
- attr provides special focused and values attributes that can-stache-bindings can be bound to.
- events provides special attributes, inserted, and removed events.
- can-view-callbacks lets you register behavior for custom elements and attributes.
Finally, the Legacy collection. This is for libraries that are no longer under active development. Hopefully, you aren’t there very often.
Look to library collection pages for a high level cheat and explanation of every module within the collection.
Package and Module Pages
A package or module documents the "direct" functionality of the export and provides an overview of all functionality contained within the module or package.
For example, can-define/list/list documents the "direct" functionality of the export, namely
the DefineList
function that is exported. While DefineList.extend is the most common starting place when using DefineList
, the DefineList
export method can only be used like new DefineList()
directly. This is why new DefineList()
is documented
on can-define/list/list.
However, after the new DefineList()
signature is detailed, can-define/list/list has a #Use
section that provides an overview of all functionality contained within the can-define/list/list
module.
Look to Package and module pages for details of what is specifically exported and an overview of what the module does, why it’s useful, and how to use it.
Functions, Properties, and Typedef pages
Within a module, there might be a variety of functions, properties and types a module might provide.
These values are generally organized by groupings. The most common groupings are:
- prototype - A property or function is on the prototype of a parent function.
- static - A property or method is a direct value on the parent function or object.
- events - Events dispatched on the parent object or instances of the parent function.
- types - Type definitions.
Let’s see a few examples and then give an overview of how their content is structured.
prototype
can-define/list/list.prototype.concat is in
the prototype group on can-define/list/list because concat
is on
the can-define/list/list
export’s prototype
:
var DefineList = require("can-define/list/list");
DefineList.prototype.concat //-> function
Because of how JavaScript works, this means that you can call .concat
directly on any instance
of DefineList
:
var hobbies = new DefineList(["learning"]);
hobbies.concat(["programming"]);
static
extend s in
the static group on can-define/map/map because extend
is a direct property on the can-define/map/map
export:
var DefineMap = require("can-define/map/map");
DefineMap.prototype.map //-> function
types
Sometimes a method might expect data passed to it in a certain format, or returns data in another format. These formats are often described separate from the method.
For example, the can-fixture.store method returns an object of the Store type.
var fixture = require("can-fixture");
var todoStore = fixture.store([{id: 1, name: "trash"}]);
todoStore.createData //-> function
todoStore.destroyData //-> function
todoStore.get //-> function
As you can see above, a Store
can have lots of methods
itself: createData
, destroyData
, etc. So this type that isn’t directly
accessible is documented under can-fixture
’s types. It’s also
specified as the return value of can-fixture.store.
Functions, Properties, and Typedef content
Each function, property, and typedef page will have one or more signature’s describing what is being documented.
Signatures are the what and the how. They should be precise on the behavior of what is being documented.
Some function, property, and typedef pages have #Use sections that give more information and examples on what is being documented.
Look to Functions, Properties, and Typedef pages to provide low-level details on a specific piece of CanJS’s API.
How to find what you’re looking for ...
- Get a good understand of the purpose behind each module.
- Start with core modules.
- Then checkout infrastructure modules.
If you don’t find what you want on the lowest level, walk up to the parent module, it might be in its #Use section.
If not, let us know!


Content
- Introduction
About the talk, a vision, and an idea: "Canonical syntax"
- Language experiments
- Conclusion and discussion
About
- The talk
- Informal, interactive - interrupt, ask questions
- Rasmus Erik
- Freelance Computer Scientist from Copenhagen. JavaScript-engines, Tempo, Yolan/LightScript, ...
- The content
- Share ideas. New stuff. Get feedback.
Vision
- Next billion internet users are mobile-only
- Enable software development on mobile
- Source code as text only will not suffice
Idea: Canonical Syntax
- Homoiconicity to the next level: source text as a serialisation format for the AST.
- Language designed for program transformations
- Practical experiments: Yolan and LightScript
- New? Do you know something similar?
Content
- Introduction
- Language experiments LightScript/Yolan, Yolan 2, LightScript 2/3, Future: Yolan 3
- Conclusion and discussion
LightScript / Yolan 2008-2009
- JavaScript/Lisp-like languages for J2ME
- Part of my master thesis at University of Copenhagen
- Extremely small memory footprint, reasonably fast, dynamic execution
- Lessons learned: debuggability matters, too low-end
Yolan 2 spring 2012
- Canonical source
- Visual code
- Dogfood, self hosted
- Hosted on JS-vm
- Lessons learned: this dogfood was not good enough, lists-only not rich enough
LightScript 2/3 fall 2012
- Canonical source
- Mostly JS-subset, dogfood, self hosted
- Combined TDOP-parser + prettyprinter
-
common syntax pattern in JS/C-like languages
- Staged computation
- Designed for AST-simplicity
- Towards common scripting language denominator
- Lessons learned: want optional static typing, more tooling
Yolan 3 future
- Canonical source, dogfood
- More Clojure-inspired
- JS-to-Yolan
- hosted on common scripting language denominator
-
portable core + platform specific extensions
- (optional) static typing
Content
- Introduction
- Language experiments
- Conclusion and discussion
Conclusion and discussion
- Critical feedback?
- Details of . . . . .
- Code tour
- Favorite language features, why?


A simple JavaScript API for producing an accurate, intuitive description of the timespan between two Date instances.
While seemingly a trivial problem, the human descriptions for a span of time tend to be fuzzier than a computer naturally computes.  For instance, when a human says "in 1 month" how long do they mean? Banks often interpret this as thirty days but that is only correct one third of the time. People casually talk about a month being four weeks long but there is only one month in a year which is four weeks long and it is only that long about three quarters of the time. Even intuitively defining these terms can be problematic. For instance, what is the date one month after January 31st, 2001? JavaScript will happily call this March 3rd, 2001. Humans will typically debate either February 28th, 2001 or March 1st, 2001. It seems there isn't a "right" answer, per se.
Countdown.js emphasizes producing intuitively correct description of timespans which are consistent as time goes on. To do this, Countdown.js uses the concept of "today's date next month" to mean "a month from now". As the days go by, Countdown.js produces consecutively increasing or decreasing counts without inconsistent jumps. The range of accuracy is only limited by the underlying system clock.
Countdown.js approaches finding the difference between two times like an elementary school subtraction problem. Each unit acts like a base-10 place where any overflow is carried to the next highest unit, and any underflow is borrowed from the next highest unit. In base-10 subtraction, every column is worth 10 times the previous column. With time, it is a little more complex since the conversions between the units of time are not the same and months are an inconsistent number of days. Internally, Countdown.js maintains the concept of a "reference month" which determines how many days a given month or year represents. In the final step of the algorithm, Countdown.js then prunes the set of time units down to only those requested, forcing larger units down to smaller.
As of v2.4, Countdown.js performs all calculations with respect to the viewer's local time zone. Earlier versions performed difference calculations in UTC, which is generally the correct way to do math on time. In this situation, however, an issue with using UTC happens when either of the two dates being worked with is within one time zone offset of a month boundary. If the UTC interpretation of that instant in time is in a different month than that of the local time zone, then the viewer's perception is that the calculated time span is incorrect. This is the heart of the problem that Countdown.js attempts to solve: talking about spans of time can be ambiguous. Nearly all bugs reported for Countdown.js have been because the viewer expects something different due to their particular time zone.
JavaScript (ECMA-262) only works with dates as UTC or the local time zone, not arbitrary time zones. By design, all JS Date objects represent an instant in time (milliseconds since midnight Jan 1, 1970 in UTC) interpreted as the user's local time. Since most humans think about local time not UTC, it the most makes sense to perform this time span algorithm in reference to local time.
Daylight Savings Time further complicates things, creating hours which get repeated and hours which cannot exist. Countdown.js effectively ignores these edge cases and talks about time preferring human intuition about time over surprise exactness. Example: A viewer asks for the description from noon the day before a daylight savings begins to noon the day after. A computer would answer "23 hours" whereas a human would confidently answer "1 day" even after being reminded to "Spring Forward". The computer is technically more accurate but this is not the value that humans actually expect or desire. Humans pretend that time is simple and makes sense. Unfortunately, humans made time far more complex than it needed to be with time zones and daylight savings. UTC simplifies time but at the cost of being inconsistent with human experience.
A simple but flexible API is the goal of Countdown.js. There is one global function with a set of static constants:
var timespan = countdown(start|callback, end|callback, units, max, digits);
The parameters are a starting Date, ending Date, an optional set of units, an optional maximum number of units, and an optional maximum number of decimal places on the smallest unit. units
defaults to countdown.DEFAULTS
, max
defaults to NaN
(all specified units), digits
defaults to 0
.
countdown.ALL =
countdown.MILLENNIA |
countdown.CENTURIES |
countdown.DECADES |
countdown.YEARS |
countdown.MONTHS |
countdown.WEEKS |
countdown.DAYS |
countdown.HOURS |
countdown.MINUTES |
countdown.SECONDS |
countdown.MILLISECONDS;
countdown.DEFAULTS =
countdown.YEARS |
countdown.MONTHS |
countdown.DAYS |
countdown.HOURS |
countdown.MINUTES |
countdown.SECONDS;
This allows a very minimal call to accept the defaults and get the time since/until a single date. For example:
countdown( new Date(2000, 0, 1) ).toString();
This will produce a human readable description like:
11 years, 8 months, 4 days, 10 hours, 12 minutes and 43 seconds
start
/ end
argumentsThe parameters start
and end
can be one of several values:
null
which indicates "now".Date
object.number
specifying the number of milliseconds since midnight Jan 1, 1970 UTC (i.e., the "UNIX epoch").function
accepting one timespan argument.To reference a specific instant in time, either use a number
offset from the epoch, or a JavaScript Date
object instantiated with the specific offset from the epoch.
In JavaScript, if a Date
object is instantiated using year/month/date/etc values, then those values are interpreted in reference to the browser's local time zone and daylight savings settings.
If start
and end
are both specified, then repeated calls to countdown(…)
will always return the same result.
If one date argument is left null
while the other is provided, then repeated calls will count up if the provided date is in the past, and it will count down if the provided date is in the future.
For example,
var daysSinceLastWorkplaceAccident = countdown(507314280000, null, countdown.DAYS);
If a callback function is supplied, then an interval timer will be started with a frequency based upon the smallest unit (e.g., if countdown.SECONDS
is the smallest unit, the callback will be invoked once per second). Rather than returning a Timespan object, the timer's ID will be returned to allow canceling by passing into window.clearInterval(id)
. For example, to show a timer since the page first loaded:
var timerId =
countdown(
new Date(),
function(ts) {
document.getElementById('pageTimer').innerHTML = ts.toHTML("strong");
},
countdown.HOURS|countdown.MINUTES|countdown.SECONDS);
// later on this timer may be stopped
window.clearInterval(timerId);
units
argumentThe static units constants can be combined using standard bitwise operators. For example, to explicitly include "months or days" use bitwise-OR:
countdown.MONTHS | countdown.DAYS
To explicitly exclude units like "not weeks and not milliseconds" combine bitwise-NOT and bitwise-AND:
~countdown.WEEKS & ~countdown.MILLISECONDS
Equivalently, to specify everything but "not weeks or milliseconds" wrap bitwise-NOT around bitwise-OR:
~(countdown.WEEKS | countdown.MILLISECONDS)
max
argumentThe next optional argument max
specifies a maximum number of unit labels to display. This allows specifying which units are interesting but only displaying the max
most significant units.
countdown(start, end, units).toString() => "5 years, 1 month, 19 days, 12 hours and 17 minutes"
Specifying max
as 2
ensures that only the two most significant units are displayed (note the rounding of the least significant unit):
countdown(start, end, units, 2).toString() => "5 years and 2 months"
Negative or zero values of max
are ignored.
Previously, the max
number of unit labels argument used to be specified when formatting in timespan.toString(…)
and timespan.toHTML(…)
. v2.3.0 moves it to countdown(…)
, which improves efficiency as well as enabling fractional units (see below).
digits
argumentThe final optional argument digits
allows fractional values on the smallest unit.
countdown(start, end, units, max).toString() => "5 years and 2 months"
Specifying digits
as 2
allows up to 2 digits beyond the decimal point to be displayed (note the rounding of the least significant unit):
countdown(start, end, units, max, 2).toString() => "5 years and 1.65 months"
digits
must be between 0
and 20
, inclusive.
With the calculations of fractional units in v2.3.0, the smallest displayed unit now properly rounds. Previously, the equivalent of "1.99 years"
would be truncated to "1 year"
, as of v2.3.0 it will display as "2 years"
.
Typically, this is the intended interpretation but there are a few circumstances where people expect the truncated behavior. For example, people often talk about their age as the lowest possible interpretation. e.g., they claim "39-years-old" right up until the morning of their 40th birthday (some people do even for years after!). In these cases, after calling countdown(start,end,units,max,20)
with the largest possible number of digits
, you might want to set ts.years = Math.floor(ts.years)
before calling ts.toString()
. The vain might want you to set ts.years = Math.min(ts.years, 39)
!
The return value is a Timespan object which always contains the following fields:
Date start
: the starting date object used for the calculationDate end
: the ending date object used for the calculationNumber units
: the units specifiedNumber value
: total milliseconds difference (i.e., end
- start
). If end < start
then value
will be negative.Typically the end
occurs after start
, but if the arguments were reversed, the only difference is Timespan.value
will be negative. The sign of value
can be used to determine if the event occurs in the future or in the past.
The following time unit fields are only present if their corresponding units were requested:
Number millennia
Number centuries
Number decades
Number years
Number months
Number days
Number hours
Number minutes
Number seconds
Number milliseconds
Finally, Timespan has two formatting methods each with some optional parameters. If the difference between start
and end
is less than the requested granularity of units, then toString(…)
and toHTML(…)
will return the empty label (defaults to an empty string).
String toString(emptyLabel)
: formats the Timespan object as an English sentence. e.g., using the same input:
ts.toString() => "5 years, 1 month, 19 days, 12 hours and 17 minutes"
String toHTML(tagName, emptyLabel)
: formats the Timespan object as an English sentence, with the specified HTML tag wrapped around each unit. If no tag name is provided, "span
" is used. e.g., using the same input:
ts.toHTML() => "5 years, 1 month, 19 days, 12 hours and 17 minutes"
ts.toHTML("em") => "5 years, 1 month, 19 days, 12 hours and 17 minutes"
Very basic localization is supported via the static setLabels
and resetLabels
methods. These change the functionality for all timespans on the page.
countdown.resetLabels();
countdown.setLabels(singular, plural, last, delim, empty, formatter);
The arguments:
singular
is a pipe ('|'
) delimited ascending list of singular unit name overrides
plural
is a pipe ('|'
) delimited ascending list of plural unit name overrides
last
is a delimiter before the last unit (default: ' and '
)
delim
is a delimiter to use between all other units (default: ', '
)
empty
is a label to use when all units are zero (default: ''
)
formatter
is a function which takes a number
and returns a string
(default uses Number.toString()
),The following examples would translate the output into Brazilian Portuguese and French, respectively:
countdown.setLabels(
' milissegundo| segundo| minuto| hora| dia| semana| mês| ano| década| século| milênio',
' milissegundos| segundos| minutos| horas| dias| semanas| meses| anos| décadas| séculos| milênios',
' e ',
' + ',
'agora');
countdown.setLabels(
' milliseconde| seconde| minute| heure| jour| semaine| mois| année| décennie| siècle| millénaire',
' millisecondes| secondes| minutes| heures| jours| semaines| mois| années| décennies| siècles| millénaires',
' et ',
', ',
'maintenant');
If you only wanted to override some of the labels just leave the other pipe-delimited places empty. Similarly, leave off any of the delimiter arguments which do not need overriding.
countdown.setLabels(
'||| hr| d',
'ms| sec|||| wks|| yrs',
', and finally ');
ts.toString() => "1 millennium, 2 centuries, 5 yrs, 1 month, 7 wks, 19 days, 1 hr, 2 minutes, 17 sec, and finally 1 millisecond"
If you only wanted to override the empty label:
countdown.setLabels(
null,
null,
null,
null,
'Now.');
ts.toString() => "Now."
The following would be effectively the same as calling countdown.resetLabels()
:
countdown.setLabels(
' millisecond| second| minute| hour| day| week| month| year| decade| century| millennium',
' milliseconds| seconds| minutes| hours| days| weeks| months| years| decades| centuries| millennia',
' and ',
', ',
'',
function(n){ return n.toString(); });
Distributed under the terms of The MIT license.


title = "Partner" url = "/partner" layout = "master" is_hidden = 0 robot_index = "index" robot_follow = "follow" child_of = "mey_no_parent" hide_crumb = 0 remove_crumb_trail = 0 crumb_disabled = 0 [viewBag] localeUrl[id] = "/partner" == {% partial 'site/title' %}


Preparation time
less than 30 mins
Cooking time
over 2 hours
Serves
Serves 8
Dietary
A joconde sponge is a decorative almond-flavored sponge cake made in layers. Opéra gâteau is an elaborate version of it, here made with kirsch syrup and a chocolate ganache.
Equipment and preparation: You will need a 33x23cm/13x9in Swiss roll tin and a free-standing food mixer.
For the kirsch syrup, tip the sugar into a small pan. Pour over 200ml/7fl oz water and cook over a medium heat until the sugar has dissolved. Bring to the boil and simmer for 4-5 minutes, or until the syrup has reduced by half. Remove from the heat, add the kirsch, stir and leave to cool completely.
For the joconde sponge, heat the oven to 220C/425F/Fan 200C/Gas 7. Grease and line a 33x23cm/13x9in Swiss roll tin with baking parchment. Whisk the egg whites in a bowl until stiff peaks form when the whisk is removed from the bowl. Add the caster sugar, one teaspoon at a time, whisking between each addition to make a glossy meringue. Cover with cling film and set aside.
Tip the ground almonds and icing sugar into the bowl of a free-standing food mixer and add the whole eggs. Whisk together for 3-5 minutes, or until doubled in volume. Fold in the flour, and then gently fold in the meringue in three separate batches. Pour the melted butter down the side of the bowl and fold in, until incorporated. Tip the mixture into the prepared tin and level the surface with a palette knife. Bake for 5-7 minutes until pale, golden-brown and springy to touch.
Place a sheet of baking parchment over a cooling rack and turn the cake out onto it. Peel off the baking parchment from the base of the cake and leave to cool completely.
For the chocolate ganache, pour the cream into a small pan and heat until just bubbling. Remove from the heat and add the chocolate. Stir until all the chocolate has melted and mixture is smooth and glossy. Pour into a bowl and leave to set.
For the crème au beurre, place the egg yolks in the bowl of a food mixer with the whisk attached. In a pan over a gentle heat, dissolve the sugar in three tablespoons of water and then boil it steadily until the syrup reaches 110C/225F on a sugar thermometer. With the food mixer running, slowly pour the syrup over the egg yolks. Continue whisking until the mixture is thick and mousse-like. Add the butter, a little at a time, whisking continuously and finally add the vanilla paste.
To assemble, slice the cooled sponge horizontally so you have two 33x23cm/13x9in sponges. Cut each of the sponges in half vertically, so that you have four sponges.
Place one of the sponges on a cake board and brush with one-quarter of the kirsch syrup. Spread over one-third of the crème au beurre. Top with another sponge and brush with one-quarter of the kirsch syrup. Spread over the chocolate ganache.
Top with a third sponge and brush with another one-quarter of the kirsch syrup. Spread over another third of the crème au beurre and top with the final sponge. Brush with the remaining kirsch syrup and spread with the remaining crème au beurre.
Arrange the raspberries over the top in rows and brush over the melted jam to glaze. Refrigerate the opera cake for two hours to set the layers and make it easier to trim. Trim the edges using a sharp knife to reveal the layers.