title: Prague astronomical clock

text: On 9 October 2010, the Orloj's 600th anniversary was celebrated with a light show on the face of the clock tower. Two projectors were used to project several animated videos on the clock. The videos showed it being built, torn down, rebuilt, and peeled away to show its internal mechanisms and the famous animated figures, as well as various events in the clock's history. The video interacted with the tower's architecture, such as rain rolling off the arch, and showing the passage of time with moving shadows.


title: Prague astronomical clock

text: On its 605th anniversary, 9 October 2015, the Orloj appeared on the Google home page as a Google Doodle.


title: Prague astronomical clock

text: The Orloj was taken down for reconstruction and replaced by a LED screen in early 2018, with the restoration works scheduled to last for the whole summer tourist season of 2018 and the restored actual Orloj eventually being back in service soon enough to commemorate the 100th anniversary of Czechoslovakia at the end of October 2018. With the reconstruction and restoration work completed, it resumed operations at 6 p.m. local time on 28 September 2018.


title: Prague astronomical clock

text: The artwork on the Orloj became the center of controversy after a local heritage group noticed the reproduction had "radically changed the appearance, ages, skin tone, dress and even genders of the figures" illustrated by Mánes in 1866. A member of the Club for Old Prague, Milan Patka, registered a complaint with the Ministry of Culture, alleging that in the restoration, painter Stanislav Jirčík had deviated from the "spirit and detail" of the original. The National Heritage Inspectorate began investigations into the allegations.


title: Prague astronomical clock

text: "The Guardian" reported that the artist may have put the likenesses of his friends and acquaintances into the work, "possibly as a joke." Upon this discovery, the Prague city council's deputy mayor for transport and heritage criticized the botched restoration as “banal and done by an amateur” and suggested the city might need to commission a replacement. It is not yet known how the restoration's discrepancy with the original had escaped detection when the work was installed in 2018.


title: Prague astronomical clock

text: The astronomical dial is a form of mechanical astrolabe, a device used in medieval astronomy. Alternatively, one may consider the Orloj to be a primitive planetarium, displaying the current orientation of the universe relative to the Earth.


title: Prague astronomical clock

text: The astronomical dial has a background that represents the standing Earth and sky, and surrounding it operate four main moving components: the zodiacal ring, an outer rotating ring, an icon representing the Sun, and an icon representing the Moon.


title: Prague astronomical clock

text: The background represents the Earth and the local view of the sky. The blue circle directly in the centre represents the Earth, and the upper blue is the portion of the sky which is above the horizon. The red and black areas indicate portions of the sky below the horizon. During the daytime, the Sun sits over the blue part of the background and at night it sits over the black. During dawn or dusk, the mechanical sun is positioned over the red part of the background.


title: Prague astronomical clock

text: Written on the eastern (left) part of the horizon is "aurora" (dawn in Latin) and "ortus" (rising). On the western (right) part is "occasus" (sunset), and "crepusculum" (twilight).


title: Prague astronomical clock

text: Golden Roman numerals at the outer edge of blue circle are the timescale of a normal 24-hour day and indicate time in local Prague time, or Central European Time. Curved golden lines dividing the blue part of dial into 12 parts are marks for unequal "hours". These hours are defined as 1/12 of the time between sunrise and sunset, and vary as the days grow longer or shorter during the year.


title: Prague astronomical clock

text: Inside the large black outer circle lies another movable circle marked with the signs of the zodiac which indicates the location of the Sun on the ecliptic. The signs are shown in anticlockwise order. In the photograph accompanying this section, the Sun is currently moving anticlockwise from Cancer into Leo.


title: Prague astronomical clock

text: The displacement of the zodiac circle results from the use of a stereographic projection of the ecliptic plane using the North pole as the basis of the projection. This is commonly seen in astronomical clocks of the period.


title: Prague astronomical clock

text: The small golden star shows the position of the vernal equinox, and sidereal time can be read on the scale with golden Roman numerals. The zodiac is on the 365-tooth gear inside the machine. This gear is connected to the Sun gear and the Moon gear by a 24-tooth gear.


title: Prague astronomical clock

text: At the outer edge of the clock, golden Schwabacher numerals are set on a black background. These numbers indicate Old Czech Time (or Italian hours), with 24 indicating the time of sunset, which varies during the year from as early as 16:00 in winter to 20:16 in summer. This ring moves back and forth during the year to coincide with the time of sunset. The outermost diameter of the ring is approximately 300cm (9.8ft).


title: Prague astronomical clock

text: The golden Sun moves around the zodiacal circle, thus showing its position on the ecliptic. The Sun is attached to an arm with a golden hand, and together they show the time in three different ways:


title: Prague astronomical clock

text: Additionally, the distance of the Sun from the center of the dial shows the time of sunrise and sunset. The Sun and its hand are on the 366-tooth gear inside the machine.


title: Prague astronomical clock

text: The movement of the Moon on the ecliptic is shown similarly to that of the Sun, although the speed is much faster, due to the Moon's orbit around the Earth. The Moon's arm is on the 379-tooth gear inside the clock machine.


title: Prague astronomical clock

text: The half-silvered, half-black sphere of the Moon also shows the Lunar phase. The Moon has a 57-tooth gear inside its sphere, and is slowly rotated by a screw-thread attached to a weight, advancing two teeth per day. This movement, powered only by gravity, makes the Orloj unique in the world among astronomical clocks showing the phases of the Moon. The mechanism was created by an unknown maker, probably in the mid-17th century. Unlike the original device, the construction of which was described in a report from 1570, this mechanism produces much smaller deviation from the actual lunar phase of about one day in five years.


title: Prague astronomical clock

text: The four figures flanking the clock are set in motion on the hour, and represent four things that were despised at the time of the clock's making. From left to right in the photographs, the first is Vanity, represented by a figure admiring himself in a mirror. Next, the miser holding a bag of gold represents greed or usury. Across the clock stands Death, a skeleton that strikes the time upon the hour. Finally, there is a Turkish figure representing lust and earthly pleasures. On the hour, the skeleton rings the bell and immediately all other figures shake their heads side to side, signifying their unreadiness "to go".


title: Prague astronomical clock

text: Every hour of the day, twelve statues of Apostles with its attributes appear at the doorways above the clock. The left and right windows above the astronomical clock slide aside to reveal the Apostles as viewed from the square in this order: James the Less and Peter, Andrew and Matthias, Thaddeus and Philip, Thomas and Paul, John and Simon, Barnabas and Bartholomew. Unlike the list of the Twelve Apostles mentioned in the canonical gospels there are James the Great and Matthew missing, replaced by Paul and Barnabas.


title: Prague astronomical clock

text: The calendar plate below the clock was replaced by a copy in 1880. The original made by Josef Mánes is stored in the Prague City Museum. On the edge of the circle is a church calendar with fixed holidays and the names of 365 saints. The board displays allegories of the months. Smaller images represent zodiac signs.


title: Prague astronomical clock

text: Next to the calendar stands a philosopher, archangel Michael pointing at the top of the dial, an astronomer and a chronicler.


title: Voting age

text: A voting age is a minimum age established by law that a person must attain before they become eligible to vote in a public election. The most common voting age is 18 years; however, voting ages as low as 16 and as high as 25 currently exist


title: Voting age

text: (see list below). Most countries have set a minimum voting age, often set in their constitution. In a number of countries voting is compulsory for those eligible to vote, while in most it is optional.


title: Voting age

text: When the right to vote was being established in democracies, the voting age was generally set at 21 or higher. In the 1970s many countries reduced the voting age to 18. The debate is ongoing in a number of countries on proposals to reduce the voting age to or below 18. In Brazil, for example, the minimum age lowered from 18 to 16 years old in the 1988 constitution.


title: Voting age

text: In 1890, Law No. 5, 1890, of the South African Republic, commonly known as Transvaal, set a voting age there of 18 years. The effort was, like later legislation expanding voting rights for women and impoverished whites, in part an attempt to skew the electorate further in favour of Afrikaner interests against uitlanders.


title: Voting age

text: Prior to the Second World War of 1939–1945, the voting age in almost all countries was 21 years or higher. In 1946 Czechoslovakia became the first state to reduce the voting age to 20 years, and by 1968 a total of 17 countries had lowered their voting age. Many countries, particularly in Western Europe, reduced their voting ages to 18 years during the 1960s and 1970s, starting with the United Kingdom (1969), with the United States (26th Amendment) (1971), Canada, West Germany (1972), Australia (1974), France (1974), Sweden (1974) and others following soon afterwards. By the end of the 20th century, 18 had become by far the most common voting age. However, a few countries maintain a voting age of 20 years or higher, and a few countries have a lower voting age of 16 or 17. It was argued that if young men could be drafted to go to war at 18, they should be able to vote at the age of 18.


title: Voting age

text: In the late 20th and early 21st centuries voting ages were lowered to 18 in Japan, India, Switzerland, Austria, the Maldives, and Morocco.


title: Voting age

text: Around 2000, a number of countries began to consider whether the voting age ought to be reduced further, with arguments most often being made in favour of a reduction to 16. In Brazil, the age was lowered to 16 in the 1988 Constitution, while the lower voting age took effect for the first time in the 1989 Presidential Election. The earliest moves in Europe came during the 1990s, when the voting age for municipal elections in some States of Germany was lowered to 16. Lower Saxony was the first state to make such a reduction, in 1995, and four other states did likewise.


title: Voting age

text: In 2007, Austria became the first country to allow 16- and 17-year-olds to vote in national elections, with the expanded franchise first being consummated in the 2009 European Parliament election. A study of young voters' behaviour on that occasion showed them to be as capable as older voters to articulate their beliefs and to make voting decisions appropriate for their preferences. Their knowledge of the political process was only insignificantly lower than in older cohorts, while trust in democracy and willingness to participate in the process were markedly higher. Additionally, there was evidence found for the first time of a voting boost among young people age 16–25 in Austria.


title: Voting age

text: During the 2000s several proposals for a reduced voting age were put forward in U.S. states, including California, Florida and Alaska, but none were successful. In Oregon, Senate Joint Resolution 22 has been introduced to reduce the voting age from 18 to 16. A national reduction was proposed in 2005 in Canada<ref name="vote16.ca/2007">Parliament of Canada, Bill C-261 (2005); Vote16, Canada </ref> and in the Australian state of New South Wales, but these proposals were not adopted. In May 2009, Danish Member of Parliament Mogens Jensen presented an initiative to the Parliamentary Assembly of the Council of Europe in Strasbourg to lower the voting age in Europe to 16.


title: Voting age

text: Demands to reduce the voting age to 16 years were again brought forward by activists of the school strike for climate movement in several countries (including Germany and the UK).


title: Voting age

text: After Premier Don Dunstan introduced the Age of Majority (Reduction) Bill in October 1970, the voting age in South Australia was lowered to 18 years old in 1973.


title: Voting age

text: On 21 October 2019, Greens MP Bandt introduced a bill in the House of Representatives to lower the voting age to 16.


title: Voting age

text: A report suggesting that consideration be given to reducing the voting age to 16 in the Australian Capital Territory in Canberra, Australia was tabled in the territorial legislature on 26 September 2007 and defeated.


title: Voting age

text: In 2007, Austria became the first member of the European Union to adopt a voting age of 16 for most purposes. The voting age had been reduced in Austria from 19 to 18 at all levels in 1992. At that time a voting age of 16 was proposed by the Green Party, but was not adopted.


title: Voting age

text: The voting age for municipal elections in some states was lowered to 16 shortly after 2000. Three states had made the reduction by 2003 (Burgenland, Carinthia and Styria), and in May 2003 Vienna became the fourth. Salzburg followed suit, and so by the start of 2005 the total had reached at least five states out of nine. As a consequence of state law, reduction of the municipal voting age in the states of Burgenland, Salzburg and Vienna resulted in the reduction of the regional voting age in those states as well.


title: Voting age

text: After the 2006 election, the winning SPÖ-ÖVP coalition announced on 12 January 2007 that one of its policies would be the reduction of the voting age to 16 for elections in all states and at all levels in Austria. The policy was set in motion by a Government announcement on 14 March, and a bill proposing an amendment to the Constitution was presented to the legislature on 2 May. On 5 June the National Council approved the proposal following a recommendation from its Constitution Committee. During the passage of the bill through the chamber relatively little opposition was raised to the reduction, with four out of five parties explicitly supporting it; indeed, there was some dispute over which party had been the first to suggest the idea. Greater controversy surrounded the other provisions of the bill concerning the "Briefwahl", or postal vote, and the extension of the legislative period for the National Council from four to five years. A further uncontroversial inclusion was a reduction in the candidacy age from 19 to 18. The Federal Council approved the Bill on 21 June, with no party voting against it. The voting age was reduced when the Bill's provisions came into force on 1 July 2007. Austria thus became the first member of the European Union, and the first of the developed world democracies, to adopt a voting age of 16 for all purposes. Lowering the voting age encouraged political interest in young people in Austria. More sixteen- and seventeen-year-olds voted than eighteen-to-twenty-one-year-olds in Austria.


title: Voting age

text: Brazil lowered the voting age from 18 to 16 in the 1988 constitution. The presidential election of 1989 was the first with the lower voting age. People between the ages 18 and 70 are required to vote. The person must be 16 full years old on the eve of the election (In years without election, the person must be 16 full years old on or before 31 December). If they turn 18 years old after the election, the vote is not compulsory. When they turn 18 years old before the election, the vote is compulsory.


title: Voting age

text: Canada lowered its federal voting age from 21 to 18 in 1970. A further reduction to 16 was proposed in 2005, but was not adopted. It was proposed again in 2011, but was not adopted.


title: Voting age

text: In August 2018, in British Columbia, a group of 20 youth partnered with Dogwood BC to launch a Vote16 campaign. Currently, they have unanimous support from the Union of BC Municipalities, as well as endorsements from the province's Green Party and New Democratic Party representatives. The campaign is now waiting for it to be brought up in the legislative assembly by the NDP and for it to pass there.


title: Voting age

text: In 2020, Canadian Senator Marilou McPhedran introduced a bill to lower the federal voting age from 18 to 16. In 2021, a group of young people filed a court challenge to lower the federal voting age from 18. Several weeks later, Taylor Bachrach introduced a private member's bill to lower the voting age to 16. The bill will be debated in May 2022.


title: Voting age

text: As part of their 2021 coalition deal, the SPD, Greens and FDP agreed to lower the voting age to 16 within the course of the 20th Bundestag.


title: Voting age

text: The first proposal to lower the voting age to 16 years was submitted in parliament in 2007. A bill to lower the voting age for municipal elections reached the final reading in 2018, but was filibustered by opponents until the close of the parliamentary session.


title: Voting age

text: Iran had been unique in awarding suffrage at 15, but raised the age to 18 in January 2007 despite the opposition of the Government. In May 2007 the Iranian Cabinet proposed a bill to reverse the increase.


title: Voting age

text: Luxembourg has compulsory voting from the age of 18. A proposal by the government to introduce optional voting for those aged 16 and 17 was rejected by 81% of voters in a June 2015 referendum.


title: Voting age

text: On 20 November 2013, Malta lowered the voting age from 18 to 16 for local elections starting from 2015. The proposal had wide support from both the government and opposition, social scientists and youth organizations.


title: Voting age

text: On Monday 29 January 2018, the Maltese Parliament debated to lower the voting age to 16 for general elections, European Parliament Elections and referendums.


title: Voting age

text: On Monday, 5 March 2018, the Maltese Parliament unanimously voted in favour of amending the constitution, lowering the official voting age from 18 to 16, making Malta the second state in the EU to lower its voting age to 16.


title: Voting age

text: The New Zealand Green Party MP Sue Bradford announced on 21 June 2007 that she intended to introduce her "Civics Education and Voting Age Bill" on the next occasion upon which a place became available for the consideration of Members' Bills. When this happened on 25 July Bradford abandoned the idea, citing an adverse public reaction. The Bill would have sought to reduce the voting age to 16 in New Zealand and make civics education part of the compulsory curriculum in schools.


title: Voting age

text: On 21 November 2022, the Supreme Court of New Zealand ruled in Make It 16 Incorporated v Attorney-General that the voting age of 18 was "inconsistent with the bill of rights to be free from discrimination on the basis of age". Prime Minister Jacinda Ardern subsequently announced that a bill to lower the voting age to 16 would be debated in parliament, requiring a supermajority to pass.


title: Voting age

text: The "Representation of the People Act 1969" lowered the voting age from 21 to 18, with effect from 1970 and remained in force until the "Scottish Independence Referendum Act 2013" which allowed 16-year-olds to vote for the first time, but only in Scotland and only in that particular referendum. The Scottish Parliament reduced the voting age to 16 for its own and Scottish local elections in 2015.


title: Voting age

text: Men in military service who turned 19 during the first world war were entitled to vote in 1918 irrespective of their age as part of the "Representation of the People Act 1918" which also allowed some women over the age of 30 to vote. The Representation of the People (Equal Franchise) Act 1928 brought the voting age for women down to 21.


title: Voting age

text: The reduction of the voting age to 16 in the United Kingdom was first given serious consideration on 15 December 1999, when the House of Commons considered in Committee an amendment proposed by Simon Hughes to the "Representation of the People Bill". This was the first time the reduction of a voting age below 18 had ever been put to a vote in the Commons. The Government opposed the amendment, and it was defeated by 434 votes to 36.


title: Voting age

text: The Votes at 16 coalition, a group of political and charitable organisations supporting a reduction of the voting age to 16, was launched on 29 January 2003. At that time a Private Member's Bill was also proposed in the House of Lords by Lord Lucas, and received a Second Reading on 9 January.


title: Voting age

text: In 2004, the UK Electoral Commission conducted a major consultation on the subject of the voting and candidacy ages, and received a significant response. In its conclusions it recommended that the voting age remain at 18. On 29 November 2005 the House of Commons voted 136-128 (on a free vote) against a Private Member's Bill for a reduction in the voting age to 16 proposed by Liberal Democrat MP Stephen Williams. Parliament chose not to include a provision reducing the voting age in the Electoral Administration Act during its passage in 2006.


title: Voting age

text: On 27 February 2006, the report of the Power Inquiry called for a reduction of the voting age, and of the candidacy age for the House of Commons, to 16. On the same day the Chancellor of the Exchequer, Gordon Brown, indicated in an article in "The Guardian" that he favoured a reduction provided it was made concurrently with effective citizenship education.


title: Voting age

text: The UK Ministry of Justice published on 3 July 2007 a Green Paper entitled "The Governance of Britain", in which it proposed the establishment of a "Youth Citizenship Commission". The Commission would examine the case for lowering the voting age. On launching the Paper in the House of Commons, PM Gordon Brown said: "Although the voting age has been 18 since 1969, it is right, as part of that debate, to examine, and hear from young people themselves, whether lowering that age would increase participation."


title: Voting age

text: During the Youth Parliament debates of 30 October 2009 in the House of Commons, Votes at 16 was debated and young people of that age group voted for it overwhelmingly as a campaign priority. In April 2015, Labour announced that it would support the policy if it won an overall majority in the 2015 general election, which it failed to do.


title: Voting age

text: There was some criticism about not reducing the voting age to 16 years for the referendum on the membership in the European Union in 2016.


title: Voting age

text: YouGov poll research from 2018 shows that whilst the public are still opposed, there is growing support for extending the franchise. As of May 2019, all the main parties, with the exception of the Conservatives, back reducing the age to 16. Some have argued the Conservatives are hypocritical not to support this, as they allow 16-year-olds to vote in their leadership elections. It is also argued that all the main parties' approach is self-serving as younger voters are thought more likely to support left leaning parties and remaining in the EU, and less likely to support right leaning parties, and leaving the EU.


title: Voting age

text: The Scottish National Party conference voted unanimously on 27 October 2007 for a policy of reducing the voting age to 16 (the age of majority in Scotland), as well as in favour of a campaign for the necessary power to be devolved to the Scottish Parliament.


title: Voting age

text: In September 2011, it was announced that the voting age was likely to be reduced from 18 to 16 for the Scottish independence referendum. This was approved by the Scottish Parliament in June 2013.


title: Voting age

text: In June 2015, the Scottish Parliament voted unanimously to reduce the voting age to 16 for elections for the Scottish Parliament and for Scottish local government elections.


title: Voting age

text: Major reforms were recommended in November 2017 in the 'A Parliament That Works For Wales' report, by the expert panel on Assembly Electoral Reform led by Professor Laura McAllister. It included increasing the size of the Assembly, adapting/ changing the electoral system and of course reducing the age of voting to 16.


title: Voting age

text: The Welsh Assembly's Commission, the corporate body, introduced on 12 February 2019 a bill to reduce the voting age to 16 and change the name to Senedd.


title: Voting age

text: The National Assembly for Wales passed the Senedd and Election (Wales) Act on 27 November 2019. A vote to remove this enfranchisement was defeated by 41 votes to 11.


title: Voting age

text: The first election to include the biggest enfranchisement in Welsh politics since 1969 was the 2021 Senedd election.


title: Voting age

text: The Welsh Government also legislated for the enfranchisement of 16 and 17-year-olds in the Local Government and Elections (Wales) Act, which received royal assent on 20 January 2021. The changes will be in place by May 2022 for local Welsh elections.


title: Voting age

text: Moves to lower the voting age to 16 were successful in each of the three British Crown dependencies from 2006 to 2008. The Isle of Man was the first to amend its law, when on 12 July 2006 it reduced the voting age to 16 for its general elections, with the House of Keys approving the move by 19 votes to 4.


title: Voting age

text: Jersey followed suit on 4 July 2007, when it approved in principle a reduction of the voting age to 16. The States of Jersey voted narrowly in favour, by 25 votes to 21, and the legislative amendments were adopted on 26 September. The law was sanctioned by Order in Council on 12 December, and was brought into force on 1 April, in time for the general elections in late 2008.


title: Voting age

text: On 31 October 2007, a proposal for a reduction made by the House Committee of the States of Guernsey, and approved by the States' Policy Committee, was adopted by the assembly by 30 votes to 15. An Order in Council sanctioning the law was made on 12 December, and it was registered at the Court of Guernsey on 19 December. It came into force immediately, and the voting age was accordingly reduced in time for the 2008 Guernsey general election.


title: Voting age

text: Sark, part of the Bailiwick of Guernsey, has autonomy in deciding the question. It has yet to favour a reduction to 16.


title: Voting age

text: In the United States, the debate about lowering voting age from 21 to 18 began during World War II and intensified during the Vietnam War, when most of those subjected to the draft were too young to vote, and the image of young men being forced to risk their lives in the military without the privileges of voting successfully pressured legislators to lower the voting age nationally and in many states. By 1968, several states had lowered the voting age below 21 years: Alaska and Hawaii's minimum age was 20, while Georgia and Kentucky's was 18. In 1970, the Supreme Court in "Oregon v. Mitchell" ruled that Congress had the right to regulate the minimum voting age in federal elections; however, it decided it could not regulate it at local and state level.


title: Voting age

text: The 26th Amendment (passed and ratified in 1971) prevents states from setting a voting age higher than 18. Except for the express limitations provided for in Amendments XIV, XV, XIX and XXVI, voter qualifications for House and Senate elections are largely delegated to the States under Article I, Section 2 and Amendment XVII of the United States Constitution, which respectively state that "The House of Representatives shall be composed of Members chosen every second Year by the People of the several States, and "the Electors in each State shall have the Qualifications requisite for Electors of the most numerous Branch of the State Legislature"." and "The Senate of the United States shall be composed of two Senators from each State, elected by the people thereof, for six years; and each Senator shall have one vote. The "electors in each State shall have the qualifications requisite for electors of the most numerous branch of the State legislatures"."


title: Voting age

text: Seventeen states permit 17-year-olds to vote in primary elections and caucuses if they will be 18 by election day: Colorado, Connecticut, Delaware, Illinois, Indiana, Kentucky, Maine, Maryland, Mississippi, Nebraska, New Mexico, North Carolina, Ohio, South Carolina, Virginia, Vermont, and West Virginia. Iowa, Minnesota, and Nevada allow 17-year-olds to participate in all presidential caucuses, but may not vote in primary elections for other offices. Alaska, Hawaii, Idaho, Kansas, Washington, and Wyoming allow 17-year-olds to participate in only Democratic caucuses, but not in the Republican caucus.


title: Voting age

text: All states allow someone not yet 18 to preregister to vote. Fifteen states — California, Colorado, Delaware, District of Columbia, Florida, Hawaii, Louisiana, Maryland, Massachusetts, New York, North Carolina, Oregon, Rhode Island, Utah, Virginia, and Washington — and Washington, D.C., allow 16-year-olds to preregister. In Maine, Nevada, New Jersey, and West Virginia, 17-year-olds can preregister. Alaska allows a teen to preregister within 90 days of their 18th birthday. Georgia, Iowa, and Missouri allow 17.5-year-olds to preregister if they turn 18 before the next election. Texas allows someone 17 year and 10 months old to preregister. The remaining states, excepting North Dakota, do not specify an age for preregistration so long as the teen will be 18 by the next election (usually the next general election). North Dakota does not require voter registration.


title: Voting age

text: Youth suffrage appears to be gaining ground in Massachusetts; three of the four Democratic United States Senate candidates in 2010 supported lowering the voting age.


title: Voting age

text: On 3 April 2019, Andrew Yang became the first major presidential candidate to advocate for the United States to lower its voting age to 16. At 16, Americans do not have hourly limits imposed on their work, and they pay taxes. According to Yang, their livelihoods are directly impacted by legislation, and they should therefore be allowed to vote for their representatives.


title: Voting age

text: In 2018, a bill in the Council of the District of Columbia was proposed to lower the voting age to 16, which would make the federal district the first jurisdiction to lower the voting age for federal level elections. In 2019, Washington D.C., Council Member Charles Allen sponsored a debate on whether or not the city should lower the voting age to 16 for all elections, including the presidential election in the city. Allen gained a magnitude of public support although the measure to lower the age of voting stalled.


title: Voting age

text: In 2013, the City of Takoma Park, Maryland, became the first place in the United States to lower its voting age to 16 for municipal elections and referendums. , Greenbelt, Hyattsville, Riverdale Park, and Mount Rainier, all in Prince George's County, Maryland, had followed suit.


title: Voting age

text: In 2016, the city of Berkeley, California passed a bill that allowed the voting age to be 16 in school board elections. San Francisco that year narrowly failed to pass a similar legislation that would lower the voting age in all city elections, with a second attempt in 2020 closing the gap even further.


title: Voting age

text: In May 2020, Oakland City Council President Rebecca Kaplan authored Oakland Measure QQ, which proposed lowering the voting age to 16, for school board elections. The Oakland City Council voted unanimously to put this measure on the ballot. On 6 November 2020, the city of Oakland, California voted to pass Oakland Measure QQ, making Oakland the largest United States city to partially enfranchise sixteen year old voters. This ballot measure passed with 67.88% of the vote. However, as of the 2022 elections, Alameda County had not implemented the measure and 16- and 17-year-olds in Berkeley and Oakland remained unable to cast ballots in school board elections.


title: Voting age

text: In November 2022, voters in Culver City, California, considered Measure VY, which would allow 16-year-olds to vote in municipal and school board elections. , with ballots still being counted, the measure was failing by three votes.


title: Voting age

text: In Massachusetts, efforts to lower the voting age for local elections to 16 have been made in Brookline, Cambridge, Concord, Harwich, Lowell, and Northampton, but ultimately failed to gain necessary approval from the state legislature. In November 2022, the Boston City Council weighed a home rule petition to lower the local voting age to 16.


title: Voting age

text: A request to lower the voting age to 16 was made during consideration of revisions to the Constitution of Venezuela in 2007. Cilia Flores, president of the National Assembly, announced that the Mixed Committee for Constitutional Reform had found the idea acceptable. Following approval in the legislature the amendment formed part of the package of constitutional proposals, and was defeated in the 2007 referendum.


title: Voting age

text: There are occasional calls for a maximum voting age, on the grounds that older people have less of a stake in the future of the country or jurisdiction. In fact, however, the only jurisdiction with a maximum voting age is the College of Cardinals. A Cardinal must be below the age of 80 on the date of the previous Pope's death or resignation, in order to vote to elect a new Pope.


title: Voting age

text: Eighteen is the most common voting age, with a small minority of countries differing from this rule. Those with a national minimum age of 17 include East Timor, Greece, Indonesia, North Korea, South Sudan and Sudan. The minimum age is 16 in Argentina, Austria, Brazil, Cuba, Ecuador, Malta, Nicaragua, Scotland and Wales, and the Isle of Man, Jersey and Guernsey (three self-governing British Crown Dependencies). The highest minimum voting age is 21 in several nations. Some countries have variable provision for the minimum voting age, whereby a lower age is set for eligibility to vote in state, regional or municipal elections.


title: Voting age

text: The only known maximum voting age is in the Holy See, where the franchise for electing a new Pope in the Papal Conclave is restricted to Cardinals under the age of 80.


title: Voting age

text: The following is a chronological list of the dates upon which countries lowered the voting age to 18; unless otherwise indicated, the reduction was from 21. In some cases the age was lowered decrementally, and so the "staging points" are also given. Some information is also included on the relevant legal instruments involved.


title: Voting age

text: This is a further list, similar to the above but of the dates upon which countries or territories lowered the voting age to 16; unless otherwise indicated, the reduction was from 18.


title: Voting age

text: The following are political parties and other campaigning organisations that have either endorsed a lower voting age or who favour its removal.


title: Voting age

text: In 2013, the Constitutional Convention was asked to consider reducing the voting age to 17 and recommended lowering it to 16. The then government agreed to hold a referendum, but in 2015 postponed it indefinitely to give priority to other referendums.


title: Bloom filter

text: A Bloom filter is a space-efficient probabilistic data structure, conceived by Burton Howard Bloom in 1970, that is used to test whether an element is a member of a set. False positive matches are possible, but false negatives are not – in other words, a query returns either "possibly in set" or "definitely not in set". Elements can be added to the set, but not removed (though this can be addressed with the counting Bloom filter variant); the more items added, the larger the probability of false positives.


title: Bloom filter

text: Bloom proposed the technique for applications where the amount of source data would require an impractically large amount of memory if "conventional" error-free hashing techniques were applied. He gave the example of a hyphenation algorithm for a dictionary of 500,000 words, out of which 90% follow simple hyphenation rules, but the remaining 10% require expensive disk accesses to retrieve specific hyphenation patterns. With sufficient core memory, an error-free hash could be used to eliminate all unnecessary disk accesses; on the other hand, with limited core memory, Bloom's technique uses a smaller hash area but still eliminates most unnecessary accesses. For example, a hash area only 15% of the size needed by an ideal error-free hash still eliminates 85% of the disk accesses.


title: Bloom filter

text: More generally, fewer than 10 bits per element are required for a 1% false positive probability, independent of the size or number of elements in the set.


title: Bloom filter

text: An "empty Bloom filter" is a bit array of bits, all set to 0. There must also be different hash functions defined, each of which maps or hashes some set element to one of the array positions, generating a uniform random distribution. Typically, is a small constant which depends on the desired false error rate , while is proportional to and the number of elements to be added.


title: Bloom filter

text: To "add" an element, feed it to each of the hash functions to get array positions. Set the bits at all these positions to 1.


title: Bloom filter

text: To "query" for an element (test whether it is in the set), feed it to each of the hash functions to get array positions. If "any" of the bits at these positions is 0, the element is definitely not in the set; if it were, then all the bits would have been set to 1 when it was inserted. If all are 1, then either the element is in the set, "or" the bits have by chance been set to 1 during the insertion of other elements, resulting in a false positive. In a simple Bloom filter, there is no way to distinguish between the two cases, but more advanced techniques can address this problem.


title: Bloom filter

text: The requirement of designing different independent hash functions can be prohibitive for large . For a good hash function with a wide output, there should be little if any correlation between different bit-fields of such a hash, so this type of hash can be used to generate multiple "different" hash functions by slicing its output into multiple bit fields. Alternatively, one can pass different initial values (such as 0, 1, ...,  − 1) to a hash function that takes an initial value; or add (or append) these values to the key. For larger and/or , independence among the hash functions can be relaxed with negligible increase in false positive rate. (Specifically, show the effectiveness of deriving the indices using enhanced double hashing


title: Bloom filter

text: and triple hashing, variants of double hashing that are effectively simple random number generators seeded with the two or three hash values.)


title: Bloom filter

text: Removing an element from this simple Bloom filter is impossible because there is no way to tell which of the bits it maps to should be cleared. Although setting any one of those bits to zero suffices to remove the element, it would also remove any other elements that happen to map onto that bit. Since the simple algorithm provides no way to determine whether any other elements have been added that affect the bits for the element to be removed, clearing any of the bits would introduce the possibility of false negatives.


title: Bloom filter

text: One-time removal of an element from a Bloom filter can be simulated by having a second Bloom filter that contains items that have been removed. However, false positives in the second filter become false negatives in the composite filter, which may be undesirable. In this approach re-adding a previously removed item is not possible, as one would have to remove it from the "removed" filter.


title: Bloom filter

text: It is often the case that all the keys are available but are expensive to enumerate (for example, requiring many disk reads). When the false positive rate gets too high, the filter can be regenerated; this should be a relatively rare event.


title: Bloom filter

text: While risking false positives, Bloom filters have a substantial space advantage over other data structures for representing sets, such as self-balancing binary search trees, tries, hash tables, or simple arrays or linked lists of the entries. Most of these require storing at least the data items themselves, which can require anywhere from a small number of bits, for small integers, to an arbitrary number of bits, such as for strings ( are an exception since they can share storage between elements with equal prefixes). However, Bloom filters do not store the data items at all, and a separate solution must be provided for the actual storage. Linked structures incur an additional linear space overhead for pointers. A Bloom filter with a 1% error and an optimal value of , in contrast, requires only about 9.6 bits per element, regardless of the size of the elements. This advantage comes partly from its compactness, inherited from arrays, and partly from its probabilistic nature. The 1% false-positive rate can be reduced by a factor of ten by adding only about 4.8 bits per element.


title: Bloom filter

text: However, if the number of potential values is small and many of them can be in the set, the Bloom filter is easily surpassed by the deterministic bit array, which requires only one bit for each potential element. Hash tables gain a space and time advantage if they begin ignoring collisions and store only whether each bucket contains an entry; in this case, they have effectively become Bloom filters with .


title: Bloom filter

text: Bloom filters also have the unusual property that the time needed either to add items or to check whether an item is in the set is a fixed constant, , completely independent of the number of items already in the set. No other constant-space set data structure has this property, but the average access time of sparse hash tables can make them faster in practice than some Bloom filters. In a hardware implementation, however, the Bloom filter shines because its lookups are independent and can be parallelized.


title: Bloom filter

text: To understand its space efficiency, it is instructive to compare the general Bloom filter with its special case when . If , then in order to keep the false positive rate sufficiently low, a small fraction of bits should be set, which means the array must be very large and contain long runs of zeros. The information content of the array relative to its size is low. The generalized Bloom filter ( greater than 1) allows many more bits to be set while still maintaining a low false positive rate; if the parameters ( and ) are chosen well, about half of the bits will be set, and these will be apparently random, minimizing redundancy and maximizing information content.


title: Bloom filter

text: Assume that a hash function selects each array position with equal probability. If "m" is the number of bits in the array, the probability that a certain bit is not set to 1 by a certain hash function during the insertion of an element is


title: Bloom filter

text: If "k" is the number of hash functions and each has no significant correlation between each other, then the probability that the bit is not set to 1 by any of the hash functions is


title: Bloom filter

text: Now test membership of an element that is not in the set. Each of the "k" array positions computed by the hash functions is 1 with a probability as above. The probability of all of them being 1, which would cause the algorithm to erroneously claim that the element is in the set, is often given as


title: Bloom filter

text: This is not strictly correct as it assumes independence for the probabilities of each bit being set. However, assuming it is a close approximation we have that the probability of false positives decreases as "m" (the number of bits in the array) increases, and increases as "n" (the number of inserted elements) increases.


title: Bloom filter

text: An alternative analysis arriving at the same approximation without the assumption of independence is given by Mitzenmacher and Upfal. After all "n" items have been added to the Bloom filter, let "q" be the fraction of the "m" bits that are set to 0. (That is, the number of bits still set to 0 is "qm".) Then, when testing membership of an element not in the set, for the array position given by any of the "k" hash functions, the probability that the bit is found set to 1 is formula_9. So the probability that all "k" hash functions find their bit set to 1 is formula_10. Further, the expected value of "q" is the probability that a given array position is left untouched by each of the "k" hash functions for each of the "n" items, which is (as above)


title: Bloom filter

text: It is possible to prove, without the independence assumption, that "q" is very strongly concentrated around its expected value. In particular, from the Azuma–Hoeffding inequality, they prove that


title: Bloom filter

text: The number of hash functions, "k", must be a positive integer. Putting this constraint aside, for a given "m" and "n", the value of "k" that minimizes the false positive probability is


title: Bloom filter

text: The required number of bits, "m", given "n" (the number of inserted elements) and a desired false positive probability "ε" (and assuming the optimal value of "k" is used) can be computed by substituting the optimal value of "k" in the probability expression above:


title: Bloom filter

text: This means that for a given false positive probability "ε", the length of a Bloom filter "m" is proportionate to the number of elements being filtered "n" and the required number of hash functions only depends on the target false positive probability "ε".


title: Bloom filter

text: The formula formula_17 is approximate for three reasons. First, and of least concern, it approximates


title: Bloom filter

text: formula_21 as formula_22, which is a good asymptotic approximation (i.e., which holds as "m" →∞). Second, of more concern, it assumes that during the membership test the event that one tested bit is set to 1 is independent of the event that any other tested bit is set to 1. Third, of most concern, it assumes that formula_23 is fortuitously integral.


title: Bloom filter

text: Goel and Gupta, however, give a rigorous upper bound that makes no approximations and requires no assumptions. They show that the false positive probability for a finite Bloom filter with "m" bits (formula_24), "n" elements, and "k" hash functions is at most


title: Bloom filter

text: This bound can be interpreted as saying that the approximate formula formula_26 can be applied at a penalty of at most half an extra element and at most one fewer bit.


title: Bloom filter

text: where formula_28 is an estimate of the number of items in the filter, m is the length (size) of the filter, k is the number of hash functions, and X is the number of bits set to one.


title: Bloom filter

text: Bloom filters are a way of compactly representing a set of items. It is common to try to compute the size of the intersection or union between two sets. Bloom filters can be used to approximate the size of the intersection and union of two sets. showed that for two Bloom filters of length , their counts, respectively can be estimated as


title: Bloom filter

text: where formula_32 is the number of bits set to one in either of the two Bloom filters. Finally, the intersection can be estimated as


title: Bloom filter

text: Classic Bloom filters use formula_34 bits of space per inserted key, where formula_35 is the false positive rate of the Bloom filter. However, the space that is strictly necessary for any data structure playing the same role as a Bloom filter is only formula_36 per key. Hence Bloom filters use 44% more space than an equivalent optimal data structure. Instead, Pagh et al. provide an optimal-space data structure. Moreover, their data structure has constant locality of reference independent of the false positive rate, unlike Bloom filters, where a lower false positive rate formula_35 leads to a greater number of memory accesses per query, formula_38. Also, it allows elements to be deleted without a space penalty, unlike Bloom filters. The same improved properties of optimal space usage, constant locality of reference, and the ability to delete elements are also provided by the cuckoo filter of , an open source implementation of which is available.


title: Bloom filter

text: The space efficient variant relies on using a single hash function that generates for each key a value in the range formula_39 where formula_35 is the requested false positive rate. The sequence of values is then sorted and compressed using Golomb coding (or some other compression technique) to occupy a space close to formula_41 bits. To query the Bloom filter for a given key, it will suffice to check if its corresponding value is stored in the Bloom filter. Decompressing the whole Bloom filter for each query would make this variant totally unusable. To overcome this problem the sequence of values is divided into small blocks of equal size that are compressed separately. At query time only half a block will need to be decompressed on average. Because of decompression overhead, this variant may be slower than classic Bloom filters but this may be compensated by the fact that a single hash function needs to be computed.


title: Bloom filter

text: Another alternative to classic Bloom filter is the cuckoo filter, based on space-efficient variants of cuckoo hashing. In this case, a hash table is constructed, holding neither keys nor values, but short fingerprints (small hashes) of the keys. If looking up the key finds a matching fingerprint, then key is probably in the set. One useful property of cuckoo filters is that they are updatable; entries may be dynamically added (with a small probability of failure due to the hash table being full) and removed.


title: Bloom filter

text: There are over 60 variants of Bloom filters, many surveys of the field, and a continuing churn of applications (see e.g., Luo, "et al" ). Some of the variants differ sufficiently from the original proposal to be breaches from or forks of the original data structure and its philosophy. A treatment which unifies Bloom filters with other work on random projections, compressive sensing, and locality sensitive hashing remains to be done (though see Dasgupta, "et al" for one attempt inspired by neuroscience).


title: Bloom filter

text: Content delivery networks deploy web caches around the world to cache and serve web content to users with greater performance and reliability. A key application of Bloom filters is their use in efficiently determining which web objects to store in these web caches. Nearly three-quarters of the URLs accessed from a typical web cache are "one-hit-wonders" that are accessed by users only once and never again. It is clearly wasteful of disk resources to store one-hit-wonders in a web cache, since they will never be accessed again. To prevent caching one-hit-wonders, a Bloom filter is used to keep track of all URLs that are accessed by users. A web object is cached only when it has been accessed at least once before, i.e., the object is cached on its second request. The use of a Bloom filter in this fashion significantly reduces the disk write workload, since most one-hit-wonders are not written to the disk cache. Further, filtering out the one-hit-wonders also saves cache space on disk, increasing the cache hit rates.


title: Bloom filter

text: Kiss "et al" described a new construction for the Bloom filter that avoids false positives in addition to the typical non-existence of false negatives. The construction applies to a finite universe from which set elements are taken. It relies on existing non-adaptive combinatorial group testing scheme by Eppstein, Goodrich and Hirschberg. Unlike the typical Bloom filter, elements are hashed to a bit array through deterministic, fast and simple-to-calculate functions. The maximal set size for which false positives are completely avoided is a function of the universe size and is controlled by the amount of allocated memory.


title: Bloom filter

text: Counting filters provide a way to implement a "delete" operation on a Bloom filter without recreating the filter afresh. In a counting filter, the array positions (buckets) are extended from being a single bit to being a multibit counter. In fact, regular Bloom filters can be considered as counting filters with a bucket size of one bit. Counting filters were introduced by .


title: Bloom filter

text: The insert operation is extended to "increment" the value of the buckets, and the lookup operation checks that each of the required buckets is non-zero. The delete operation then consists of decrementing the value of each of the respective buckets.


title: Bloom filter

text: Arithmetic overflow of the buckets is a problem and the buckets should be sufficiently large to make this case rare. If it does occur then the increment and decrement operations must leave the bucket set to the maximum possible value in order to retain the properties of a Bloom filter.


title: Bloom filter

text: The size of counters is usually 3 or 4 bits. Hence counting Bloom filters use 3 to 4 times more space than static Bloom filters. In contrast, the data structures of and also allow deletions but use less space than a static Bloom filter.


title: Bloom filter

text: Another issue with counting filters is limited scalability. Because the counting Bloom filter table cannot be expanded, the maximal number of keys to be stored simultaneously in the filter must be known in advance. Once the designed capacity of the table is exceeded, the false positive rate will grow rapidly as more keys are inserted.


title: Bloom filter

text: The space efficient variant by could also be used to implement counting filters by supporting insertions and deletions.


title: Bloom filter

text: Kim et al. (2019) shows that false positive of Counting Bloom filter decreases from k=1 to a point defined formula_43, and increases from formula_43to positive infinity, and finds formula_43as a function of count threshold.


title: Bloom filter

text: Bloom filters can be organized in distributed data structures to perform fully decentralized computations of aggregate functions. Decentralized aggregation makes collective measurements locally available in every node of a distributed network without involving a centralized computational entity for this purpose.


title: Bloom filter

text: Parallel Bloom filters can be implemented to take advantage of the multiple processing elements (PEs) present in parallel shared-nothing machines. One of the main obstacles for a parallel Bloom filter is the organization and communication of the unordered data which is, in general, distributed evenly over all PEs at the initiation or at batch insertions. To order the data two approaches can be used, either resulting in a Bloom filter over all data being stored on each PE, called replicating bloom filter, or the Bloom filter over all data being split into equal parts, each PE storing one part of it. For both approaches a "Single Shot" Bloom filter is used which only calculates one hash, resulting in one flipped bit per element, to reduce the communication volume.


title: Bloom filter

text: Distributed Bloom filters are initiated by first hashing all elements on their local PE and then sorting them by their hashes locally. This can be done in linear time using e.g. Bucket sort and also allows local duplicate detection. The sorting is used to group the hashes with their assigned PE as separator to create a Bloom filter for each group. After encoding these Bloom filters using e.g. Golomb coding each bloom filter is sent as packet to the PE responsible for the hash values that where inserted into it. A PE p is responsible for all hashes between the values formula_46 and formula_47, where s is the total size of the Bloom filter over all data. Because each element is only hashed once and therefore only a single bit is set, to check if an element was inserted into the Bloom filter only the PE responsible for the hash value of the element needs to be operated on. Single insertion operations can also be done efficiently because the Bloom filter of only one PE has to be changed, compared to Replicating Bloom filters where every PE would have to update its Bloom filter.


title: Bloom filter

text: By distributing the global Bloom filter over all PEs instead of storing it separately on each PE the Bloom filters size can be far larger, resulting in a larger capacity and lower false positive rate.


title: Bloom filter

text: Distributed Bloom filters can be used to improve duplicate detection algorithms by filtering out the most 'unique' elements. These can be calculated by communicating only the hashes of elements, not the elements themselves which are far larger in volume, and removing them from the set, reducing the workload for the duplicate detection algorithm used afterwards.


title: Bloom filter

text: During the communication of the hashes the PEs search for bits that are set in more than one of the receiving packets, as this would mean that two elements had the same hash and therefore could be duplicates. If this occurs a message containing the index of the bit, which is also the hash of the element that could be a duplicate, is sent to the PEs which sent a packet with the set bit. If multiple indices are sent to the same PE by one sender it can be advantageous to encode the indices as well. All elements that didn't have their hash sent back are now guaranteed to not be a duplicate and won't be evaluated further, for the remaining elements a Repartitioning algorithm can be used. First all the elements that had their hash value sent back are sent to the PE that their hash is responsible for. Any element and its duplicate is now guaranteed to be on the same PE. In the second step each PE uses a sequential algorithm for duplicate detection on the receiving elements, which are only a fraction of the amount of starting elements. By allowing a false positive rate for the duplicates, the communication volume can be reduced further as the PEs don't have to send elements with duplicated hashes at all and instead any element with a duplicated hash can simply be marked as a duplicate. As a result, the false positive rate for duplicate detection is the same as the false positive rate of the used bloom filter.


title: Bloom filter

text: The process of filtering out the most 'unique' elements can also be repeated multiple times by changing the hash function in each filtering step. If only a single filtering step is used it has to archive a small false positive rate, however if the filtering step is repeated once the first step can allow a higher false positive rate while the latter one has a higher one but also works on less elements as many have already been removed by the earlier filtering step. While using more than two repetitions can reduce the communication volume further if the number of duplicates in a set is small, the payoff for the additional complications is low.


title: Bloom filter

text: Replicating Bloom filters organize their data by using a well known hypercube algorithm for gossiping, e.g. First each PE calculates the Bloom filter over all local elements and stores it. By repeating a loop where in each step i the PEs send their local Bloom filter over dimension i and merge the Bloom filter they receive over the dimension with their local Bloom filter, it is possible to double the elements each Bloom filter contains in every iteration. After sending and receiving Bloom filters over all formula_48 dimensions each PE contains the global Bloom filter over all elements.


title: Bloom filter

text: Replicating Bloom filters are more efficient when the number of queries is much larger than the number of elements that the Bloom filter contains, the break even point compared to Distributed Bloom filters is approximately after formula_49 accesses, with formula_50 as the false positive rate of the bloom filter.


title: Bloom filter

text: Bloom filters can be used for approximate data synchronization as in . Counting Bloom filters can be used to approximate the number of differences between two sets and this approach is described in .


title: Bloom filter

text: Bloom filters can be adapted to the context of streaming data. For instance, proposed Stable Bloom filters, which consist of a counting Bloom filter where insertion of a new element sets the associated counters to a value , and then only a fixed amount of counters are decreased by 1, hence the memory mostly contains information about recent elements (intuitively, one could assume that the lifetime of an element inside a SBF of counters is around formula_51). Another solution is the Aging Bloom filter, that consists of two Bloom filter each occupying half the total available memory: when one filter is full, the second filter is erased and newer elements are then added to this newly empty filter.


title: Bloom filter

text: However, it has been shown that no matter the filter, after insertions, the sum of the false positive formula_52 and false negative formula_53 probabilities is bounded below by formula_54 where is the amount of all possible elements (the alphabet size), the memory size (in bits), assuming formula_55. This result shows that for big enough and going to infinity, then the lower bound converges to formula_56, which is the characteristic relation of a random filter. Hence, after enough insertions, and if the alphabet is too big to be stored in memory (which is assumed in the context of probabilistic filters), it is impossible for a filter to perform better than randomness. This result can be leveraged by only expecting a filter to operate on a sliding window rather than the whole stream. In this case, the exponent in the formula above is replaced by , which gives a formula that might deviate from 1, if is not too small.


title: Bloom filter

text: designed a generalization of Bloom filters that could associate a value with each element that had been inserted, implementing an associative array. Like Bloom filters, these structures achieve a small space overhead by accepting a small probability of false positives. In the case of "Bloomier filters", a "false positive" is defined as returning a result when the key is not in the map. The map will never return the wrong value for a key that "is" in the map.


title: Bloom filter

text: proposed a lattice-based generalization of Bloom filters. A compact approximator associates to each key an element of a lattice (the standard Bloom filters being the case of the Boolean two-element lattice). Instead of a bit array, they have an array of lattice elements. When adding a new association between a key and an element of the lattice, they compute the maximum of the current contents of the k array locations associated to the key with the lattice element. When reading the value associated to a key, they compute the minimum of the values found in the k locations associated to the key. The resulting value approximates from above the original value.


title: Bloom filter

text: This implementation used a separate array for each hash function. This method allows for parallel hash calculations for both insertions and inquiries.


title: Bloom filter

text: proposed a variant of Bloom filters that can adapt dynamically to the number of elements stored, while assuring a minimum false positive probability. The technique is based on sequences of standard Bloom filters with increasing capacity and tighter false positive probabilities, so as to ensure that a maximum false positive probability can be set beforehand, regardless of the number of elements to be inserted.


title: Bloom filter

text: Spatial Bloom filters (SBF) were originally proposed by as a data structure designed to store location information, especially in the context of cryptographic protocols for location privacy. However, the main characteristic of SBFs is their ability to store multiple sets in a single data structure, which makes them suitable for a number of different application scenarios. Membership of an element to a specific set can be queried, and the false positive probability depends on the set: the first sets to be entered into the filter during construction have higher false positive probabilities than sets entered at the end. This property allows a prioritization of the sets, where sets containing more "important" elements can be preserved.


title: Bloom filter

text: A layered Bloom filter consists of multiple Bloom filter layers. Layered Bloom filters allow keeping track of how many times an item was added to the Bloom filter by checking how many layers contain the item. With a layered Bloom filter a check operation will normally return the deepest layer number the item was found in.


title: Bloom filter

text: An attenuated Bloom filter of depth D can be viewed as an array of D normal Bloom filters. In the context of service discovery in a network, each node stores regular and attenuated Bloom filters locally. The regular or local Bloom filter indicates which services are offered by the node itself. The attenuated filter of level i indicates which services can be found on nodes that are i-hops away from the current node. The i-th value is constructed by taking a union of local Bloom filters for nodes i-hops away from the node.


title: Bloom filter

text: Let's take a small network shown on the graph below as an example. Say we are searching for a service A whose id hashes to bits 0,1, and 3 (pattern 11010). Let n1 node to be the starting point. First, we check whether service A is offered by n1 by checking its local filter. Since the patterns don't match, we check the attenuated Bloom filter in order to determine which node should be the next hop. We see that n2 doesn't offer service A but lies on the path to nodes that do. Hence, we move to n2 and repeat the same procedure. We quickly find that n3 offers the service, and hence the destination is located.


title: Bloom filter

text: By using attenuated Bloom filters consisting of multiple layers, services at more than one hop distance can be discovered while avoiding saturation of the Bloom filter by attenuating (shifting out) bits set by sources further away.


title: Bloom filter

text: Bloom filters are often used to search large chemical structure databases (see chemical similarity). In the simplest case, the elements added to the filter (called a fingerprint in this field) are just the atomic numbers present in the molecule, or a hash based on the atomic number of each atom and the number and type of its bonds. This case is too simple to be useful. More advanced filters also encode atom counts, larger substructure features like carboxyl groups, and graph properties like the number of rings. In hash-based fingerprints, a hash function based on atom and bond properties is used to turn a subgraph into a PRNG seed, and the first output values used to set bits in the Bloom filter.


title: Bloom filter

text: Molecular fingerprints started in the late 1940s as way to search for chemical structures searched on punched cards. However, it wasn't until around 1990 that Daylight Chemical Information Systems, Inc. introduced a hash-based method to generate the bits, rather than use a precomputed table. Unlike the dictionary approach, the hash method can assign bits for substructures which hadn't previously been seen. In the early 1990s, the term "fingerprint" was considered different from "structural keys", but the term has since grown to encompass most molecular characteristics which can be used for a similarity comparison, including structural keys, sparse count fingerprints, and 3D fingerprints. Unlike Bloom filters, the Daylight hash method allows the number of bits assigned per feature to be a function of the feature size, but most implementations of Daylight-like fingerprints use a fixed number of bits per feature, which makes them a Bloom filter. The original Daylight fingerprints could be used for both similarity and screening purposes. Many other fingerprint types, like the popular ECFP2, can be used for similarity but not for screening because they include local environmental characteristics that introduce false negatives when used as a screen. Even if these are constructed with the same mechanism, these are not Bloom filters because they cannot be used to filter.


title: Jyotirao Phule

text: Jyotirao Govindrao Phule, also known as Mahatma Jyotiba Phule (11 April 1827 – 28 November 1890) was an Indian social activist, thinker, anti-caste social reformer and writer from Maharashtra. His work extended to many fields, including eradication of untouchability and the caste system and for his efforts in educating women and oppressed caste people. He and his wife, Savitribai Phule, were pioneers of women's education in India. Phule started his first school for girls in 1848 in Pune at Tatyasaheb Bhide's residence or Bhidewada. He, along with his followers, formed the Satyashodhak Samaj (Society of Truth Seekers) to attain equal rights for people from lower castes. People from all religions and castes could become a part of this association which worked for the upliftment of the oppressed classes. Phule is regarded as an important figure in the social reform movement in Maharashtra. He was bestowed with honorific Mahātmā (Sanskrit: "great-souled", "venerable") title by Maharashtrian social activist Vithalrao Krishnaji Vandekar in 1888.


title: Jyotirao Phule

text: Jyotirao Phule was born in Pune in 1827 to a family that belonged to the Mali caste. The Malis traditionally worked as fruit and vegetable growers: in the four-fold "varna" system of caste hierarchy, they were placed within the "Shudras". Phule was named after God Jyotiba. He was born on the day of Jyotiba's annual fair. Phule's family, previously named "Gorhe", had its origins in the village of Katgun, near the town of Satara. Phule's great-grandfather, who had worked there as a , or low-ranking village official, moved to Khanwadi in Pune district. There, his only son, Shetiba, brought the family into poverty. The family, including three sons, moved to Poona seeking employment. The boys were taken under the wing of a florist who taught them the secrets of the trade. Their proficiency in growing and arranging became well known and they adopted the name "Phule" (flower-man) in place of "Gorhe". Their fulfillment of commissions from the Peshwa, Baji Rao II, for flower mattresses and other goods for the rituals and ceremonies of the royal court so impressed him that he granted them of land on the basis of the "inam" system, whereby no tax would be payable upon it. The oldest brother machinated to take sole control of the property, leaving the younger two siblings, Jyotirao Phule's father, Govindrao, to continue farming and also flower-selling.


title: Jyotirao Phule

text: Govindrao married Chimnabai and had two sons, of whom Jyotirao was the youngest. Chimnabai died before he was aged one. The Mali community did not make room for much by education, and after attending primary school to learn the basics of reading, writing, and arithmetic, Jyotirao was withdrawn from school. He joined the menfolk of his family at work, both in the shop and the farm. However, a man from the same Mali caste as Phule recognised his intelligence and persuaded Phule's father to allow Phule to attend the local Scottish Mission High School. Phule completed his English schooling in 1847. As was customary, he was married young, at the age of 13, to a girl of his own community, chosen by his father.


title: Jyotirao Phule

text: The turning point in his life was in 1848, when he attended the wedding of a Brahmin friend. Phule participated in the customary marriage procession, but was later rebuked and insulted by his friend's parents for doing that. They told him that he being from a Shudra caste should have had the sense to keep away from that ceremony. This incident profoundly affected Phule on the injustice of the caste system.


title: Jyotirao Phule

text: In 1848, aged 21, Phule visited a girls' school in Ahmadnagar, run by Christian missionaries. It was also in 1848 that he read Thomas Paine's book "Rights of Man" and developed a keen sense of social justice. He realized that exploited castes and women were at a disadvantage in Indian society, and also that education of these sections was vital to their emancipation. To this end and in the same year, Phule first taught reading and writing to his wife, Savitribai, and then the couple started the first indigenously run school for girls in Pune. He also taught Sagunabai Kshirsagar (his maternal aunt's daughter) to write Marathi with Savitribai. The conservative upper caste society of Pune didn't approve of his work. But many Indians and Europeans helped him generously. Conservatives in Pune also forced his own family and community to ostracize them. During this period, their friend Usman Sheikh and his sister Fatima Sheikh provided them with shelter. They also helped to start the school on their premises. Later, the Phules started schools for children from the then untouchable castes such as Mahar and Mang. In 1852, there were three Phule schools in operation 273 girls were pursuing education in these school but by 1858 they had all closed. Eleanor Zelliot blames the closure on private European donations drying up due to the Indian Mutiny of 1857, withdrawal of government support, and Jyotirao resigning from the school management committee because of disagreement regarding the curriculum.


title: Jyotirao Phule

text: Phule watched how untouchables were not permitted to pollute anyone with their shadows and that they had to attach a broom to their backs to wipe the path on which they had traveled. He saw young widows shaving their heads, refraining from any sort of joy in their life. He saw how untouchable women had been forced to dance naked. He made the decision to educate women by witnessing all these social evils that encouraged inequality. He began with his wife, every afternoon, Jyotirao sat with his wife Savitribai Phule and educated her when she went to the farms where he worked,to bring him his meal. He sent his wife to get trained at a school. The husband and wife set up India's first girls' school in Vishrambag Wada, Pune, in 1848.


title: Jyotirao Phule

text: He championed widow remarriage and started a home for dominant caste pregnant widows to give birth in a safe and secure place in 1863. His orphanage was established in an attempt to reduce the rate of infanticide.


title: Jyotirao Phule

text: In 1863, Pune witnessed a horrific incident. A Brahmin widow named Kashibai got pregnant and her attempts at abortion didn't succeed. She killed the baby after giving it birth and threw it in a well, but her act came to light. She had to face punishment and was sentenced to jail. This incident greatly upset Phule and hence, along with his longtime friend Sadashiv Ballal Govande and Savitribai, he started an infanticide prevention centre. Pamphlets were stuck around Pune advertising the centre in the following words: "Widows, come here and deliver your baby safely and secretly. It is up to your discretion whether you want to keep the baby in the centre or take it with you. This orphanage will take care of the children [left behind]." The Phule couple ran the infanticide prevention centre until the mid-1880s.


title: Jyotirao Phule

text: Phule tried to eliminate the stigma of social untouchability surrounding the exploited castes by opening his house and the use of his water well to the members of the exploited castes.


title: Jyotirao Phule

text: Phule appealed for reestablishment of the reign of mythical Mahabali (King Bali) which predated "Aryans' treacherous coup d'etat". He proposed his own version of Aryan invasion theory that the Aryan conquerors of India, whom the theory's proponents considered to be racially superior, were in fact barbaric suppressors of the indigenous people. He believed that they had instituted the caste system as a framework for subjugation and social division that ensured the pre-eminence of their Brahmin successors. He saw the subsequent Muslim conquests of the Indian subcontinent as more of the same sort of thing, being a repressive alien regime, but took heart in the arrival of the British, whom he considered to be relatively enlightened and not supportive of the "varnashramadharma" system instigated and then perpetuated by those previous invaders. In his book, "Gulamgiri", he thanked Christian missionaries and the British colonists for making the exploited castes realise that they are worthy of all human rights. The book, whose title transliterates as "slavery" and which concerned women, caste and reform, was dedicated to the people in the US who were working to end slavery.


title: Jyotirao Phule

text: Phule saw Vishnu's avatars as a symbol of oppression stemming from the Aryan conquests and took Mahabali (Bali Raja) as hero. His critique of the caste system began with an attack on the Vedas, the most fundamental texts of Hindus. He considered them to be a form of false consciousness.


title: Jyotirao Phule

text: He is credited with introducing the Marathi word "dalit" (broken, crushed) as a descriptor for those people who were outside the traditional varna system. The terminology was later popularised in the 1970s by the Dalit Panthers.


title: Jyotirao Phule

text: At an education commission hearing in 1882, Phule called for help in providing education for exploited castes. To implement it, he advocated making primary education compulsory in villages. He also asked for special incentives to get more lower-caste people in high schools and colleges.


title: Jyotirao Phule

text: On 24 September 1874, Phule formed Satyashodhak Samaj to focus on rights of depressed groups such women, the Shudra, and the Dalit. Through this the samaj he opposed idolatry and denounced the caste system. Satyashodhak Samaj campaigned for the spread of rational thinking and rejected the need for priests.


title: Jyotirao Phule

text: Phule established Satyashodhak Samaj with the ideals of human well-being, happiness, unity, equality, and easy religious principles and rituals. A Pune-based newspaper, "Deenbandhu", provided the voice for the views of the Samaj.


title: Jyotirao Phule

text: The membership of the samaj included Muslims, Brahmins and government officials. Phule's own Mali caste provided the leading members and financial supporters for the organization.


title: Jyotirao Phule

text: Apart from his role as a social activist, Phule was a businessman too. In 1882 he styled himself as a merchant, cultivator and municipal contractor. He owned of farmland at Manjri, near Pune. For period of time, he worked as a contractor for the government and supplied building materials required for the construction of a dam on the Mula-Mutha river near Pune in the 1870s. He also received contracts to provide labour for the construction of the Katraj Tunnel and the Yerawda Jail near Pune. One of Phule's businesses, established in 1863, was to supply metal-casting equipment.


title: Jyotirao Phule

text: Phule was appointed commissioner (municipal council member) to the then Poona municipality in 1876 and served in this unelected position until 1883.


title: Jyotirao Phule

text: Phule's "akhandas" were organically linked to the "abhangs" of Marathi Varkari saint Tukaram. Among his notable published works are:


title: Jyotirao Phule

text: According to Dhananjay Keer, Phule was bestowed with the title of Mahatma on 11 May 1888 by another social reformer from Bombay, Vithalrao Krishnaji Vandekar.


title: Jyotirao Phule

text: An early biography of Phule was the Marathi-language "Mahatma Jotirao Phule Yanche Charitra" (P. S. Patil, Chikali: 1927). Two others are "Mahatma Phule. Caritra Va Kriya" ("Mahatma Phule. Life and Work") (A. K. Ghorpade, Poona: 1953), which is also in Marathi, and "Mahatma Jyotibha Phule: Father of Our Social Revolution" (Dhananjay Keer, Bombay: 1974). Unpublished material relating to him is held by the Bombay State Committee on the History of the Freedom Movement.


title: Jyotirao Phule

text: Phule inspired B. R. Ambedkar, the first minister of law of India and the chief architect of the Indian Constitution. Ambedkar had acknowledged Phule as one of his three gurus or masters.


title: Maleficent

text: Maleficent ( or ) is a fictional character who appears as the main antagonist in Walt Disney Productions' 16th animated feature film, "Sleeping Beauty" (1959). She is represented as an evil fairy and the self-proclaimed "Mistress of All Evil" who, after not being invited to a christening, curses the infant Princess Aurora to "prick her finger on the spindle of a spinning wheel and die" before the sun sets on Aurora's sixteenth birthday.


title: Maleficent

text: Maleficent is based on the evil fairy godmother character in Charles Perrault's fairy tale "Sleeping Beauty", as well as the villainess who appears in the Brothers Grimm's retelling of the story, "Little Briar Rose". Maleficent was animated by Marc Davis.


title: Maleficent

text: She is voiced by Eleanor Audley, who earlier voiced Lady Tremaine, Cinderella's evil stepmother, in "Cinderella" (1950).


title: Maleficent

text: A revision of the character appeared as the protagonist in the 2014 live-action film "Maleficent", portrayed by Angelina Jolie, who reprised the role in the 2019 sequel "". This version of Maleficent is portrayed as a sympathetic character, who is misunderstood in trying to protect herself and her domain from humans.


title: Maleficent

text: The character was animated by Marc Davis who also animated Aurora in the film. She was aptly named "Maleficent" (an adjective which means "doing evil or harm"). In determining Maleficent's design, standard depictions of witches and hags were dismissed as Mattinson's opted for an elegant, sinister, green-skinned beauty, depicted as "vain femme fatale, utilizing a classic archetype of a bad woman." According to Mattinson, Maleficent "was designed like a giant vampire bat to create a feeling of menace."


title: Maleficent

text: She was voiced by Eleanor Audley, who had previously performed Lady Tremaine, Cinderella's evil stepmother, in "Cinderella". Audley also provided some live-action recording for both of these characters, to inspire the animators. In addition, dancer Jane Fowler performed some live-action reference for Maleficent. Animators Ollie Johnston and Frank Thomas, in their book "The Disney Villain", describe animating Audley's voice as "a difficult assignment but a thrilling one, working to that voice track with so much innuendo mixed in with the fierce power."


title: Maleficent

text: It was long rumored that Maleficent's likeness was inspired by actress Maila Nurmi, best known for her character Vampira, a camp icon of the 1950s. In 2014, entries were discovered in Nurmi's journals describing sessions for Walt Disney in November of 1956. Walt Disney was subsequently able to find archival documents corroborating Nurmi's participation as a "live-action reference" model for the character.


title: Maleficent

text: For the scene when Maleficent transforms into a dragon in the original film, she was animated by Eric Cleworth, who said that the dragon was modeled on a rattlesnake, with "powerful muscles moving a bulky body over the rocky terrain." Sound effects artist Jimmy MacDonald searched for the sound of a dragon's fiery breath by requesting the United States Army to send him some training films on flame throwing. These films provided just the right sound for him.


title: Maleficent

text: In the animated film, where she is voiced by Eleanor Audley, Maleficent arrives at King Stefan and Queen Leah's castle during the christening of their newborn daughter, Princess Aurora. She expresses displeasure about not receiving an invitation, to which one of the good fairies named Merryweather replies that she was unwanted. Angered, she prepares to leave. Queen Leah asks her if she is offended, causing Maleficent to deny her rage, and subsequently offers to bestow a "gift" on Aurora to prove that she "bears no ill will". Maleficent confirms that Aurora will grow in grace and beauty, "beloved by all who know her", but as revenge for not being invited by the kingdom, she places a curse on Aurora so that before the sun sets on her sixteenth birthday, she will prick her finger on the spindle of a spinning wheel and die. Before the Royal Guards can seize her, Maleficent disappears, laughing triumphantly. Though Merryweather still has her gift to bestow, she cannot dispel Maleficent's power, but she can only weaken the curse so that Aurora will fall into a deep sleep instead, which requires a kiss from her true love to awaken her.


title: Maleficent

text: Later, at her castle in the Forbidden Mountains, a frustrated Maleficent asks her bestial army why they have been unable to find Aurora, who had been hidden and brought up by the three good fairies. Maleficent learns that they have focused on searching for a baby the entire time, even though 16 years have passed. She flies into a destructive rage, and soon desperately instructs her pet raven, Diablo, to find Aurora. The bird manages to succeed due to a magical quarrel between Merryweather and Flora, which exposes their location.


title: Maleficent

text: On the evening of Aurora's sixteenth birthday, after the three fairies have momentarily left the depressed princess alone in a castle room, Maleficent visits Aurora in the form of a will-o-the-wisp, luring the princess to a tower room where Maleficent transforms into a spinning wheel. The fairies, realizing their mistake, pursue Aurora to the tower room, trying to prevent her from touching the spindle. Unfortunately for them, Aurora pricks her finger on the spindle, fulfilling the curse. When Flora, Merryweather, and Fauna arrive too late, Maleficent appears and taunts three of her arch-rivals into defeating her. The evil fairy reveals the now sleeping Aurora on the floor, shocking the fairies as Maleficent disappears, cackling, leaving the fairies heartbroken of what happened.


title: Maleficent

text: Later on, Maleficent and her goons capture Prince Phillip, Aurora's true love, and imprisons him. Maleficent then rests well, thinking she has triumphed.


title: Maleficent

text: Maleficent later wakes up and by seeing that Diablo has been turned to stone, she discovers that the fairies have freed Phillip from her dungeon. She climbs to the top of one of her castle's towers and proceeds to blast Phillip with lightning, and after the good fairies foil these attempts, she summons a forest of thorns, through which Phillip slices his way out. Enraged, she blows away and confronts him in front of King Stefan's castle, and transforms into a huge dark dragon. The three fairies cast an enhancing enchantment on Phillip's Sword of Truth, which he throws into Maleficent's heart, mortally wounding her before she falls off the crumbling cliff to her death.


title: Maleficent

text: The 2014 live-action reboot presents Maleficent as a good-hearted but tragic fairy who defends the Moors, a realm of supernatural beings, from neighboring humans. She is played by Angelina Jolie.


title: Maleficent

text: Prior to sporting her iconic dark attire, Maleficent had a pair of giant wings and wore a brown leather dress, with sandals and an anklet. She could heal a tree's broken branch just by touching it, and shared an immense fondness with all the denizens of her mystical domain. Maleficent befriends a thieving peasant boy named Stefan, upon being alerted to his presence by a trio of pixies: Knotgrass (Imelda Staunton), Thistletwit (Juno Temple), and Flittle (Lesley Manville).


title: Maleficent

text: As a young adult, Maleficent is betrayed by Stefan...who uses iron to burn off her wings so that he can succeed King Henry. (Henry declared a bounty on Maleficent's life, after she gravely felled him while thwarting his armed invasion of the Moors.) After claiming a raven named Diaval (Sam Riley) as her henchman, Maleficent renames herself from guardian of the Moors to ruler of same. Both her clothing and her realm turn dark, reflecting the hatred with which she is now consumed. When she learns that now-King Stefan and his Queen Leila have a newborn daughter named Aurora (Elle Fanning), Maleficent acts in the name of what she considers poetic justice...by cursing the newborn Aurora to fall into a deathlike slumber on her 16th birthday; the spell can be broken only by the kiss of true love, which neither Maleficent nor Stefan believe in. Knotgrass, Thistletwit, and Flittle are assigned to look after Aurora until after her 16th birthday; the pixies prove to be grossly incompetent and negligent, however. In order to ensure that her curse comes to pass, Maleficent cares for and - when required - protects the child from afar. Eventually, as Aurora grows into an industrious and sweet-tempered young woman, Maleficent recognizes the folly of punishing Stefan's daughter for something he alone did. This tender regard for Aurora enables Maleficent to undo the damage which she herself inflicted; after Philip's kiss fails to break the curse (because he's not yet truly in love with Aurora), Maleficent voices her regrets and herself kisses Aurora's brow. Roused from her enchanted sleep, and now fully aware of her father's true nature, Aurora foils his efforts to destroy Maleficent by returning the dark fairy's severed wings. Completely stripped of her bitterness and thirst for vengeance, Maleficent declares an end to her feud with Stefan. But the king, driven by shame too great to bear, attempts to kill her "and" himself...only to take a fatal fall from his own castle's highest turret.


title: Maleficent

text: Following Aurora's ascension over her late parents' domain, Maleficent crowns her to rule the Moors as well...as Diaval and Phillip look on proudly.


title: Maleficent

text: Angelina Jolie reprised the role in "Maleficent: Mistress of Evil", in which Maleficent's relationship with Aurora was tested. Other fairies of her species appeared, led by Conall (Chiwetel Ejiofor). In the course of the film, Prince Philip's mother Queen Ingrith (Michelle Pfeiffer) attempts to provoke a war between the humans and the fairies by creating the impression that Maleficent has cast another curse on the king, forcing Maleficent to flee the kingdom only to be rescued by others of her kind. During this time, Maleficent's species is identified as 'Dark Fey', although Maleficent's powers are unique to her due to her being the latest reincarnation of the powerful Phoenix. The queen nearly destroys the fairies after devising a cloud of red dust that will turn all fairies exposed to it into plants and luring them into a church for Aurora's wedding, but during the Dark Fey's attack on the kingdom, Aurora learns the truth and is able to convince both sides to stand down, Philip appealing to his own soldiers while Aurora confronts Maleficent. After asserting that she still regards Maleficent as her mother, Aurora is knocked off a tower by the queen, but Maleficent is able to save Aurora, ending the conflict when she breaks the curse on the King and turns the Queen into a goat. With peace restored, Maleficent walks Aurora down the aisle for her wedding to Philip, and later assures Aurora that she will return when their first child is born.


title: Maleficent

text: Maleficent is a recurring character in the animated series "Disney's House of Mouse", voiced by Lois Nettleton. In the episode "Halloween With Hades", Hades falls in love with her. She also appeared as a villain in the series' direct-to-video film "Mickey's House of Villains" where she takes part in the "It's Our House Now" musical number along with the other villains.


title: Maleficent

text: A version of Maleficent appears in the ABC television series "Once Upon a Time", played by Kristin Bauer van Straten. She was slain by Emma Swan in dragon form in the first season finale, but was later resurrected. She acts as one of the main antagonist in the fourth season, baing part of a group known as the Queens of Darkness, along with Ursula and Cruella De Vil, and temporarily the Evil Queen. In dragon form, she mothered Lily (Nicole Muñoz (teen)/Agnes Bruckner (adult)), and did not know the identity of the father. In the series finale, it is mentioned in dialogue that Lily discovered that her father was Zorro, whom no one knew could become a dragon.


title: Maleficent

text: Kristin Chenoweth played Maleficent in Disney's original Disney Channel film "Descendants", which follows the teenage children of Disney's iconic heroes and villains, including Maleficent's daughter Mal. In "Descendants 3", it is revealed that Mal's father is Hades.


title: Maleficent

text: Maleficent is the final boss in the North American version of the video game "Mickey Mousecapade" created in 1987 for the Nintendo Entertainment System.


title: Maleficent

text: Maleficent appears as a major antagonist in the "Kingdom Hearts" video game series, voiced by Susanne Blakeslee in the English versions and Toshiko Sawada in the Japanese versions. She seeks to take control of the many worlds and engulf them in darkness, with Pete acting as her second-in-command. She has appeared in every game in the series except for "".


title: Maleficent

text: Maleficent is a playable character in the "Disney Infinity" video games series, voiced by Rajia Baroudi and sporting her modified appearance from the live-action Angelina Jolie film. As with the other playable characters in the game, a tie-in figure for Maleficent was also released.


title: Maleficent

text: Maleficent acts as the main antagonist in the video game "Disney Magic Kingdoms", where she casts a curse on the titular Kingdom. She also usually appears in limited time Events known as Tower Challenges, where she takes part in the Boss Battle of the event.


title: Maleficent

text: In the book series by Ridley Pearson, "Kingdom Keepers", Maleficent appears as one of the first Overtakers encountered as she intends to leave the confines of Disney World to take over the world.


title: Maleficent

text: The original version of Maleficent has been called as "one of the most sinister Disney Villains". She is generally described as an "evil, cold hearted fairy who can curse an innocent baby just because she is not invited to the christening ceremony." Guillermo del Toro has stated that along with Vermithrax in "Dragonslayer", Maleficent is his favorite cinematic, Disney dragon. Voice actress Eleanor Audley and supervising animator Marc Davis were also praised for their work on the character. In 2016, The Frisky described Maleficent and the Evil Queen as "two of the best-realized female villains in movie history."


title: Maleficent

text: Maleficent's live-action version from the film series of the same name has received critical attention, different from its original, animated counterpart. Benjamin Justice describes this version of Maleficent as "a full person, good and evil, powerful and vulnerable, vengeful and loving" and notes that, while she and Aurora value heterosexual relationships and love, neither of them "let the idea of [one true love] define the arc of the personal or public lives." When analyzing Maleficent's disability after she loses her wings due to Stephan's betrayal, Colleen Elaine Donnelly compares her role to that of Elphaba in "Wicked", explaining that in both cases, the story "intends to reform the stereotype of the evil witch by providing a backstory."


title: Geto Boys

text: Geto Boys (originally spelled Ghetto Boys) was an American hip-hop group originally formed in Houston, Texas. The Geto Boys enjoyed success in the 1990s with the group's classic lineup consisting of Bushwick Bill, Scarface and Willie D, earning several certified albums and hit singles, including "Mind Playing Tricks on Me" which reached No. 1 on the Hot Rap Songs and #23 on the "Billboard" Hot 100. The group was formed in 1986, and was active until the 2019 death of Bushwick Bill.


title: Geto Boys

text: The Geto Boys earned notoriety for lyrics covering controversial topics such as misogyny, violence, psychotic experiences, and drug addiction. About.com ranked the Geto Boys No. 10 on its list of the 25 Best Rap Groups of All-Time, describing them as "southern rap pioneers who paved the way for future southern hip-hop acts."


title: Geto Boys

text: The original Ghetto Boys consisted first of Raheem, The Sire Jukebox and Sir Rap-A-Lot. When Raheem and Sir Rap-A-Lot left, the group added DJ Ready Red, Prince Johnny C, and Little Billy, the dancer who later came to be known as Bushwick Bill. The first single the group released was "Car Freak" in 1986, which then followed with two singles: "You Ain't Nothin'/I Run This" in 1987, and "Be Down" in 1988. In 1988, the group released its debut album, "Making Trouble". With the release receiving very little attention, the group broke up shortly thereafter and a new line-up was put together in which Bushwick Bill was joined by Scarface and Willie D, both aspiring solo artists. This new line-up recorded the 1989 album, "Grip It! On That Other Level". The group's 1990 self-titled album, "The Geto Boys", caused Def American Recordings, the label to which the group was signed at the time, to switch distributors from Geffen Records to Warner Bros. Records (with marketing for the album done by Warner Bros. sister label Giant Records) because of controversy over the lyrics.