Key Result Area
{{kra.section_name}}
Strategy
Operations
Score
{{kra.maximum_score_obtainable}}
Weight
{{kra.weight}}
| KPIs | UNIT OF MEASUREMENT | IS CLOSE ENDED | SCORE | COMMENT |
|---|---|---|---|---|
| {{kpi.title}} | {{kpi.unitOfMeasurement}} |
|
{{kpi.score}} |
|


| Name | Due | Category | Action |
|---|---|---|---|
| Return library books | Personal | ||
| Perform project demo to stakeholders | Work | ||
| Meet friends for dinner | Personal |
| Name | Due | Category | Action |
|---|---|---|---|
| Return library books | Personal | ||
| Perform project demo to stakeholders | Work | ||
| Meet friends for dinner | Personal |


WAN Tagged Service Configuration For tagged service, enter valid 802.1P Priority and 802.1Q VLAN ID. For untagged service, set -1 to both 802.1P Priority and 802.1Q VLAN ID. Enter 802.1P Priority [0-7]: Enter 802.1Q VLAN ID [0-4094]: Select VLAN TPID: Select a TPID 0x8100 0x88A8 0x9100 Interface Setting Enable interface Interface MTU: Network Protocol Selection IPv4 Only IPv4&IPv6(Dual Stack) IPv6 Only PPP Username and Password PPP usually requires that you have a user name and password to establish your connection. In the boxes below, enter the user name and password that your ISP has provided to you. PPPoE Service Name: <%ejGetOther(memInfo, pppoeServiceName)%> PPP Username: PPP Password: Authentication Method:   AUTO PAP CHAP MSCHAP Enable Fullcone NAT ONLY IF REQUIRED -- DISABLES NETWORK ACCELERATION AND SOME SECURITY Dial on demand (with idle timeout timer) Inactivity Timeout (minutes) [1-4320]: PPP IP extension Use Static IPv4 Address IPv4 Address: Use Static IPv6 Address IPv6 Address: Enable IPv6 Unnumbered Model Launch Dhcp6c for Address Assignment (IANA) Launch Dhcp6c for Prefix Delegation (IAPD) Retry PPP password on authentication error Enable PPP Debug Mode Bridge PPPoE Frames Between WAN and Local Ports Port Control Protocol Mode Disable DS-Lite NAT444 PCP Server IGMP Multicast Proxy Enable IGMP Multicast Proxy Enable IGMP Multicast Source No Multicast VLAN Filter MLD Multicast Proxy Enable MLD Multicast Proxy Enable MLD Multicast Source


本书pdf是文字识别版，影印质量还行。
Coulometers Or Voltameters
Electrochemical Analysis
Electroplating, Electrotyping, And The Production Of Metallic Objects
Electrolytic Winning And Refining Of Metals In Aqueous Solutions
Electrolytic Reduction And Oxidation
Electrolysis Of Alkali Chlorides
The Electrolysis Of Water
Primary Cells
The Lead Storage Battery
The Edison Storage Battery
The Electric Furnace
Products Of The Resistance And Arc Furnace
The Electrometallurgy Of Iron And Steel
The Fixation Of Atmospheric Nitrogen
The Production Of Ozone


This is Java getopt 1.0.14 (released 2012/02/08)
Added in I2P 0.9.12.
Source was retrieved from here.
Previous version 1.0.13 (released 2006/08/29)
is available here.
Copyright (c) 1998 by Aaron M. Renn (arenn@urbanophile.com),
LGPL v2.
Changes:
-
Simplified Chinese
MessagesBundle_chs.properties renamed to MessagesBundle_zh.properties
-
Traditional Chinese
MessagesBundle_cht.properties renamed to MessagesBundle_zh_TW.properties
-
Norwegian Bokmaal
MessagesBundle_no.properties renamed to MessagesBundle_nb.properties


Street Numbers
问题描述 :
A computer programmer lives in a street with houses numbered consecutively (from 1) down one side of the street. Every evening she walks her dog by leaving her house and randomly turning left or right and walking to the end of the street and back. One night she adds up the street numbers of the houses she passes (excluding her own). The next time she walks the other way she repeats this and finds, to her astonishment, that the two sums are the same. Although this is determined in part by her house number and in part by the number of houses in the street, she nevertheless feels that this is a desirable property for her house to have and decides that all her subsequent houses should exhibit it.
Write a program to find pairs of numbers that satisfy this condition. To start your list the first two pairs are: (house number, last number):
Write a program to find pairs of numbers that satisfy this condition. To start your list the first two pairs are: (house number, last number):
6 8
35 49
输入:
There is no input for this program.
输出:
Output will consist of 10 lines each containing a pair of numbers, in increasing order with the last number, each printed right justified in a field of width 10 (as shown above).
样例输入:
样例输出:
6 8 35 49
解题代码:
/* @author:zeropinzuo */ import java.io.*; import java.util.*; public class Main{ public static void main(String args[]){ int[] array = new int[10]; array[0]=6; array[1]=35; for(int i=2;i< 10;i++) array[i] = 6*array[i-1]-array[i-2]; for(int i=0;i< 10;i++){ //System.out.println(" "+array[i]+" "+(Math.sqrt(8*array[i]*array[i]+1)-1)/2); } System.out.println(" "+6+" "+8); System.out.println(" "+35+" "+49); System.out.println(" "+204+" "+288); System.out.println(" "+1189+" "+1681); System.out.println(" "+6930+" "+9800); System.out.println(" "+40391+" "+57121); System.out.println(" "+235416+" "+332928); System.out.println(" "+1372105+" "+1940449); System.out.println(" "+7997214+" "+11309768); System.out.println(" "+46611179+" "+65918161); } }
(adsbygoogle = window.adsbygoogle || []).push({});
正在学习搜索，很好
mark, 很巧妙的实现！
第23行：
hash = -1是否应该改成hash[s ] = -1
因为是要把从字符串s的start位到当前位在hash中重置
修改提交后能accept，但是不修改居然也能accept
.net中char类型不是两个字节么
第二个方法挺不错。NewHead代表新的头节点，通过递归找到最后一个节点之后，就把这个节点赋给NewHead，然后一直返回返回，中途这个值是没有变化的，一边返回一边把相应的指针方向颠倒，最后结束时返回新的头节点到主函数。
对，这里说的最长回文子序列，非子串
因为要修改链表头(指针)，所以要用指针的指针
已修正
后面的掩码变量部分乍一看比较难理解，其实就是把32位按照一个整体来看待。
程序是对的。有些地方用了C++的写法
思路二可以用一个长度为k的队列来实现，入队后判断下队尾元素的next指针是否为空，若为空，则出队指针即为所求。
遍历了所有的情况(2^n)，tmp数组就是由当前遍历的状态s推算出的
Thanks for taking the time to examine this, I really feel strongly about it and love studying a lot more on this topic. If possible, as you acquire experience
前排支持


Speech
Matthew Coffey highlighted the state of prison education in the Ofsted further education and skills annual lecture 2013.
Good morning.
Today, nearly 84,000 people are in prison in England and Wales.
In institutions like the one we’ve just seen, there are just over 7,000 young people up to the age of 20 struggling to come to terms with a future blighted by the crime they have committed.
Seventy-two per cent of under 18-year-olds re-offend within a year of release from custody . That means that four of those young people could be back in prison within a year. For adults released from custody, the re-offending rate is 47%. These figures are totally unacceptable in a modern society such as ours.
I’m afraid we simply don’t know. There are no reliable data on prisoners’ backgrounds. But small-scale research published last year indicates that the very complex personal histories of people who are sentenced to prison include: being in care; experiencing abuse as a child; being excluded from school; having a family member who had spent time in custody; having no academic qualifications; and being unemployed at the time they committed the offence.
We all know the political mantra: ‘Be tough on crime and the causes of crime’ and ‘Prison works’. I have no concerns that, as a society, we are tough on crime. Anyone here who has been a victim of crime will understand just how life-affecting, even life changing, it can be. But are we tough enough when it comes to understanding and investigating the causes of crime? My view is that we are tough on crime but not tough enough on the causes of crime. I intend to use this opportunity to explain what I mean.
Unusually for one of Her Majesty’s Inspectors, I’m going to start by making two assumptions, rather than triangulate the evidence.
The first assumption is that not everyone in this room has been inside a prison before today – I’m sure many of you have, but not everyone.
The second assumption is that even fewer of you have spent the night as a convicted criminal, deprived of your liberty in one of Her Majesty’s 123 prisons in England and Wales.
Personally, I have had the privilege and sometimes the misfortune to visit a good number of those 123 prisons. Thankfully, I have never spent the night as a convicted criminal.
Aside from the many hundreds of prisoners I have spoken with over the years, and the ‘night visits’ I have undertaken with my colleagues from HMIP, the nearest I have been to understanding what it might be like to be incarcerated was reading John’s book, ‘Inside’.
It is clear that being in a prison is no picnic and it’s not meant to be. The point is that society sets the sentence for the crime and expects it to be delivered out of sight. Protecting the public is a clear aim of our courts and quite correctly, it is the first objective of Her Majesty’s Prison Service and the reason for the 20-foot walls and iron gates you came through today. But a prison sentence also serves as a deterrent to others in order to support crime reduction. A sentence also aims to support the rehabilitation of offenders and serves as a punishment to the individual who stands convicted.
I am most concerned with the last two issues: punishment and rehabilitation. Let me put my cards on the table straight away. I think the punishment element of the sentence has unintended consequences that hinder a prisoner on their journey to being rehabilitated. This, in turn, contributes to the cycle of re-offending we see today. More on this in a moment.
So the 2 key and obvious challenges are to:
Currently, just under a quarter of the total prison population is under the age of 25. That’s almost 20,000 young people who are incarcerated today. For me, being tough on the causes of crime means engaging with those who present with characteristics most likely to lead to future criminal behaviour at the earliest possible age.
Sir Michael’s lecture on ‘Unseen children’ highlights the scandal that children from poorer backgrounds do much less well than their better off peers in our schools. These young people need to see their value and be motivated to learn and achieve before they are drawn into the influences that can lead to crime and, sadly, to a life of crime.
This brings me to the second issue, that of re-offending. For adults who have been in custody, the re-offending rate for the 12 months ending September 2011 was 47%. The re-offending rate for the same period for juveniles in custody was even more shocking at 72%. Almost three out of every four juveniles who left custody that year hadn’t managed to settle into a life that didn’t involve crime.
The challenge is to halt this cycle of re-offending, this revolving door, in and out of prison. The situation is only marginally better than it was 10 years ago.
Every prisoner costs the tax payer on average approximately £34,000 a year. Coincidentally, one year at Eton will also cost you around £34,000.
The reasons why an individual offends or even re-offends have long been the topic of much research and debate.
Employment is just one of the identified 7 key factors that individually, or more collectively, contribute to the preventing crime prevention. It is the one that I’m focusing on today.
Research has shown that being in employment can reduce the risk of re-offending significantly. It wouldn’t take long for us all to put together the benefits of having a job. I’d propose:
Whatever the benefits, they must outweigh the pull towards criminal behaviour. Above all, there must be greater opportunities for ex-offenders to earn an honest wage through an honest job. Resettlement must not mean settling back into the life that leads to crime in the first place.
As you will have noted from the characteristics I mentioned previously, offenders do not generally have a history of secure employment. In a recently published survey, almost two thirds of prisoners had been in receipt of benefits at some point in the 12 months prior to coming into custody and 13% reported never having had a job. And the chances of future employment are, frankly, far too bleak.
But the numbers simply don’t add up. There are currently about 6 job vacancies for every prisoner.
In skills shortage areas, such as manufacturing, accommodation and food services, there are approximately 89,000 unfilled jobs. That would give every prisoner a job today.
But, as we all know, it isn’t as easy as that. Even for those with good employability skills, being an ex-offender is the most significant barrier to employment.
The 2 main reasons for this remain the same as when I did my own master’s research just over 6 years ago.
There are still 2 extrinsic barriers:
Nils Christie, a well-respected professor of criminology at Oslo University, said,
‘…a prisoner released after serving a sentence should always be met with an orchestra outside the walls. Later should follow the big, integrative feast. That would have been reintegration.’
The intrinsic barriers are equally challenging:
But I also wonder if the pull of what lured them into crime in the first place – the influences, the temptation, the downward spiral – are just far too difficult for some to overcome. But just because something is difficult doesn’t mean we should lower our expectations. Ambition is a powerful force to be reckoned with.
We all know that good quality education and training in prisons can make a significant difference to bringing offenders closer to the world of work. We have seen outstanding examples of prisons investing time and money to work with employers in partnership with the education and training provider and other organisations to enable prisoners to develop excellent vocational skills to high industry standards. But we also know that these examples are all too scarce.
Only 27 of the 78 prisons we have graded for learning and skills and work since 2009 were judged to be good for overall effectiveness or leadership and management at their latest inspection. That’s just 35%. None was outstanding. Eleven were inadequate – that’s nearly 15%. Too much education and training is simply not good enough.
If these figures related to our schools, there would be a national outcry. Secretaries of State would, I’m sure, be asked to resign. Yet this particular education provision is serving some of the country’s most vulnerable people and the taxpayer is footing the bill. And if the measure of its success is in re-offending rates, then 47% for adults and 72% for juveniles give no cause for celebration.
The catalogue of weaknesses that have remained over the years are unacceptable:
But an even greater weakness is when prisoners are locked up in their cells during the day and cannot attend training or work. A direct consequence of over-crowding perhaps?
I’d really like to know why the good and outstanding practice we have identified in one prison isn’t transferred to every other prison – or even, as in some cases, maintained in that prison.
Let me give you an example. In 1999, Lord Ramsbotham, the then Chief Inspector of Prisons, led the inspection of HMP Altcourse, a two-year-old category ‘B’ prison on the outskirts of Liverpool built and run by Group 4. David famously referred to the prison as ‘the jewel in the crown of the prison service’. With reference to the preparation of prisoners for the world of work, he commented:
’We were informed that local employers were not interested in prisoners having particular skills, but, more generally, having an attitude for work. This work ethic was central to the thinking of the Employment and Training Department and involved prisoners working a 40-hour-week which reflected, as much as possible, the real world of work. Prisoners were discouraged from having domestic visits during the working day and received a financial penalty if day-time visits were arranged.’
The report goes on to judge favourably the system of offenders being given pass keys that enabled them to make their own way through a prescribed and secure route from their cells to the workplace every day. Getting up, getting breakfast and making their own way to work on time was firmly the responsibility of the individual offender. Wages were proportionally cut if offenders turned up late for work. David also expressed his concern that, as this was a private prison, the public Prison Service would not take on board and share this good practice. He was right.
The learning and skills opportunities remained strong at the last inspection in 2012. So why isn’t every other prison doing this?
Very few prisons promote employability skills and attitudes effectively. For example, I observed one group doing restoration work on bicycles start the afternoon session with a 20-minute tea break.
Far too few prisoners enter prison and then leave it able to calculate a weekly budget, complete a simple work log book or follow written instructions on a work schedule. Data from initial assessments have shown that, in some prisons, about 75% of prisoners’ English and maths skills are assessed to be below the equivalent of a GCSE at grade C; 50% do not have the skills expected of an 11-year-old.
And the list can go on … But each one of those weaknesses mean that prisoners’ time is not being used to help them move closer to employment on release.
The core value of education and training in prisons must be, quite simply, giving every prisoner a second chance. For most prisoners, a sentence is a small but significant part of their lives: put there by society as a punishment for their crime; a moment to reflect – to hopefully show remorse. We must seize this moment. This is a captive audience. In every single prison in the country we have the most fantastic opportunity to do amazing things with the hardest to help in our society. But it needs energy, determination, enthusiasm and expertise – it needs the best teachers, the best managers and the best advisers. But above all, it needs commitment and a belief among prison staff and all the partners involved that giving every prisoner a second chance is the right thing to do.
Aside from the moral and social imperative, there is a clear financial driver – fewer prisoners, fewer prisons, more in employment, more income tax, less crime, more educated parents better able to support their own children’s education … I could go on.
It’s clear that there is no easy solution, but inspection over the years has helped us identify a pattern of key approaches that have led to successful progression to work for prisoners on release and ultimately lower occurrences of re-offending.
Getting employers such as Timpson’s involved not only in training but also developing prisoners’ employability skills is perhaps one of the most important components of good vocational provision in prisons.
We also need to promote of the advantages of working to offenders in prisons. They must be given a clear opportunity to see that there is a realistic alternative to crime. Ex-offenders with jobs in the community provide good role models.
I have seen some excellent training and work resources in prisons, but it takes investment and commitment by the companies and the prisons. It takes ambition and determination.
If this can happen at these prisons, then why not at every prison?
The recent historic model of preparing offenders for work on release has focused on the education and training of offenders, supported by key performance targets (KPTs), with a heavy emphasis on basic skills. The problem with this model is that the KPTs become the driver, strategically. They lack clarity and they lack the individualisation that is required. The result is a steady stream of ex-offenders who are educated to a level and in skills that may hold little value with employers.
We have got to have more ambition. How many prison documentaries have we all seen where a prisoner is released and the officer instinctively turns to camera and says, ‘I’ll give him a week before he’s back’?
I am therefore proposing six recommendations that have at their core the aim to increase the number of prisoners who don’t return. I’ll take each one in turn.
They are about:
To start with sentencing, I return to my earlier point. What are prisons for? Holding prisoners securely is of course the first priority. They also have to respond to the judiciary by implementing the sentence that the judge passes. In the most severe of cases, this is achieved – for example a serial killer or a child murderer can expect the judge to state that they must be sent to prison in order to protect the public for the rest of one natural life. These cases are rare, but they provide clarity.
But surely there is need for a new model that would provide the same level of clarity in all cases?
So my first recommendation is to the government, to review further the Rehabilitation of Offenders Act and, rather than a one size fits all approach, consider empowering the courts to determine on a case by case basis the length of time that a conviction must be declared beyond the time spent in prison. This may or may not be conditional on the offender gaining, say, qualifications in English and maths while in prison. This would remove, or at least lower, the clear barrier to employment that nearly every ex-offender faces.
Moving on, I have 2 recommendations about the delivery responsibility.
The question is, how can we guarantee that prisons provide the best education, training and employment opportunities to equip prisoners for future employment? The answer is clear. A single line of accountability.
We are only one year into the cluster arrangements of prisons for contracting providers of offender learning and skills. But I have a real concern about the accountability of the training and education in prisons. It is too complex and needs to be located with the prison governor. Currently, a governor is directly accountable for the work activities in their prison – but not for the education contractor. If work activities are not up to scratch, actions can be taken. If education is not delivering, a long chain of people are involved, so in practice, nothing happens.
So my second recommendation is that the governing governor of a prison should have a clear responsibility for holding a contractor for education and training to account.
We also need to be clear that we are measuring and rewarding the right things. I’ve already mentioned the very low rates of progression to employment from prison. But these destination data are also unreliable as they frequently depend on prisoners’ intentions and not actual progression.
In being held responsible for the impact of education and training, prison governors should have the responsibility for identifying the prisoners’ employability on entering the prison (such as prior qualifications, English and maths skills, and experience of work) and their realistic employment aims to inform training while in prison. They should be held accountable for prisoners’ skill development while in prison and their actual progression to sustained employment or further education.
My third recommendation is therefore that targets should be based on prisoners’ development of vocational and employment-related skills at level 2 and above and their progression to sustained employment or further training on release.
This brings me to social responsibility. I started this lecture by asking the question, who are the people who commit a crime most likely to be? Are pupils eligible for free school meals more likely to end up in prison than those that are not on free school meals? Which areas of the country produce more prisoners? How is that linked to the number of people previously in care or excluded from schools? I said that we simply didn’t know as there were no reliable data on prisoners’ backgrounds.
So my fourth recommendation is to the National Offender Management Service to gather reliable information about the characteristics of all prisoners entering the prison system. This information should then provide the background for our collective social responsibility to provide more targeted support to help avert young people from entering a life of crime.
Alongside this, a fundamental and crucial omission from the current model is any indication of collective social responsibility to engage with those who do end up in prison. For example, employers are actually protected from ex-offenders by the Rehabilitation of Offenders Act 1974.
Very few employers engage with and employ ex-offenders and I recognise that they need support to do so. There is a greater need for prisons to engage with employers of all sizes.
The government is committed to reorganising the prison estate and to creating 70 resettlement prisons. A secure college for juveniles is also likely to become a reality. These developments are to be welcomed. We must, however, seize this moment to reconsider what makes a successful prison.
This is also the opportunity to break down the natural barriers that many employers have to employing ex-offenders. The employers in this room have shown that it is possible.
This is also an opportunity to seriously consider whether the prison officers who will be working in the resettlement prisons require a higher level of education than is currently the case so that they can have a direct impact in supporting prisoners’ rehabilitation on release from custody. Currently, a prison officer can be recruited without any qualifications themselves. And I have met some outstanding officers who have so much more to offer. Let’s find ways to incentivise them.
My fifth recommendation is that the prison regime in the 70 resettlement prisons is built round the working day, as successfully achieved at HMP Altcourse.
This would help to develop the sense of personal responsibility and prevent the institutionalised dependencies that can act as a barrier to self-sufficiency on release. The resettlement prisons provide an excellent opportunity to make this more systemic across the estate.
This would of course need to be closely linked with the need to engage employers in resettlement work in prisons.
This brings me to my sixth and final recommendation that, in the same way that the government is consulting on ways to engage employers in their flagship apprenticeship programme, serious consideration should be given to extending those same incentives to those who train and employ ex-offenders.
The approach does not require employers to employ ex-offenders, but it would incentivise them. It is intended to build on the excellent examples of employer engagement that already exist:
In prison inspections, Ofsted will continue to focus on the quality and impact of the FE and skills and work provision. We will be unrelenting in our criticism of unacceptable and poor practice. These prisoners need the best teachers, the best careers advice and the skills that employers are looking for today. Not 10 years ago. But our role is also to celebrate and disseminate good practice where we find it. There are currently 11 examples of good practice on our website. And there needs to be more.
Finally, this is not just about prison inspection. It’s about our inspection of schools and colleges and social care settings for looked-after children. I don’t want to rehearse the recommendations made by Sir Michael in his ‘Unseen children’ speech, but it is safe to say that a good number of those children Michael was talking about, those poorer children who were failed by successive years in the education and care system, will end up here – in places like Wormwood Scrubs. We all have a role to stop that happening.
I now invite you to watch a brief video to demonstrate that with determination and ambition… This can be done.


@(message: String)
Lenders require information about other assets to verify down-payment or net worth information.
50% Complete


Item Template
Components :
IdentityComponent
NameComponent : name of the item
LevelComponent : level of the item
StackableComponent : if stackable or not
ItemTypeComponent : HEAD, NECKLACE, ARMOR, RING, WEAPON, LEGS, FEET, RESOURCE
TextureRegionComponent (Need to be changed) : represent the icon in the inventory
Weapons :
TwoHandedComponent : does weapon use both hand?
RangeComponent : range of attack
DamageComponent : damages that the weapon inflict
Consumables :
DestroyOnUseComponent : destroyed at first use?
CoolDownComponent : cooldown between uses
CastTimeComponent : time to use the item


This is a fork of the original flexbox-playground.
Description:
This property specifies how flex items are laid out in the flex container, by setting the direction of the flex container’s main axis.
They can be laid out in two main directions, like rows horizontally or like columns vertically.
Values:
row: Flex items are stacked in a row from left-to-right in ltr context.
row-reverse: Flex items are stacked in a row from right-to-left in ltr context.
column: Flex items are stacked in a column from top-to-bottom.
column-reverse: Flex items are stacked in a column from bottom-to-top
Description:
The initial flexbox concept is the container to set its items in one single line.
The flex-wrap property controls if the flex container lay out its items in single or multiple lines, and the direction the new lines are stacked in.
Values:
nowrap: Flex items are displayed in one row, by default they are shrunk to fit the flex container’s width.
wrap: Flex items are displayed in multiple rows if needed from left-to-right and top-to-bottom.
wrap-reverse: Flex items are displayed in multiple rows if needed from left-to-right and bottom-to-top.
Description:
The justify-content property aligns flex items along the main axis of the current line of the flex container.
It helps distribute left free space when either all the flex items on a line are inflexible, or are flexible but have reached their maximum size.
Values:
flex-start: Flex items are aligned to the left side of the flex container in ltr context.
flex-end: Flex items are aligned to the right side of the flex container in ltr context.
center: Flex items are aligned at the center of the flex container.
space-between: Flex items are displayed with equal spacing between them, first and last flex items are aligned to the edges of the flex container.
space-around: Flex items are displayed with equal spacing around every flex item, even the first and last flex items.
Description:
Flex items can be aligned in the cross axis of the current line of the flex container, similar to justify-content but in the perpendicular direction.
This property sets the default alignment for all flex items, including the anonymous ones.
Values:
stretch: Flex items fill the whole height (or width) from cross start to cross end of the flex container.
flex-start: Flex items are stacked to the cross start of the flex container.
flex-end: Flex items are stacked to the cross end of the flex container.
center: Flex items are stacked to the center of the cross axis of the flex container.
baseline: Flex items are aligned in a way that their baselines are aligned.
Description:
The align-content property aligns a flex container’s lines within the flex container when there is extra space in the cross-axis,
similar to how justify-content aligns individual items within the main-axis.
Values:
stretch: Flex items are displayed with distributed space after every row of flex items.
flex-start: Flex items are stacked toward the cross start of the flex container.
flex-end: Flex items are stacked toward the cross end of the flex container.
center: Rows of flex items are stacked in the center of the cross axis of the flex container.
space-between: Rows of flex items are displayed with equal spacing between them, first and last rows are aligned to the edges of the flex container.
space-around: Flex items are displayed with equal spacing around every row of flex items.
The children flex properties can be applied at child level, separate for each child. See the results section and change some of their properties. The initial values ar the default ones.
The browser support for the latest flexbox specification is:


--- layout: post title: An Afternoon in the City date: 2012-03-12 10:55:07.000000000 -04:00 categories: - Family Life tags: - Melbourne - Outings with kids - Southbank status: publish type: post published: true meta: aktt_notify_twitter: 'no' _edit_last: '1' dsq_thread_id: '1188597181' author: login: cint email<EMAIL_ADDRESS>display_name: Jacinta first_name: Jacinta last_name: '' ---
With my dad in tow, we left Greg and Jairah at home (our little boy is no fun out and about with no afternoon sleep), we took the girls on the train for a rare city visit. With a long weekend and Moomba, there was plenty of things to see and do. We spent our time at Southbank watching street performers. The girls were mesmerised by a magician who had his entire audience in awe. He certainly was entertaining.
Most of the time I felt like I was a shepherd, trying to keep an eye on my wonder, Tenneille, who loves nothing better than to flutter like a sweet butterfly all over the place, which this mama finds a little stressful when in such big crowds. Alas, she was oblivious to my inner stress and had a glorious time.
Dinner was finished off with ice creams for the girls that practically finished off the girls. Dad and I got the left overs, of which was most of the ice cream! By this time it was getting late and both Tenneille and Scarlett were fading fast.
Stopping to take a few photos, we slowly made our way back to the train with happy, but very tired girls. We thankfully didn't have to wait long for our train. With a few deep breaths, we made it home, glad to have made the most of a lovely autumn afternoon in Melbourne.
[caption id="attachment_1532" align="aligncenter" width="450" caption="The Eureka Tower"][/caption]
Jacinta x


<< Previous Session
|
Next Session >>
Assessment - Lecture Quiz
Lecture 8: Theory of Debt, Its Proper Role, Levera
1
.
Which of the following are causes for interest rates, according to Eugen von Boehm-Bawerk?
(More than one answer may apply.)
Points = 2.0
Roundaboutness.
Technical progress.
The supply and the demand for savings in the economy.
Time preference.
2
.
Consider a Robinson Crusoe economy, as in the Irving Fisher theory of interest rates. If a second Robinson Crusoe is introduced into this economy, who is more patient than the first Robinson Crusoe, what happen to the interest rate?
Points = 2.0
The interest rate doubles, because there are now two people in the economy.
The interest rate increases.
The interest rate remains the same.
The interest rate decreases.
3
.
Which two contracts can be used to replicate the payoff of a conventional bond (or corporate bond), as introduced in this lecture?
Points = 2.0
An annuity with constant, semi-annual payments, whose last payment occurs at the maturity of the conventional bond, and a discount bond that pays at the maturity date of the conventional bond.
A discount bond that pays at the maturity date of the conventional bond and a discount bond that pays a year after the maturity date of the conventional bond.
Two annuities with constant, semi-annual payments, whose last payments occur at the maturity of the conventional bond.
A consol with constant, semi-annual payments and a discount bond that pays at the maturity date of the conventional bond.
4
.
The creation of which U.S. institution did Elizabeth Warren influence decisively?
Points = 2.0
The Harvard Magazine.
The Financial Stability Oversight Council.
The Consumer Financial Protection Bureau.
An agency promoting honeymoon loans.
5
.
Suppose that today you are given a 12-month spot rate as well as an 18-month spot rate. Which forward rate can you compute from these two rates?
Points = 2.0
The forward rate between 18 months and 24 months from today.
The forward rate between today and 18 months from today.
The forward rate between 24 months and 36 months from today.
The forward rate between 12 months and 18 months from today.
Status
Submit
Close


CHAPTER 555
EMPLOYEES TRUST
Section
555-1 Definitions
555-2 Trust not in violation of rule against perpetuities


Sweet Free Stuff
///////////////////////////////////////////
Free Top Care Hydrogren Peroxide at Giant Eagle
Posted: 02 Jun 2016 10:02 AM PDT
http://feedproxy.google.com/&edburner&utm_medium=email
Load the coupon to your Giant Eagle Advantage Card. Coupon valid through
6/8. Free Top Care Hydrogren Peroxide at Giant Eagle
The post Free Top Care Hydrogren Peroxide at Giant Eagle appeared first on
SweetFreeStuff.com.
///////////////////////////////////////////
Free Over EZ Hangover Reduction Sample
Posted: 02 Jun 2016 10:00 AM PDT
http://feedproxy.google.com/&edburner&utm_medium=email
Free Over EZ Hangover Reduction Sample
The post Free Over EZ Hangover Reduction Sample appeared first on
SweetFreeStuff.com.
///////////////////////////////////////////
Free Snapple Coupon on June 10th
Posted: 01 Jun 2016 01:55 PM PDT
http://feedproxy.google.com/&edburner&utm_medium=email
Visit this link on Friday, June 10th to get a coupon good for a free
Snapple. Free Snapple Coupon on June 10th
The post Free Snapple Coupon on June 10th appeared first on
SweetFreeStuff.com.


It's listed under console/, but this page really tests some of everything. Messed up @imports, web workers, console API, iframes, script errors - this page has something for everyone. This is a copy of: https://mihaisucan.github.io/mozilla-work/test.html


Creates an instance of Client1inch and possibly override default config.
Returns the price of a pair of contrat addresses.
The request attributes.
Get the price with symbols instead of contract addressed.
The request attributes.
Search a token from its symbol.
The token symbol.
Get the list of supported tokens and use cache if exists.
A flag to force tokens list to be refheshed.
Check if an address of a contract is valid or not.
The contract or account address to check.
Generated using TypeDoc
1inch price provider


Computer Science major and Mathematics minor at Purdue University seeking for an internship in software development.
Developed a Google Assistant chatbot for WebEx using Dialogflow and Node.js. Integrated Google Calendar to create or remove a meeting from one's personal calendar.
Worked on a data visualization platform with close to millions of records of healthcare data to create interactive web applications that could be used in hospitals to help diagnose patients.
Developed full stack applications to deliver queries on complex algorithms on protein sequences and genealogies in order to receive all protein involved in a DNA sequence.
Developed a 3D racing game with Unity and C# framework to implement physics engine. Created minimalistic design of landing page for the company including their goals and products.
Mathematics Minor and Entrepreneurship Certificate
GPA: 3.3
Relevant Coursework: Systems Programming, Databases and Information Systems, Data Structures and Algorithms, Computer Architecture, C Programming, Discrete Mathematics, Object Oriented Programming, Women in Engineering
Relevant Coursework: Java, Engineering Technology, AP Biology, Physics, Money and Banking, AP Macroeconomics
I have been a student of Taekwon-Do my whole life. I am a certified third degree black belt and have participated in national and international competitions. I have competed in patterns, team patterns, and sparring. In 2014, I was team captain for the Junior Women's pattern team and trained a group of 5. Our team recieved first place at Nationals and top 5 in Internationals. This incredible experience created my work ethic and made me the student I am today.
At school, I am an active member of Project RISHI which is a nonprofit organization aimed to creating sustainable change in rural India. We work together to create campus events to raise awareness and fundraise. I frequently attend tech talks hosted by Purdue's Computer Science Women's Network to broaden my knowledge in Computer Science and expand my network.


First-Utility
First-Utility
FirstUtility
Library
FirstUtility.Library.Data
FirstUtility.Library.Device
FirstUtility.Library.Navigation
FirstUtility.Library.RunUnitTestCases
FirstUtility.Library.URL
FirstUtility.Library.Utils
FirstUtility.Library.XHR
Others...
FirstUtility.About
FirstUtility.Index
Others...
EventEmitter
EventEmitter
exports.EventEmitter
Others...
Assertion
Base
Context
Date
Doc
Dot
F
HTML
HTMLCov
Hook
JSONCov
JSONReporter
Landing
List
Markdown
Min
Mocha
NyanCat
Progress
Runnable
Runner
Spec
Suite
TAP
Test
TiJSONReporter
TiSpec
TiSpecStudio
XUnit


This beer is our latest special edition. Cost effective but also focus on quality, and can be enjoyed by any age group. Its bottle is very delicate, using the most advanced glass technology. In addition, our design department spent a year elaborately designing this very durable packaging logo. I'm sure you'll find it in a store at a glance. After that, we will be constantly updated to improve the taste of various products. If you have any questions, please feel free to email us. Thank you!
products
our brand


Nota:
This is certainly not the most efficient way to do this. This is just the way I did it tonight because it made me happy. It might not even be an intelligent way to do this. Whatever, it’s fun.
I’m doing some TA work for the first year class of C at UofO. For some insane reason, they decided that all engineers not in a computer related field would learn C in first year.
Meanwhile, all computer related engineers (software and computer engineers), along with computer scientist, learn Java as their first language. So overall, it’s a messed up curriculum, but whatever. That’s not the scope of this post.
Correction is painful
I didn’t quite know that before. I’m sure it could be made better, but the software used at UofO to manage classes is quite painful to deal with. It tries to keep you in its web UI and work from there. Problem is:
- It doesn’t support most filetypes.
- Its UI is unusable.
- It’s just not convenient.
Because they want you to use their web app, they didn’t put much care into making offline work usable. All you get, pretty much, is a giant dump of all the 192 students’ files and you have to navigate through that.
So why a hack?
Because Blackboard S*cks
I don’t want to spend more time than required doing this correction thing. So I developped a basic workflow.
Here’s how it goes:
- Download all the student files
- Dump them in a folder.
- Create
done/
,todo/
andwip/
folders. - Send everything to
todo/
- For every student ID:
- Move its files to
wip/
- Correct them (compile, run in a VM, look at the report)
- Move the files to
done/
- Move its files to
It sounds simple, but think about the cost of every loop iteration (that not any real programming language):
mv *studentID* wip/
cd wip/
if [ `cwd`.Contains(zipFile) ]
unzip zipFile
open *.doc *.docx *.odt *.pdf
cc *.c -Wall
./a.out
doTheCorrectionDance()
rm a.out
cd ..
mv wip/* done/
That’s quite a lot of typing in your terminal, and it’s annoying. There are things you can inline:
unzip *.zip &&
open *.doc *.docx *.odt *.pdf &&
cc *.c -Wall &&
./a.out &&
So that at every iteration, you just arrow-up
to this command and run it. You’re in a VM so you don’t really care about running random code.
The biggest problem remain, there are a lot of little stupid commands to do in order to move the proper student’s files into the proper folders at the right time.
Is There A Solution Out Of This Nightmare
When you download a dump of assignments from Blackboard, the students’ files share a common filename format: they all contain their student number in the prefix.
Assignment\ 2_XXXXXXX_Tentative_2013-10-27-17-28-14_asg\ 2\ final.docx
A simple tool to help you do the correction would pick all the file in wip/
, move them to done/
, then pick the files with the XXXXXXX
student ID string in todo/
and move them into wip/
.   I’m not a bash magician, so I wrote a Go script to do this.
I’ll use a couple of Go packages, here they are:
import (
// To print on the screen
"fmt"
// A package I made to colorize strings
"github.com/aybabtme/color/brush"
// To rename files
"os"
// To create filenames and clean them
"path"
// To walk the directories
"path/filepath"
// To match the studentIDs in the filenames
"regexp"
)
First I’ll need to keep track of what are the files in wip/
and todo/
. I’ll index those by studentID
so I can easily get all the files of a specific student.
todoFiles := make(map[string][]string)
wipFiles := make(map[string][]string)
Next, I need to have a way to get the student IDs that are in play. This simple regexp will do, since student IDs are all 7 digits long.
regexpStdID := regexp.MustCompile(`\d{7}`)
Now, I need to collect the files that lie in todo/
, indexed by studentID
:
filepath.Walk("todo/", func(path string, fi os.FileInfo, err error) error {
if !regexpStdID.Match([]byte(fi.Name())) {
return nil
}
stdID := regexpStdID.FindString(fi.Name())
todoFiles[stdID] = append(todoFiles[stdID], "todo/"+fi.Name())
return nil
})
We do the same thing with wip/
:
// Collect all the files in `wip`
filepath.Walk("wip/", func(path string, fi os.FileInfo, err error) error {
// Do the same thing
})
Then, we move all the files we’ve found in wip/
to done/
.
// Move all the files in `wip` to `done`
for _, filenamesToMove := range wipFiles {
for _, wipFilename := range filenamesToMove {
doneFilename := path.Join("done", path.Base(wipFilename))
err := os.Rename(wipFilename, doneFilename)
if err != nil {
fmt.Printf("Didn't work, %v\n", err)
continue
}
}
}
In fact, this part could simply have been to move anything in
wip/
todone/
, there’s no need to actually collect the student IDs forwip/
.
Now that wip/
is emptied, it’s time to find the next student to grade:
// Find the student number of the first document in `todo`
var firstTodo string
for todoKey := range todoFiles {
firstTodo = todoKey
break
}
If we don’t have anything to do, print it in red! So we clearly know we’re done.
// Didn't find anything, then we're done
if firstTodo == "" {
fmt.Println(brush.Red("Nothing to do"))
return
}
Then move all those student’s files to wip/
:
// For every file with this student ID, move it from `todo` to `wip`
for _, filename := range todoFiles[firstTodo] {
destination := path.Join("wip", path.Base(filename))
err := os.Rename(filename, destination)
if err != nil {
fmt.Printf("Didn't work, %v\n", brush.Red(err.Error()))
continue
}
}
That’s it!


Important info about the midterm:
- NOTE THE MIDTERM LOCATIONS ABOVE! NOT EVERYONE WILL TAKE THE EXAM IN NVIDIA AUDITORIUM!
- The midterm will cover material in Lectures 1-9 (up through BFS/DFS).
- The midterm will be a closed-book exam, 80 minutes long. You will be allowed a "cheat sheet" that you have prepared yourself (one 8.5 x 11 sheet of paper, front and back).
- Section the week of Feb. 11 will be a review session for the midterm.
Here are some practice exams. These are from previous quarters, so we may not cover exactly the same material or have exactly the same emphasis. In particular we will not be covering Dijkstra's algorithm on our midterm this quarter.


Equivalent to clicking the Arrow button on the Drawing toolbar. Adds an arrow to the active chart. If a chart is not the active window, displays an error value.
Syntax
ADD.ARROW( )
Remarks
After you create an arrow with ADD.ARROW, the arrow remains selected, so you can use the arrow form of the PATTERNS function to format the arrow and the FORMAT.MOVE and FORMAT.SIZE functions to change the position and size of the arrow.
Related Functions
CREATE.OBJECT Creates an object
DELETE.ARROW Deletes the selected arrow
FORMAT.MOVE Moves the selected object
FORMAT.SIZE Changes the size of the selected object
PATTERNS Changes the appearance of the selected object
Return to index


Overview
Package
Class
Use
Tree
Deprecated
Index
Help
PREV PACKAGE
NEXT PACKAGE
FRAMES
NO FRAMES
Package org.apache.ecs.rtf
Interface Summary
Border
Interface that border classes implement so that we are able to do one is instanceof Border rather then a great big || statement.
Class Summary
Alignment
Author
BackGroundColor
Bold
BorderBottom
BorderLeft
BorderRight
BorderStyle
BorderTop
Category
Cell
CellDef
Centered
ColorGroup
ColorTbl
Comment
Doccomm
Field
FieldResult
FieldType
FontSize
Footer
ForeGroundColor
Header
Indent
Info
Justified
Keywords
Left
Manager
Operator
PageBreak
PageNumber
Paragraph
Right
Row
RTF
RTFDocument
RTFElement
Subject
Table
TableDef
TableHeader
Title
Version
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
PREV PACKAGE
NEXT PACKAGE
FRAMES
NO FRAMES
Copyright © 1999-2003 Apache Software Foundation. All Rights Reserved.


Hello,
This is a notice to inform you that your credit card payment for your CommCare subscription for project space: {{ domain }} was declined. Please check to see if your billing information correctly matches your credit card.
Here are the details of your declined payment:
Please update your billing information at {{ billing_info_url }} to prevent disruption to your CommCare subscription. You'll need to pay the prior invoice whose payment method was declined, but future invoices will be paid via the updated billing information.
If you have any questions, please contact {{ support_email }}.
Thanks,
-Dimagi


UN calls for talks to end Bolivia crisis as death toll rises
LA PAZ, Bolivia — A Bolivian official says a U.N. envoy is urging the government of the Andean country’s interim president and supporters of self-exiled leader Evo Morales to begin talks on resolving a crisis that has already claimed 23 lives and is causing food shortages.
Presidency Minister Jerjes Justiniano said Sunday that the negotiations proposed by envoy Jean Arnault would involve lawmakers from Morales’ political party, mobilized groups and representatives of interim leader Jeanine Áñez and be mediated by the United Nations and the Roman Catholic Church. No date has been set for talks.
Áñez declared herself president after Morales resigned Nov. 10 after weeks of protests against him over disputed election results. Morales’ supporters took to the streets after he quit under pressure from the military and are demanding he return home.
Carlos Valdez, The Associated Press


WikiLeaks<EMAIL_ADDRESS>leaked emails, 2009 mail archive
This message is part of a particular mailbox provided at WikiLeaks
and it should be discussed here.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
NC pix 2
- To: Rich Stanton<EMAIL_ADDRESS>- Subject: NC pix 2
- From: ss<EMAIL_ADDRESS>- Date: Wed, 10 Oct 2007 16:01:02 -0700 (PDT)
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:Date:From:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID; b=dvK3D3ScIg/upcWthzLOYbgbkC8ArwOCi2caMxlKC4GlGrN2J8WXQH1NUEqiHEg5XBNjSKRocbVAy9DGh9hNG4lfs+qDyrxaj1qyaHsPk/+MghS6Lw3l/kNel7/aHy4tBfuovYGuau2VKrnQFQg1IpVXEHp7/gT+o+F3+m9hX9M=;
Need a vacation? Get great deals
to amazing places on Yahoo! Travel.
Entry for this page on WikiLeaks |
Discussion page on WikiLeaks |
wikileaks.org
Date Index |
Thread Index |
Author Index


ONLINE
SMS
Hitchhiker's Guide to Online SMS
Download for
Launch (Just one click and you are done)
Come back here and
Login


Analytical, goal oriented leader with proven track record in management and
enforcement Space Fleet Operations or Frontend Development. Wide range of hands-
on experience, including:
"
Together we can rule the galaxy
"
I find your lackof faith
disturbung
"
When I left you, I was but the
learner; now I am the master.


Toasts are primarily used for system messaging. They also display at the bottom of the screen, but may not be swiped off-screen. Core_CSS provides simple methods to create toasts.
Core_CSS define two object to create toasts: $.Toasts and coreToasts with method create
<script> coreToasts.create(message, callback, timeout, class); </script>
coreToasts.create('This is a toast') coreToasts.create('This is a toast', function(){ alert('This is a callback of toast') }) coreToasts.create('This is a toast', null, 5000)


About Us
Google Developer Group - Limbe (GDG Limbe) is a hands-on technical community, we have some interesting conferences, competitions, and many other creative activities.
It's a technical user group for people who are interested in Google's developer technology.
Are you in Limbe and will love to be in the mist of Android, App Engine and Chrome (Mobile, Cloud and Web) Hackers ? Then here is the place to come.
Teach and learn. The group is managed by volunteers, expert in many fields. And we are always happy to accept new volunteers interested to be part of the organizational team.
Disclaimer: GDG Limbe is an independent group; our activities and the opinions expressed here should in no way be linked to Google, the corporation.
Contacts
Google Developer Group - Limbe (GDG Limbe) is a hands-on technical community, we have some interesting conferences, competitions, and many other creative activities.
It's a technical user group for people who are interested in Google's developer technology.
Are you in Limbe and will love to be in the mist of Android, App Engine and Chrome (Mobile, Cloud and Web) Hackers ? Then here is the place to come.
Teach and learn. The group is managed by volunteers, expert in many fields. And we are always happy to accept new volunteers interested to be part of the organizational team.
Disclaimer: GDG Limbe is an independent group; our activities and the opinions expressed here should in no way be linked to Google, the corporation.
Tah Teche
Four tips to make your switch to Android quick and easy
Kpwe Blaise
Turn the little green Android mascot into you, your friends, anyone!
Majam Henry
A clean, simple, customisable home screen that comes with the power of Google Now: Traffic alerts, weather and much more, just a swipe away.
Resources
Google Developer Group - Limbe (GDG Limbe) is a hands-on technical community, we have some interesting conferences, competitions, and many other creative activities.
It's a technical user group for people who are interested in Google's developer technology.
Are you in Limbe and will love to be in the mist of Android, App Engine and Chrome (Mobile, Cloud and Web) Hackers ? Then here is the place to come.
Teach and learn. The group is managed by volunteers, expert in many fields. And we are always happy to accept new volunteers interested to be part of the organizational team.
Disclaimer: GDG Limbe is an independent group; our activities and the opinions expressed here should in no way be linked to Google, the corporation.


Our Youth Group members recieve college and career prep, learn about thier culture, and volunteer in Charlotte
Join UsEstablished in 2014 as a sub committee of the Ethiopian Community of Charlotte.
We want to create a community where students can surround themselves with positive influences
Civic engagement, service, mentorship, leadership
Students learn about their culture including the language, food, and music
Seeking opportunities to engage with the greater Charlotte community. Learning the value of giving back.
Students get exposure to guest speakers who are either professionals or current college students. We also offer help with the college search and application process along with career exploration.
There are several oppurtunities to take leadership roles in the Youth Group. Students can learn about different styles of leadersihp along with building self-awareness and confidence. Our mission is to train the next group of youth and community leaders.
Meeting other high-achieving Ethiopian and Eritrean youth. Our students foster life-long friendships with their peers.
We offer students mentoship oppurtunities with a wide variety of professionals in the area. We also seek to build a bridge between parents and students.
Every year we go out and volunteer in our community with different organizations around Charlotte. At these events our members contribute to the success of the organization and learn valuable life skills.
January 18, 2019
Year long partnership with Levine’s Children's Hospital. Camp experience for pediatric patients diagnosed with terminal Cardiopulmonary diseases or failure.
May 4th, 2019
Members played a critical role in helping Tesfa Ethiopia's festival. They helped with various roles during the event and provided entertainment in the form of dancing, acting, and a fashion show.
January 18, 2019
Volunteers helped with packaging clothes for homeless women.
January 18, 2019
Volunteers helped make valentines day cards at the hospital.
We meet on the campus of UNCC every other Saturday. Call us at 704-222-222 or fill out the form below to attend our next orientation


Bases: openstack_dashboard.api.base.APIResourceWrapper
Bases: object
Bases: object
Bases: openstack_dashboard.api.cinder.BaseCinderAPIResourceWrapper
Bases: openstack_dashboard.api.cinder.BaseCinderAPIResourceWrapper
Bases: openstack_dashboard.api.base.APIResourceWrapper
Bases: openstack_dashboard.api.cinder.BaseCinderAPIResourceWrapper
Bases: openstack_dashboard.api.base.APIResourceWrapper
Bases: openstack_dashboard.api.cinder.BaseCinderAPIResourceWrapper
This method will determine if Cinder supports a given extension name.
To see all volumes transfers as an admin pass in a special search option: {‘all_tenants’: 1}
This method will determine if cinder supports backup.
To see all volumes in the cloud as an admin you can pass in a special search option: {‘all_tenants’: 1}


MIN < x <
MAX
0.75
The triangle inequality theorem states that any side of a triangle is always shorter than the sum of the other two sides.
Therefore the the third side must be less than KNOWN[ 0 ] + KNOWN[ 1 ] = MAX
By the same theorem, the third side must be also larger than the difference between the other two sides.
Therefore the third side must be larger than KNOWN[0] < KNOWN[1] ? KNOWN[1] : KNOWN[0] - KNOWN[0] < KNOWN[1] ? KNOWN[0] : KNOWN[1] = MIN
So MIN < x < MAX
Triangle inequality theorem states that a side must be smaller than the sum of the other two sides.
Let's check for all three sides:
MAIN[ 1 ][ i ] + MAIN[ 1 ][ ( i + 1 ) % 3 ] = ( parseFloat( MAIN[ 1 ][ i ] ) + parseFloat( MAIN[ 1 ][ ( i + 1 ) % 3 ] ) ).toFixed( 1 )
MAIN[ 1 ][ ( i + 2 ) % 3 ]
is not smaller than ( parseFloat( MAIN[ 1 ][ i ] ) + parseFloat( MAIN[ 1 ][ ( i + 1 ) % 3 ] ) ).toFixed( 1 )
so the theorem does not holdholds.
All three sides conform to the inequality theorem, so this triangle can exist.
Not all three sides conform to the inequality theorem, so this triangle cannot exist.


Select All
Unselect All
Clear List
Clear Downloaded
Download Selected
Copy-save failed images
Stop Downloads
Capture all Images in Window
Active Scanning
(?)
Scrub DL History
(?)
{{image.name}}


FreeCell is a solitaire-based card game played with a 52-card standard deck.
It is fundamentally different from most solitaire games in that nearly all
deals can be solved.
Construction and layout:
- One standard 52-card deck is used.
- There are four open cells and four open foundations. Some alternate
rules use between one to ten cells.
- Cards are dealt into eight cascades, four of which comprise seven cards
and four of which comprise six. Some alternate rules will use between four to ten cascades.
Building during play:
- The top card of each cascade begins a tableau.
- Tableaux must be built down by alternating colors.
- Foundations are built up by suit.
Moves:
- Any cell card or top card of any cascade may be moved to build on a
tableau, or moved to an empty cell, an empty cascade, or its foundation.
- Complete or partial tableaus may be moved to build on existing tableaus,
or moved to empty cascades, by recursively placing and removing cards
through intermediate locations. While computer implementations often show
this motion, players using physical decks typically move the tableau at
once.
Victory:
- The game is won after all cards are moved to their foundation piles.
Rules from Wikipedia.


@Singleton @Provides fun provideMarvelService(retrofit: Retrofit): MarvelService!
Create a provider method binding for MarvelService.
Return Instance of marvel service.
See Also
Provides


While most governments report net emissions from land use based on their national communications to the UNFCCC [ 16], only 19 countries have delineated managed and unmanaged land areas for their territory based on a review of the latest communications submitted by governments through 2015 and Common Reporting Format (CRF) tables submitted in 2018 (note: CRF tables are only submitted by Annex I parties to the convention) (Fig. 1). There are several reasons that may explain this situation. Approximately 85 out of the 195 member governments are developing economies and still use the Revised 1996 IPCC guidelines for reporting their emissions [ 17], which is in accordance with UNFCCC reporting requirements for developing countries. The revised 1996 IPCC guidelines pre-date the development of the managed land concept as a proxy to anthropogenic emissions and removals that was introduced in the 2003 IPCC Good Practice Guidance for Land Use, Land-Use Change and Forestry (LULUCF) [ 18], and incorporated into the 2006 IPCC Guidelines [ 9]. The latter documents require full representation of land use in the country, with all land being subdivided into one of the following land-use categories: forest land, cropland, grassland, wetlands, settlements and other land. In addition, forest land, wetlands and grassland must be divided into managed and unmanaged sub-categories, and although there are no GHG reporting requirements for unmanaged lands, countries are encouraged to report their areas. As more developing countries adopt the 2006 IPCC guidelines or even start using the 2003 LULUCF guidance, a complete representation of land use will need to be developed, and countries will have to determine which portions of their territory meet their definition of managed land.
Proportion of governments that use approach I, II or III methods for land representation, or have not included this information in their national communications (IPCC 2003, 2006) ( a). The subset of governments reporting their approach for land representation that have delineated managed and unmanaged areas in their territories compared to the governments that consider all land as managed ( b). Data extracted from the latest national communication to the UNFCCC as of 2015 and common reporting format tables submitted in 2018 ( http://www.unfccc.int)
Another 97 countries have adopted the later guidance from the IPCC [ 9, 18] that include a complete representation of land use, but have not provided information about their managed land base. It is not possible to determine the specific reasons for these decisions. Governments are not required to mention this concept in their national communication to the UNFCCC unless they have delineated a portion of the country as unmanaged, although application of the managed land proxy should be discussed based on IPCC Guidance [ 9, 18]. Regardless, all governments using the later guidance from the IPCC are implicitly using the managed land proxy, and many of these governments may consider their entire territory as managed land.


We focus on imaging capabilities and research applications at both SNS and HFIR. On the left, and below are links to published work at both facilities:
You can also search through the PUSH (Publications of SNS and HFIR) database. (https://snsapp1.sns.ornl.gov/xprod/f?p=134:37 )
This site is designed to help you with the preparation of your experiment and subsequent data processing and analysis. If you are not familiar with neutron imaging and may be interested in collaborating with us, visit the publications page to review the science we do.
For industrial applications, please contact Hassina Bilheux
We recommend that you discuss your experiment with the instrument team as soon as you receive approval of your beam time.
We would like to thank the contribution from the research community in the implementation of this web site, and always welcome your comments to improve it (contact Jean Bilheux).
Web site logo: Ryzewski K., Herringer S., Bilheux H.Z., Walker L., Sheldon B., Voisin S., Bilheux J., Finocchiaro V., Neutron imaging of archaeological bronzes at the Oak Ridge National Laboratory Physics Procedia, 43, 343-351 (2013).


treatment care integrated HIV intervention group studies OAT use control people participants []. substance HCV effect included patients models study DOT SUD opioid compared health significant infectious randomized versus review systematic adherence completion therapy {border-style Health hepatitis SVR px;} receives suppression #ffffff;} < characteristics drug mental outcomes severe .), diseases evaluated group, high interventions psychosocial results clinic cohort different disorder received response treatment. used viral RCT World differences psychological search virus controlled relevant standard treatment, ART Hepatitis agonist analysis improve infected medical primary psychiatric rate risk services However, Integrated achieved effects groups loss-to-follow-up model respectively. social tuberculosis Participants article directly drugs including outpatient recruited showed studies, virological Basic HIV, Organization; RNA Substance [], antiretroviral cell chronic clinic. collaborative completion. defined did given group. groups. increase multidisciplinary observed outcome significantly strategy uncertain age assessed definition dependence disorders file group: hospitalized low months px; transmitted week {font-family (%) OAT. RCT. antiviral baseline clinical delivered evaluate follow font-size groups, identified immunodeficiency limited medication references reviews suppression, team terms trial years .). CG: CI, Cohort HBV, In. PWID RCTs SUD. Treatment University baseline, care, coordinated data disorder, double; efficacy evidence global inclusion inject main marginalized methadone models. post-hoc quality quantitative receive receiving reduce reported results. review, review. users (Additional (PDF (n = ) Additionally, CONSORT DAAs Drug HBV Human July LINKAdditional Reporting SUD, Systematic TB: active analysis, approaches assessment border-color border-width criteria design, disease excluded. expect identify impact individuals injection isoniazid kb) lack level literature measure medications methodological new program proportion recruited, regular report self-reported solid; treatments trials virus, weekly {font-style {font-weight > (HIV (OATTB: (the AIDS Addiction Baseline Cochrane Embase Haukeland IG: Interventions J.M. Methadone Mycobacterium Randomized Research Standard TB. [–]. additional alcohol antivirals assessing basic better bold care. conducted count courier; description doses em; equal equal, followed fulfilled guidelines high-quality included. individual infection injecting intercourse lifetime meetings meta-analysis modified observatory participants, population provided pt;} p < .). p = .). reach referred sample score search, selection shown similar small strategies studies. study, study. therapy, those, unclear undergoing underpowered


TCP genes class TCP, AtTCP expression tcp- Arabidopsis tcp Plant leaf AtTCP, factors mutant gene plants (Figure leaves used analysis proteins AtTCP-SRDX wild cell development function mutants ProAt similar tcp-, type {border-style log transcription using KNOX TCP-SRDX pentuple px;} #ffffff;} control genes. phenotype (Figures Cell plant primers analyzed data growth regulate role coding indicate interact multiple transgenic form thaliana Table blade promoter sequences ./tpc.. Class cell-cycle involved rosette sequence (Kieffer Col domain family lines number Koyama SRDX TCP:GUS bind cloned copy determined indicates length members regulates vector (Li ./j.-X...x AtTCP. Figure GUS binding compared interaction interacts lateral negative px; repressor study {font-family (Koyama (for Analysis Cubas PCF RT-PCR Sci. Supplementary Uberti-Manassero able circadian constructs factor factors, font-size genetic pGADT-TCP pattern region regulating regulation shape tcp-Lp tcp-Rp yeast (Atg), Aguilar-Martínez Biol. CIN-like LBSAIL Mol. NS_SRp Supplemental T-DNA TCP:GUS; Viola allele altered analyze assay b). biosynthesis bolting case determine developmental double; flowers forms generate generated marker phenotypes plants. protein quadruple redundancy reported rice shoot signal stage tcp-. (Pruneda-Paz ASYMMETRIC BRANCHED CYCA; Click DNA José LEAVES LINK Ori Plants SAM STM Science Sinha TCP-OEX, TCP-SRDX. act activity additional article axillary bold border-color border-width combinations development. differences dominant expressed file. flowering fusions genes, growing insertions. known organ pCR/GW/TOPO phylogenetic potential promoters qPCR repression shorter single solid; tcp, tomato young {font-style {font-weight (A) (B) (C) (Kosugi (Palatnik (Uberti-Manassero A). Acad. CUC EMSA Gene KNAT LANCEOLATE List Manassero NS_SLp Neelima New Ohashi, PCR TCP. TCPs account acid amplified apical biological changes clock component core courier; days-old defects division em; entry epidermis factors. fused gene. grown high higher increased indicated initiation insertion insertions key localization loss mainly method nuclear obtained organs petiole proliferation. pt;} relationships results severe showed shows time transformation tree triple type.


I've just modified the emonTX sketch for autodetecting CT's and it works well with the CT's i'm using (SCT-013-030).
The CT's need to be plugged in but not connected to any live wire (so in theorie it should read a port value of 512 = Vref/2 )
In the setup part it reads the CT's ports (3, 0 and 1) and checks if the measured value is above 509. It tries this for about 30 seconds per port because after applying power for the first time to the emonTX the port value is building up and not available at first read. It could take a while before the analog ports are in 'rest' .
If a CT is found its sets the corresponding CTx value to 1 and sends out the value instead of 0 (it will sent out 0 if a CT is not connected) in the RF string.
Next thing I want to do is some sort of auto-calibration because i've noticed that each sct-013-030 has different offset when measuring the same source !
Re: emonTX autodetecting and autocalibration of CT's
Not so in practice. The divider chain resistors supplied in the emonTx kit are +/- 10% tolerance, so you could have a quiescent value that lies between 460 and 563, or if you used 1% tolerance resistors between 507 and 517.
Re: emonTX autodetecting and autocalibration of CT's
Yes i know, with the standard 10% resistors it will give a wide range of possible 'error' , thats why i'm considering changing the chain resistors to 1% and set the trigger value on 507 instead of 509.
For now it seems to work with 3 different emonTX's with the 509 value and 10% R but to get it more reliable i'll be using 1% R.
Is there another way of detecting an attached CT ?
Re: emonTX autodetecting and autocalibration of CT's
Why do you want to do this? Connecting the CTs should be a one-time exercise, done when you install the monitor. Unplugging a CT might be OK when it has an internal burden, but when it has not, unless you first remove it from the current-carrying conductor, you will have high voltages that might damage the winding and might hurt. (A CT of the size you have probably will not transfer enough energy to be fatal, but I would not want my fingers anywhere near. It is standard practice to short-circuit a CT if it has to be, or if there is a possibility that it might be, disconnected from the burden).
Are you confusing gain and offset? The offset is removed in software by the high pass filter in EmonLib, it will automatically self-adjust even if the offset drifts over time. The calibration constants in the software adjust the system gain, and you cannot measure that without a known primary current flowing. So the only way that you could auto-calibrate would be to connect a known load and then enter a calibration routine (a push-button labelled "Calibrate"?).
Re: emonTX autodetecting and autocalibration of CT's
Well for the option of autodetection of ct's:
My primary use for the emon system would be at first for measuring the AC output of PV systems. I'm building a 15.000Wp PV system spread over different places and some systems are equiped with just one 500W inverter at this time but could be expanded with more inverters and by having an autodetection option i just have to plugin another CT, and i'm ready to go without software modification. For the CT's not connected the emontx just sents out value 0 instead of the random analog port value. When it detects a CT on startup it uses the real value instead of 0. So finaly i would have 10 emonTX with 30 CT's connected for the AC side of the system. I'm also thinking of setting up emontx for measuring the DC side of my systems.
I've modified the emonbase sketch so that it auto picks up another or new emonTX and start pushing out values power1,power2,power3, Vcc to the same pachube/emoncms feed used by the other emontx's by preceding the values with the nodeID.
For autocalibration:
I've noticed there is some spread in accuracy between similiar type of CT's. The correction factor in the sketch is just right for that particular CT but not for others although they are the same type. I already figured i need some sort of known current to calibrate the CT's by modifying the constant value in the sketch and write a new autocalibrated factor to EEPROM and use that for the CT connected.
Another thing i'm working on is how to differentiate between my emontx and a 'strange' one. Say for example my neighbour is also going to use an emontx/emonbase for his PV system and i dont want to pickup his emontx values but just mine..
Re: emonTX autodetecting and autocalibration of CT's
Ah, now I understand, thanks. (I was a bit concerned that you might have been on a wild goose chase).
How much difference are you seeing? It is probably manufacturing tolerances, and it might be worth checking on the burden resistor if you are using the 30 A with a built-in burden, and if necessary replacing that with a 1% type. When I tested some 100 A CTs (current output, no internal burden), I had 1 from an early batch and 2 from a later batch. The second pair were almost indistinguishable electrically, but the first one had been underwound by nearly 8%. I would have thought that someone could wind 2000 turns to within a few, but 150 out is a bit much. I don't think that could have been due to manufacturing tolerance and would not have been surprised if I had been told it was done deliberately to save on copper.
Whatever the cause turns out to be, my inclination given your setup would be to trim the burden resistor (by adding high values in parallel) to make every CT develop the same voltage at a known current (say at around 80% of maximum to stay well out of saturation). Then you have one standard calibration for all.
I think the "network group" does that for you. Just make sure your neighbour uses a different group (or different RF frequency).
Re: emonTX autodetecting and autocalibration of CT's
I'm using either the SCT-013-000, the SCT-013-030 or the TA17L-04 as CT's at this time.
Because only the SCT-013-030 has the burden R built in, so for the other two i took the burden out of the emontx and moved them into the CT's jackplug: i'll never get 'hit' by a loose CT on active current because of the always built-in burden and i can use the same emontx for all kinds of different CT's without soldering. Also for detecting any attached CT's i had to remove the burden from the emontx otherwise it would always have a port value of around 512 even without CT attached. I'm now working on using 1% or even 0.1% R for the burden and divider chain R's and have to do some more testing to get a clear picture of the real differences of the CT's.
About the network group: i've thought about that but its just a matter of time until all of my neighbours have an emontbase/emontx floating around with their networkgroups and nodeID's (just in theorie ;-)) so it will ruin my setup eventually. I'll need to make something better with some sort of handshake at first contact between emonTX and emonBase and use that for all further communication.
I' m thinking of a having all 'out of the box virgin' emontx's working on nodeID 1 and listening to an emonbase in the same network who will provide them their final nodeID, anything other then 1 and not in use already (by pressing pairing buttons or something) the final nodeID gets stored into the emontx EEPROM and used from that point on. Still this would not prevent any neighbour ruining my system so i will use some sort of key too which the emontx will use in the RF string when sending data.. Only known nodeID's with known keys will be accepted by the emonbase. I did some testing with the aProtocol and XRF modules but not with RFM sofar so and dont know (yet) if there are any other means of 'pairing' emontx and emonbase.
Re: emonTX autodetecting and autocalibration of CT's
In my quest for an emonTX with autodetecting and autocalibrating CT's i took a different route.
Sure the autodetecting did work but i was not happy with it.
The autocalibrating was probably not feasable at all so i let that idea go.
I've now decided to have the emonTX be configurable from the serial port (FTDI) for the existence of CT's and their corresponding calibation factors. Much easier to setup, one sketch will fit all versions of CT's because you can set them later on and also the nodeID and group id are configurable. The config items are saved in EEPROM.
If someone is interested i can sent/upload the sketch somewhere.
Re: emonTX autodetecting and autocalibration of CT's
Hi Prensel,
That sounds very interesting. It would be great if you could post up your code up on the forum.
'pairing' an emonTx to a certian emonBase is not something we've touched on yet but am away it will be needed in the future.
We are currently in the design phase for an emonTx SMT, I'm considering including a push button which could be configured for pairing.


EBD - Easton Bible DIctionary
Hen
HEN
"HEN "common in later times among the Jews in Palestine (
Matthew 23:37
;
Luke 13:34
). It is noticeable that this familiar bird is only mentioned in these passages in connection with our Lord’s lamentation over the impenitence of Jerusalem.
"HEN "common in later times among the Jews in Palestine (Matthew 23:37; Luke 13:34). It is noticeable that this familiar bird is only mentioned in these passages in connection with our Lord’s lamentation over the impenitence of Jerusalem.


Local weather app
City, state
Current temperature
F
C
Current time
Weather info and icon
cloud cover, humidity
% chance of x


I am a logical and hardworking statistician with great passion for data and information.I posses strong interpersonal skills with great dedication to learn new things.
Kenyatta University
2015-2019
Degree:Bsc
Major:Statistics
Koru Girls Secondary School
2011-2014
High-School
Jumia Kenya
Position:Product Developer and Photographer
Year:2017Nov-2018Feb
Duties and Responsibilities
Below are some of the projects that i have done.
In this project i designed my first website,i used html and css to structure and style the page
The cookie recipe project was forked from another persons github account and then i edited it by changing the spacing and identation.
You can reach me through:


I am Michael Campbell and I am a U.S. Navy veteran attending Codefellows. From 2003-2011 I served in Virginia, Italy and Bahrain. I was born in Indiana and I moved away when I was 19. I currently live outside Seattle Washington. I enjoy hiking, permaculture and creating.


3 reasons why Altium is a buy at this share price
by Tristan HarrisonAltium Limited (ASX: ALU) is one of the best businesses on the ASX in my opinion.
But, one of the main things that people say about Altium is that it is too expensive. It’s true, it certainly isn’t cheap at 58x FY19’s earnings.
However, I think it could still be a buy for these three reasons:
Free cash flow
In FY19 the company generated US$63.9 million of free cash flow compared to net profit after tax (NPAT) of US$52.9 million. In FY18 it generated free cashflow of US$44.9 million compared to NPAT of US$37.5 million.
If you value Altium against its free cash flow it doesn’t look quite as expensive, particularly when you value other growth shares against their free cashflow rather than their reported earnings.
I think this metric always shows how wonderfully profitable Altium is. It’s also building a large cash pile. During FY19 it added almost US$30 million to its cash balance to end at US$80.5 million.
Strong growth
If one business grows profit by 3% a year and the other grows by 25% a year it’s obvious you’d pay more for the faster growing business.
Altium grew its NPAT by 41% during FY19, it grew 33% in FY18 and it grew 22% in FY17. Not only is Altium growing quickly but it’s accelerating.
I’m certainly not expecting growth of 33% or more every year for the next decade, but the company expects to grow revenue to US$500 million by 2025 thanks to the rapid growth of the Internet of Things, so there could be a lot more profit growth to come.
Worth paying for quality
Australian interest rates have been pushed down by the RBA to a record low of 0.75%. All assets are priced higher when interest rates are low, particularly really good ones.
In this environment I think Altium is worth its high price, although it would have been better to buy shares earlier in the month when the share price was under $32.
Foolish takeaway
Altium is trading at 40x FY21’s estimated earnings. I think this is just about the most I’d want to pay for Altium shares, but I think it can go on to quite handily beat the market over the next few years.


"I had my doubts about Lidia. If she was resurrected, how did she become Lord of the Forest of the Dead? Why not Alfred?
I think she conspired with Nidrah! I'll investigate this further."
Hmm...


Vat is developed by the Database Research Group of the University of Marburg. Head of the group is Prof. Dr. Bernhard Seeger. You can contact us at<EMAIL_ADDRESS>or visit dbs.mathematik.uni-marburg.de for further information.
The Vat system allows users to explore biodiversity data by selecting one of several data sources and processing them with our built-in operators.
Guest users can already try the system. The main features for registered users are:
There are two options for obtaining a Vat account:
To log in click the button in the top-right, and select the type of account
The user interface consists of the following main parts:
The Vat system supports two very different types of data: raster and vector data. Rasters consist of many pixels, and each pixel contains a value for the particular location, e.g. the mean temperature. Vector data are collections of features with attributes, e.g. a set of occurrences of pumas and the time of the observation
Under Add Data you can select one of several environmental layers (rasters), occurrence data from GBIF, data from GFBio archives in ABCD format and your own custom data
Each data set is added to the map as a layer which you can further process with operators.
Operators allow you to process the layers that were previously added to the map. Our current operators are:
The Vat system's goal is to support interactive data exploration by tracking the data processing automatically in the background. You can view the complete processing workflow for individual layers by selecting Lineage in the layer context menu and the lineage for all layers by clicking on the context menu of the layer list in the top left.
The result of computations can be exported by clicking the Export button in a layer's context menu. After selecting the output format, a ZIP file is generated that bundles the actual data with all citations and the workflow itself
When logged in as a GFBio user, the Add Data function offers a GFBio baskets option. There, you have access to all previous searches you performed on gfbio.org while being logged in. You have the option to go the data sets landing page or add a new layer containing the data.


Fathers Day Website
11 reasons why your the best dad in the world
- you always care for us
- you always spend time with us if we want to
- you love us
- I love fishing with you even if we dont catch any fish
- I love spending time with you
- I love programing with you
- I love learing from you
- you always chear me up when im down
- you always support me
- your cooking is AMAZING
- your funny


Apache HTTP Server 版本2.2
| 说明 | 根据上下文实际情况对输出过滤器进行动态配置 |
|---|---|
| 状态 | 基本(B) |
| 模块名 | filter_module |
| 源文件 | mod_filter.c |
| 兼容性 | Version 2.1 及以后的版本中可用 |
This module enables smart, context-sensitive configuration of output content filters. For example, apache can be configured to process different content-types through different filters, even when the content-type is not known in advance (e.g. in a proxy).
mod_filter
works by introducing indirection into
the filter chain. Instead of inserting filters in the chain, we insert
a filter harness which in turn dispatches conditionally
to a filter provider. Any content filter may be used as a provider
to mod_filter
; no change to existing filter modules is
required (although it may be possible to simplify them).
In the traditional filtering model, filters are inserted unconditionally
using AddOutputFilter
and family.
Each filter then needs to determine whether to run, and there is little
flexibility available for server admins to allow the chain to be
configured dynamically.
mod_filter
by contrast gives server administrators a
great deal of flexibility in configuring the filter chain. In fact,
filters can be inserted based on any Request Header, Response Header
or Environment Variable. This generalises the limited flexibility offered
by AddOutputFilterByType
, and fixes
it to work correctly with dynamic content, regardless of the
content generator. The ability to dispatch based on Environment
Variables offers the full flexibility of configuration with
mod_rewrite
to anyone who needs it.
Figure 1: The traditional filter model
In the traditional model, output filters are a simple chain from the content generator (handler) to the client. This works well provided the filter chain can be correctly configured, but presents problems when the filters need to be configured dynamically based on the outcome of the handler.
Figure 2: The mod_filter
model
mod_filter
works by introducing indirection into
the filter chain. Instead of inserting filters in the chain, we insert
a filter harness which in turn dispatches conditionally
to a filter provider. Any content filter may be used as a provider
to mod_filter
; no change to existing filter modules
is required (although it may be possible to simplify them). There can be
multiple providers for one filter, but no more than one provider will
run for any single request.
A filter chain comprises any number of instances of the filter harness, each of which may have any number of providers. A special case is that of a single provider with unconditional dispatch: this is equivalent to inserting the provider filter directly into the chain.
There are three stages to configuring a filter chain with
mod_filter
. For details of the directives, see below.
FilterDeclare
directive
declares a filter, assigning it a name and filter type. Required
only if the filter is not the default type AP_FTYPE_RESOURCE.FilterProvider
directive registers a provider with a filter. The filter may have
been declared with FilterDeclare
; if not, FilterProvider will implicitly
declare it with the default type AP_FTYPE_RESOURCE. The provider
must have been
registered with ap_register_output_filter
by some module.
The remaining arguments to FilterProvider
are a dispatch criterion and a match string.
The former may be an HTTP request or response header, an environment
variable, or the Handler used by this request. The latter is matched
to it for each request, to determine whether this provider will be
used to implement the filter for this request.FilterChain
directive builds a filter chain from smart
filters declared, offering the flexibility to insert filters at the
beginning or end of the chain, remove a filter, or clear the chain.mod_filter
in place of
AddOutputFilterByType
FilterDeclare SSI
FilterProvider SSI INCLUDES resp=Content-Type $text/html
FilterChain SSI
FilterProvider SSI INCLUDES Handler server-parsed
FilterChain SSI
FilterDeclare gzip CONTENT_SET
FilterProvider gzip inflate req=Accept-Encoding !$gzip
FilterChain gzip
FilterProvider unpack jpeg_unpack Content-Type $image/jpeg
FilterProvider unpack gif_unpack Content-Type $image/gif
FilterProvider unpack png_unpack Content-Type $image/png
FilterProvider downsample downsample_filter Content-Type $image
FilterProtocol downsample "change=yes"
FilterProvider repack jpeg_pack Content-Type $image/jpeg
FilterProvider repack gif_pack Content-Type $image/gif
FilterProvider repack png_pack Content-Type $image/png
<Location /image-filter>
FilterChain unpack downsample repack
</Location>
Historically, each filter is responsible for ensuring that whatever changes it makes are correctly represented in the HTTP response headers, and that it does not run when it would make an illegal change. This imposes a burden on filter authors to re-implement some common functionality in every filter:
Cache-Control: no-transform
header from the
backend.mod_filter
aims to offer generic handling of these
details of filter implementation, reducing the complexity required of
content filter modules. This is work-in-progress; the
FilterProtocol
implements
some of this functionality for back-compatibility with Apache 2.0
modules. For httpd 2.1 and later, the
ap_register_output_filter_protocol
和ap_filter_protocol
API enables filter modules to
declare their own behaviour.
At the same time, mod_filter
should not interfere
with a filter that wants to handle all aspects of the protocol. By
default (i.e. in the absence of any FilterProtocol
directives), mod_filter
will leave the headers untouched.
At the time of writing, this feature is largely untested, as modules in common use are designed to work with 2.0. Modules using it should test it carefully.
| 说明 | Configure the filter chain |
|---|---|
| 语法 | FilterChain [+=-@!]filter-name ... |
| 作用域 | server config, virtual host, directory, .htaccess |
| 覆盖项 | Options |
| 状态 | 基本(B) |
| 模块 | mod_filter |
This configures an actual filter chain, from declared filters.
FilterChain
takes any number of arguments,
each optionally preceded with a single-character control that
determines what to do:
+filter-name
@filter-name
-filter-name
=filter-name
!
filter-name
+filter-name
| 说明 | Declare a smart filter |
|---|---|
| 语法 | FilterDeclare filter-name [type] |
| 作用域 | server config, virtual host, directory, .htaccess |
| 覆盖项 | Options |
| 状态 | 基本(B) |
| 模块 | mod_filter |
This directive declares an output filter together with a
header or environment variable that will determine runtime
configuration. The first argument is a filter-name
for use in FilterProvider
, FilterChain
和FilterProtocol
directives.
The final (optional) argument
is the type of filter, and takes values of ap_filter_type
- namely RESOURCE
(the default), CONTENT_SET
, PROTOCOL
, TRANSCODE
, CONNECTION
或NETWORK
.
| 说明 | Deal with correct HTTP protocol handling |
|---|---|
| 语法 | FilterProtocol filter-name [provider-name]
proto-flags |
| 作用域 | server config, virtual host, directory, .htaccess |
| 覆盖项 | Options |
| 状态 | 基本(B) |
| 模块 | mod_filter |
This directs mod_filter
to deal with ensuring the
filter doesn't run when it shouldn't, and that the HTTP response
headers are correctly set taking into account the effects of the
filter.
There are two forms of this directive. With three arguments, it applies specifically to a filter-name and a provider-name for that filter. With two arguments it applies to a filter-name whenever the filter runs any provider.
proto-flags is one or more of
change=yes
change=1:1
byteranges=no
proxy=no
proxy=transform
Cache-Control: no-transform
header.cache=no
| 说明 | Register a content filter |
|---|---|
| 语法 | FilterProvider filter-name provider-name
[req|resp|env]=dispatch match |
| 作用域 | server config, virtual host, directory, .htaccess |
| 覆盖项 | Options |
| 状态 | 基本(B) |
| 模块 | mod_filter |
This directive registers a provider for the smart filter. The provider will be called if and only if the match declared here matches the value of the header or environment variable declared as dispatch.
provider-name must have been registered by loading
a module that registers the name with
ap_register_output_filter
.
dispatch argument is a string with optional
req=
, resp=
或env=
prefix
causing it to dispatch on (respectively) the request header, response
header, or environment variable named. In the absence of a
prefix, it defaults to a response header. A special case is the
word handler
, which causes mod_filter
to dispatch on the content handler.
match argument specifies a match that will be applied to the filter's dispatch criterion. The match may be a string match (exact match or substring), a regex, an integer (greater, lessthan or equals), or unconditional. The first characters of the match argument determines this:
First, if the first character is an exclamation mark
(!
), this reverses the rule, so the provider will be used
if and only if the match fails.
Second, it interprets the first character excluding
any leading !
as follows:
| Character | Description |
|---|---|
| (none) | exact match |
$ | substring match |
/ | regex match (delimited by a second / ) |
= | integer equality |
< | integer less-than |
<= | integer less-than or equal |
> | integer greater-than |
>= | integer greater-than or equal |
* | Unconditional match |
| 说明 | Get debug/diagnostic information from
mod_filter |
|---|---|
| 语法 | FilterTrace filter-name level |
| 作用域 | server config, virtual host, directory |
| 状态 | 基本(B) |
| 模块 | mod_filter |
This directive generates debug information from
mod_filter
.
It is designed to help test and debug providers (filter modules), although
it may also help with mod_filter
itself.
The debug output depends on the level set:
0
(default)1
mod_filter
will record buckets and brigades
passing through the filter to the error log, before the provider has
processed them. This is similar to the information generated by
mod_diagnostics.
2
(not yet implemented)