text:
Q: sqoop incremental import append mode with timestamp column Can someone help me with the exact difference between append and lastmodified modes in sqoop incremental?
What is the need of lastmodified when the same thing can be done with append mode (with --check-column as timestamp).It works the same and imports the updated and inserted records as well.

A: *

*Mode: append can be used for columns where you know the last value.

*Mode: lastmodified mode can be used for timestamp column. It may be hard to remember the last modified timestamp.If you know the last modified timestamp you can go head with the first approach.

Mode: Append
mysql> describe emp;
+--------+--------------+------+-----+---------+-------+
| Field  | Type         | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+-------+
| id     | int(11)      | YES  |     | NULL    |       |
| name   | varchar(100) | YES  |     | NULL    |       |
| deg    | varchar(100) | YES  |     | NULL    |       |
| salary | int(11)      | YES  |     | NULL    |       |
| dep    | varchar(10)  | YES  |     | NULL    |       |
+--------+--------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

Import data using sqoop command.
sqoop import \
--connect jdbc:mysql://quickstart:3306/retail_db \
--username retail_dba \
--password cloudera \
-m 3 \
--table emp \
--split-by id \
--columns id,name,deg \
--warehouse-dir /user/sqoop/ \
--delete-target-dir \
--as-textfile

HDFS output
[cloudera@quickstart lib]$ hadoop fs -ls -R /user/sqoop/
drwxr-xr-x   - cloudera supergroup          0 2017-12-02 13:14 /user/sqoop/emp
-rw-r--r--   1 cloudera supergroup          0 2017-12-02 13:14 /user/sqoop/emp/_SUCCESS
-rw-r--r--   1 cloudera supergroup         70 2017-12-02 13:14 /user/sqoop/emp/part-m-00000
-rw-r--r--   1 cloudera supergroup         64 2017-12-02 13:14 /user/sqoop/emp/part-m-00001
-rw-r--r--   1 cloudera supergroup         86 2017-12-02 13:14 /user/sqoop/emp/part-m-00002

mysql> select * from emp;
+------+---------+--------------+--------+------+
| id   | name    | deg          | salary | dep  |
+------+---------+--------------+--------+------+
| 1201 | gopal   | manager      |  50000 | tp   |
| 1202 | manisha | Proof reader |  50000 | TP   |
| 1203 | php dev | TECH WRITER  |  50000 | AC   |
| 1204 | Nilesh  | Domino dev   |  70000 | AF   |
| 1205 | Vinayak | Java dev     |  50000 | IT   |
| 1206 | Amish   | Cog dev      |  60000 | IT   |
| 1207 | Jatin   | Oracel dev   |  40001 | IT   |
| 1208 | Viren   | Java dev     |  70004 | IT   |
| 1209 | Ashish  | Oracel dev   |  40001 | IT   |
| 1210 | Satish  | Java dev     |  70004 | IT   |
+------+---------+--------------+--------+------+
10 rows in set (0.00 sec)

Insert new record into table.
mysql> insert into emp values(1211,'Jag', 'be', 20000, 'IT');
Query OK, 1 row affected (0.03 sec)

mysql> select * from emp;
+------+---------+--------------+--------+------+
| id   | name    | deg          | salary | dep  |
+------+---------+--------------+--------+------+
| 1201 | gopal   | manager      |  50000 | tp   |
| 1202 | manisha | Proof reader |  50000 | TP   |
| 1203 | php dev | TECH WRITER  |  50000 | AC   |
| 1204 | Nilesh  | Domino dev   |  70000 | AF   |
| 1205 | Vinayak | Java dev     |  50000 | IT   |
| 1206 | Amish   | Cog dev      |  60000 | IT   |
| 1207 | Jatin   | Oracel dev   |  40001 | IT   |
| 1208 | Viren   | Java dev     |  70004 | IT   |
| 1209 | Ashish  | Oracel dev   |  40001 | IT   |
| 1210 | Satish  | Java dev     |  70004 | IT   |
| 1211 | Jag     | be           |  20000 | IT   |
+------+---------+--------------+--------+------+
11 rows in set (0.00 sec)

Command for incremental import
sqoop import \
--connect jdbc:mysql://quickstart:3306/retail_db \
--username retail_dba \
--password cloudera \
--table emp \
--split-by id \
--check-column id \
--incremental append \
--last-value 1210 \
--warehouse-dir /user/sqoop/ \
--as-textfile

After importing
[cloudera@quickstart lib]$ hadoop fs -ls -R /user/sqoop/emp
-rw-r--r--   1 cloudera supergroup          0 2017-12-02 13:14 /user/sqoop/emp/_SUCCESS
-rw-r--r--   1 cloudera supergroup         70 2017-12-02 13:14 /user/sqoop/emp/part-m-00000
-rw-r--r--   1 cloudera supergroup         64 2017-12-02 13:14 /user/sqoop/emp/part-m-00001
-rw-r--r--   1 cloudera supergroup         86 2017-12-02 13:14 /user/sqoop/emp/part-m-00002
-rw-r--r--   1 cloudera cloudera           21 2017-12-02 13:48 /user/sqoop/emp/part-m-00003
[cloudera@quickstart lib]$ hadoop fs -cat /user/sqoop/emp/part-m-00003
1211,Jag,be,20000,IT

Mode: lastmodified
mysql> describe orders;

+-------------------+-------------+------+-----+---------+----------------+

| Field             | Type        | Null | Key | Default | Extra          |

+-------------------+-------------+------+-----+---------+----------------+

| order_id          | int(11)     | NO   | PRI | NULL    | auto_increment |

| order_date        | datetime    | NO   |     | NULL    |                |

| order_customer_id | int(11)     | NO   |     | NULL    |                |

| order_status      | varchar(45) | NO   |     | NULL    |                |

+-------------------+-------------+------+-----+---------+----------------+

4 rows in set (0.00 sec)

Import the order into hdfs
sqoop import \
--connect jdbc:mysql://quickstart:3306/retail_db \
--username retail_dba \
--password cloudera \
--table orders \
--split-by order_id  \
--target-dir /user/sqoop/orders \
--as-textfile

After import
[cloudera@quickstart lib]$ hadoop fs -ls -R /user/sqoop/orders
-rw-r--r--   1 cloudera supergroup          0 2017-12-02 16:01 /user/sqoop/orders/_SUCCESS
-rw-r--r--   1 cloudera supergroup     741597 2017-12-02 16:01 /user/sqoop/orders/part-m-00000
-rw-r--r--   1 cloudera supergroup     753022 2017-12-02 16:01 /user/sqoop/orders/part-m-00001
-rw-r--r--   1 cloudera supergroup     752368 2017-12-02 16:01 /user/sqoop/orders/part-m-00002
-rw-r--r--   1 cloudera supergroup     752940 2017-12-02 16:01 /user/sqoop/orders/part-m-00003

Update order data
mysql> select * from orders where order_id=10;
+----------+---------------------+-------------------+-----------------+
| order_id | order_date          | order_customer_id | order_status    |
+----------+---------------------+-------------------+-----------------+
|       10 | 2013-07-25 00:00:00 |              5648 | PENDING_PAYMENT |
+----------+---------------------+-------------------+-----------------+
1 row in set (0.00 sec)

mysql> update orders set order_status='CLOSED', order_date=now() where order_id=10;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from orders where order_id=10;
+----------+---------------------+-------------------+--------------+
| order_id | order_date          | order_customer_id | order_status |
+----------+---------------------+-------------------+--------------+
|       10 | 2017-12-02 16:19:23 |              5648 | CLOSED       |
+----------+---------------------+-------------------+--------------+
1 row in set (0.00 sec)

Import additional data
sqoop import \
--connect jdbc:mysql://quickstart:3306/retail_db \
--username retail_dba \
--password cloudera \
--table orders \
--split-by order_id  \
--check-column order_date \
--merge-key order_id \
--incremental lastmodified \
--target-dir /user/sqoop/orders1 \
--as-textfile

Output
[cloudera@quickstart lib]$ hadoop fs -ls -R /user/sqoop/orders1
-rw-r--r--   1 cloudera cloudera          0 2017-12-02 16:07 /user/sqoop/orders1/_SUCCESS
-rw-r--r--   1 cloudera cloudera    2999918 2017-12-02 16:07 /user/sqoop/orders1/part-r-00000

Note: If we are using the same directory(orders) as the earlier it is deleting the old files and creating a new part.


text:
Durley Chine Beach (Dorset)
Home > United Kingdom > Dorset > Bournemouth
Durley Chine beach (west cliff) is a good family sandy beach.
Water activities include sailing, windsurfing and canoeing and are zoned to allow for safe bathing.
Facilities include parking, pub, beach hut and deck chair hire, lifeguards in the summer months, kids zones, toilets, pedalos for hire.
Durley Chine Beach is a Blue Flag Beach and has been awarded a regional Seaside Award.
Durley Chine beach, dogs restrictions between 1st May and 30th September, although between Durley Inn and groyne 5 all year round.
Why not check other beaches nearby as we have no beaches around Bournemouth, 56 beaches in Dorset, or check our list of Dorset Dog Friendly Beaches.
Beach Water Quality
Water samples are taken at regular intervals during the bathing season and at the end of the season the water quality is classified as:
Excellent: the highest classification meaning the water is cleanest
Good: generally good water quality
Sufficient: meets minimum standards
Poor: You are advised not to swim. The beach will stay open and an action plan should be in place to improve the water quality.
Our weather forecast for Bournemouth in Dorset is split into two widgets. The first shows a timeline containing temperature, wind, sunrise/sunset and chance of rain, whilst the second shows the forecast for the week ahead including severe weather alerts when available.
Bournemouth Air Festival
The Bournemouth Air Festival is 4 days of varied flying programme, entertainment, live music and evening fireworks.
Alum Chine Beach
Alum Chine beach is a sandy beach popular with families and has a children's play area and a paddling pool. The beach is not so busy as those closer to Bournemouth Pier and the town centre. Alum Chine Tropical Gardens are nearby. Facilities include toilets, car parking, disabled access, Cafe / Bar / Shop and lifeguards in summer months.
Bournemouth Pier Beach
Bournemouth beach is by the name located by the pier, an all round good family sandy beach with all levels of entertainment and facilities. Some good surfing by the pier but often very crowded. Facilities include car parks, toilets, disabled access, lifeguards between May and September, cafe and restaurants, amusements, piers (Bournemouth and Boscombe), cliff lifts, kid zones, and equipment hire (deck chairs, sun-beds, windbreaks and parasols). Beach huts, day and week hire available, all fitted with chairs and gas stove.
WestBeach Bar and Restaurant
Beach: West/Pier Beach, Bournemouth View: A stunning location, situated just metres from the beach and Bournemouth pier. What's on the menu?: Award-winning chefs serve up a fresh, locally sourced menu with an emphasis on great seafood and Dorset produce. Open for breakfast, lunch and dinner.
The Moon in the Square Pub
The Moon in the Square is a Wetherspoon pub in Bournemouth, Dorset. Our pub offers a range of real ales, craft beers and freshly ground Lavazza coffee. Breakfast is served until noon, with our full food menu available until 11 pm.
Bournemouth Pier
Bournemouth Pier is at the heart of the Bournemouth sea front with various attractions, amusements, boat trips, restaurant, cafe, bar and fishing decks. Originally built in 1856 as wood, rebuilt with iron and then as concrete this has been around for generations. Small charge applies for access to help with the upkeep. Dogs are allowed on to the pier but not allowed in some of the attractions.
Bournemouth Eye Ballon
The Bournemouth Eye Balloon rises to 500ft (150m) over the City of Bournemouth with panoramic views of the Bournemouth and Poole coast, Isle of Wight and the New Forest inland. Riders can see the surrounding area for up to 20 miles from what is the highest public observation point in Bournemouth.
Bournemouth Beach Hut Hire
Bournemouth has 7 miles of sandy beach and distributed over this seafront are 250 beach huts for hire with all huts being furnished and come with three deckchairs, a gas ring and bottle. Locations include:Alum Chine Beach Durley Chine Beach Bournemouth West and East Beach Fisherman's Walk Beach Southbourne Beach Boscombe Beach Beach huts are available for daytime use to a maximum of six people on a daily or weekly hire basis.
The Mary Shelley Pub
The Mary Shelley is a Wetherspoon pub in Bournemouth, Dorset. Our pub offers a range of real ales, craft beers and freshly ground Lavazza coffee. Breakfast is served until noon, with our full food menu available until 11 pm.
Russel Cotes Art Gallery and Museum
The Russel Cotes Art Gallery and Museum is located next to the Royal Bath Hotel on East Cliff. The building itself is a Grade II listed building originally known as East Cliff Hall. East Cliff Hall was the home of Merton and Annie Russell-Cotes, designed by the architect, John Frederick Fogerty but with significant input from Merton and Annie. Buyilding started in 1897 and was completed in 1901. The house was to be a showcase, not simply for their own enjoyment, but also for the people of Bournemouth to whom it was given. As well as the resident exhibits the museum and gallery hosts ever changing exhibitions, please check the website for opening times and what is currently showing.
Bournemouth East Cliff Beach
Bournemouth's East Cliff beach is situated between Bournemouth and Boscombe Piers and this is a great sandy family beach. Land train goes along promenade between the two piers. The East Cliff Railway or East Cliff Lift, is a funicular railway and links the seaside promenade and Bournemouth East Beach with the cliff top and the town behind. Facilities include toilets, parking, cliff lift, cafe/shops and seasonal lifeguards.
The Christopher Creeke Pub
The Christopher Creeke is a Wetherspoon pub in Bournemouth, Dorset. Our pub offers a range of real ales, craft beers and freshly ground Lavazza coffee. Breakfast is served until noon, with our full food menu available until 11 pm.
Boscombe Pier Beach
Boscombe Pier beach is a sandy beach alongside the pier ideal for families with amusements at the pier and a short walk to town centre. Land train runs between Boscombe and Bournemouth. Suitable for water activities including windsurfing, surfing, canoeing and paddleboats. Car park, toilets, disabled Access, cafe / shop, deck chair hire, lifeguards in summer months, disabled Visitor Facilities including flat walk to town centre.
Seaside Award
Search Bournemouth Dorset Locations

redpajama_set_name: RedPajamaCommonCrawl


Welcome to the Eastern York Golden Knights Athletic Booster Club homepage. The objective and intent of our organization is to encourage an atmosphere of cooperation among our students, parents and faculty that will promote community spirit. The organization shall provide the personnel, guidance and direction to raise and distribute funds for programs and activities not covered by current budgets within the Eastern York School District and primarily Eastern York High School.
Any questions or concerns can be directed to the Executive Board of the organization. The board consists of four volunteer members. There is no fee to be a part of the Eastern York Golden Knights Athletic Booster Club. You must live within the Eastern York School District to become an officer. We greatly encourage everyone to become involved in the Athletic Booster Club. Feel free to contact anyone on the board to learn more about our organization or attend one of our monthly meetings. The link for meetings dates and times can be found on the left side of this page. All meetings are held in the High School Library on the 1st Wednesday of each month.


The Officers' Mess had a special guest show up for their St Barbara's Day Special Guest Night - none other than the Colonel Commandant Brigadier-General James Selbie OMM CD! There were a total of 75 for dinner, the meal was fantastic and the Band of the 15th Field Artillery Regiment were at the top of their game as usual. Mind you, the voices singing "The Screw Guns" require a bit more practice before they reach an acceptable level.


text:
14 Adultery and Fornication in Early Islam
Posted on April 7, 2020 by James M. Arlandson
We're talking here about how they're punished. Let's look at what we're facing in the West. This is Part 14 in the sharia series.
This series of articles about Islamic sharia law is intended for educators, legislators, city council members, judges, lawyers, journalists, government bureaucrats, think tank fellows, TV and radio talk show hosts, and anyone else who occupies positions of authority. They initiate the national dialogue and shape the flow of the conversation. They are the decision- and policymakers.
These intellectual elites have heard the critics of sharia and conclude the critics are wrong; the critics overstate their case (and maybe they do sometimes). They may even be "Islamophobic," the elites conclude. Islam is a world religion, so it deserves respect, after all.
But then the elites have a gnawing, private feeling that the critics may be partially right. They read reports coming out of the Islamic world and sometimes in their own world. But they tell themselves that Islam is being hijacked by extremists.
One report that the elites may have heard involves executing two adulterers.
Horrific video footage has emerged of Taliban insurgents stoning a couple to death for alleged adultery in northern Afghanistan.
Hundreds of villagers can be seen on the video standing around as the woman, Siddqa, is buried up to her waist in a four foot hole in the ground.
Two mullahs pass sentence before the crowd begins to throw rocks at her head and body as she desperately tries to crawl free.
But the 19-year-old collapses to the ground, covered in blood – but miraculously still alive.
At this point a Taliban fighter shoots her three times in the head with an AK-47. The crowd can be heard shouting allahu akbar [God is greatest] as she is killed.
Her lover, Khayyam, is then marched in front of the crowd with his hands tied behind his back.
He is blindfolded with his own tunic and crouches down close to the ground as he tried to protect his body from the stones.
But he is battered to the floor by a barrage of rocks. He can be heard sobbing before eventually falling silent.
The stoning – the first to be documented on film since the Taliban were ousted from power – took place in the district of Dashte Archi, in Kunduz, last August.
Officials said that Siddqa had run away after being sold into an arranged marriage for $9,000 against her will.
She ran away to be with Khayyam, who was already married and had two children, and the pair eloped to Pakistan.[1]
So sharia treats sexual sins as capital crimes, just as the Old Testament did. Is that really the best policy in the modern world? Can modern Islam move past these old sharia laws?
THE QURAN
Long before Islam arrived on the scene in the seventh century A.D., death for an adulterer was practiced in Arab culture. Strabo (c. 64 B.C. to after 21 A.D.) was a Greek geographer who traveled widely and wrote about his observations. As to adultery in what he calls Felix Arabia – or Greater Arabia in the Arab Peninsula – he writes,
And the penalty for the adulterer is death.[2]
The implication in Greek is that the male – the adulterer, as opposed to the adulteress – was executed, but sometimes the masculine gender stands in for the feminine, so we should not make too much of this.
Perhaps one reason that this penalty was imposed is that the Torah and its severe command had worked its way into Arab custom over many centuries, as ideas traveled along the trade routes. Whatever the case, this penalty provides the larger cultural context of the Quran and early Islam.
Yet the Quran itself does not say that adulterers and adulteresses should be stoned to death. In fact, Umar, the second caliph (r. 634-644), says that the verse inexplicably went missing from the Quran, so he needed to clarify that Muhammad instituted it and carried it out (see the hadith, below). All the Quran says is that sexual "crime" – zina – should be punished with flogging or beating (24:2).
So what is zina? One dictionary of the Quran says it means adultery or fornication.[3] But that's too ambiguous. Webster's Dictionary says that adultery means sex between a married man and someone other than his wife, or between a married woman and someone other than her husband – an affair. The vow of marital fidelity and sexual exclusivity in marriage is broken. So to commit adultery, the cheater must be married.
Fornication, says Webster's dictionary, can mean sex between a spouse (a married person) and an unmarried person, so there is some overlap between adultery and fornication in that case. But fornication can also take place between two unmarried people. In the latter circumstance, the marriage vow is not broken because neither one was married to someone else. Fornication is typically associated with premarital sex.
This broad and ambiguous definition of the word zina is reflected in two translations of the Quran, one by a moderate, the other by two ultraconservatives.
A "Moderate" Translation
The quotation marks are for a slight doubt we may feel about flogging sexual sinners. Is that really "moderate"? But compared to the translation by traditionalists, below, this translation does seem moderate.
This translation comes from M.A.S. Abdel Haleem, the Qur'an, 2nd ed. (Oxford UP, 2010):
2 Strike the adulteress and the adulterer one hundred times. Do not let compassion for them keep you from carrying out God's law – if you believe in God and the Last Day – and ensure that a group of believers witnesses the punishment.[4] (Quran 24:2)
The reason that this translation can be considered moderate is that the hadith and classical Islamic law says that adultery should be punished with execution, but his translation says that it should be punished with flogging – though by today's standards flogging is not moderate. In any case, the Quran always take priority over the hadith and classical law. But is this translation accurate and complete?
Abdel Haleem says in a footnote to this verse that "the crime of zina in Arabic covers all extramarital sexual intercourse between a man and a woman." What is interesting about his note is that zina is considered a crime, not merely a sin. Islam treats illicit sex – whether adultery, fornication, or homosexuality – as crimes to be punished harshly and corporeally, up to execution. So even a moderate like Abdel Haleem, using the word "crime," cannot completely avoid the Quran's and original Islam's harsh influence, after all.
Finally, the verse says compassion should deter the judge from carrying out the legal command. The punishment should even be witnessed, presumably to deter others from committing zina.
An Ultraconservative Translation
Hilali's and Khan's translation, which has the funding of the Saudi royal family, inserts parenthetical and bracketed notes, which are not in the original Arabic:
2 The fornicatress and the fornicator, flog each of them with a hundred stripes. Let not pity withhold you in their case, in a punishment prescribed by Allah, if you believe in Allah and the Last Day. And let a party of the believers witness their punishment. [This punishment is for unmarried persons guilty of the above crime (illegal sex), but if married persons commit it (illegal sex), the punishment is to stone them to death, according to Allah's law].[5] (Quran 24:2)
Whichever translation one chooses, nowhere does the Quran say that adulterers or fornicators should be stoned to death. But Hilali and Khan base their inserted notes on the hadith, where the ambiguity is removed (see below).
The Immediate Context of Quran 24:2
The historical context of Quran 24:2 supposedly occurs on a raid of a tribe in December 627 or January 628, during which Muhammad brought his favorite and youngest wife, Aisha, also the daughter of Abu Bakr, his right-hand companion and first caliph (ruled 632-634). After the Muslims' victory, they journeyed back to Medina, one hundred and fifty miles to the north.
On their last halt, Aisha answered the call of nature, but lost her necklace in the dark, just as the army was setting out from their encampment early in the morning. She left her litter, returned to look for the necklace, found it, and went back to the camel bearing her litter. Meanwhile, the man leading her camel assumed she was in her curtained litter and led the animal away by the halter. Returning, Aisha saw that she was left behind. However, a handsome young Muslim named Safwan saw her and accompanied her back to Medina, though the Muslims and Muhammad's opposition, both, wagged their tongues at seeing the two youngsters entering the city together. Eventually, revelation came that Aisha was not guilty of any immorality.[6]
The historical context of Quran 24:2 thus establishes some ground rules against sexual sin, of which flogging one hundred times is one of the rules. However, the immediate context does not say that anyone was actually stoned to death.
The literary context – the verses that surround our target verse – establishes new domestic and marriage rules for the Muslim community. In v. 3 one who commits zina or a "sexual crime" may marry another "sexual criminal." This verse implies that a man or woman committed their "sexual crimes" outside of marriage – premarital sex. They were not married to anyone. This supports Hilali and Khan's translation, which says that the fornicator was to be flogged, while the adulterer was to be executed. However, v. 3 could imply that the adulterer and adulteress were to divorce and marry each other. So once again ambiguity prevails in the Quran as written, though the hadith will clarify it.
The Quran says in v. 4 that an accuser of chaste women of fornication must provide four witnesses. If not, then he should be whipped eighty times, and his testimony is to be rejected thereafter, unless he repents (v. 5) (see the next section). In vv. 6-9 the Quran establishes the rule for a husband who accuses his wife, but who does not have four witnesses. This is known as the law of Li'an, which comes from La'na. This word refers to a curse and is derived from a rule in these three verses that says that the husband and wife must swear four times and on the fifth invoke Allah's curse on himself or herself if he or she is lying.
The literary context, then, reveals that Allah through his prophet is setting forth more domestic and marriage rules in his Muslim community in Medina, and sometimes the penalty phase of the violated rules are harsh. But zina is not clarified with precision, and nowhere does the Quran say that it should be punished with death, but only beating.
Quran 24:4 and 13
Before we leave the section on the Quran, we should briefly tackle another problem. The next verse says to flog an accuser eighty times because he does not produce four witnesses to corroborate his testimony. This historical context of the verses was laid out in the previous section.
4 As for those who accuse chaste women of fornication, and then fail to provide four witnesses, strike them eighty times, and reject their testimony ever afterwards: they are the lawbreakers… 13 And why did the accusers not bring four witnesses to it? If they cannot produce such witnesses, they are the liars in God's eyes. (Quran 24:4 and 13)
Jurists say that when they require four witnesses, the punishment was nearly impossible to impose because it was nearly impossible to find four witnesses. The usual way was the confession (four times) of the sexual "criminal." Nonetheless, the punishment was still carried out in Muhammad's day.
THE HADITH
Recall that the hadith are the traditional reports of Muhammad's and his companions' words and actions outside of the Quran. See the article in the series, titled What Is Shariah? for more information.
One of Muhammad's cousins was Ibn Abbas, and he is considered a very reliable transmitter of hadith. He says that Umar, Muhammad's close companion and second caliph (r. 634-644), proclaimed that a verse in the Quran about stoning adulterers to death really existed, but somehow it had gone missing.
Umar, the second caliph (ruled 634-644 A.D.), is reported to have said from the pulpit in the mosque of Medina:
…Allah sent Muhammad with the Truth and revealed the Holy Book to him, and among what Allah revealed, was the verse of (the stoning of married person, male & female) who commits illegal sexual intercourse, and we did recite this verse and understood and memorized it. Allah's Apostle did carry out the punishment of stoning and so did we after him. I am afraid that after a long time has passed, somebody will say, 'By Allah, we do not find the verse of [stoning]… in Allah's Book,' and thus they will go astray by leaving an obligation which Allah has revealed. And the punishment of [stoning]… is to be inflicted to any married person (male and female), who commits illegal sexual intercourse, if the required evidence is available or there is conception or confession.[7]
In the next hadith, a Jew is shown covering the verse in the Torah (the first five books of the Hebrew Bible or Old Testament) about stoning adulterers to death. Muhammad probed further and demanded that he uncover the verse. Then he ordered the execution of the Jewish adulterer and adulteress. The man who was being stoned felt protective of his female lover, who was also being stoned, and covered her. It did no good. They were killed.
Narrated Ibn Umar: A Jew and Jewess were brought to the Prophet on a charge of committing an illegal sexual intercourse. The Prophet asked the Jews, "What do you (usually) do with them?" They said, "We blacken their faces and disgrace them." He said, "Bring here the Torah and recite it, if you are truthful." They (fetched it and) came and asked a one-eyed man to recite. He went on reciting till he reached a portion on which he put his hand. The Prophet said, "Lift up your hand!" He lifted his hand up and behold, there appeared the verse of (stoning of the adulterers to death). Then he said, "O Muhammad! They should be stoned to death but we conceal this divine law among ourselves." Then the Prophet ordered that the two sinners be stoned to death and, and they were stoned to death, and I saw the man protecting the woman from the stones.[8]
The next short hadith says that a Jew brought a Jewish adulterer and adulteress to Muhammad. He ordered them to be stoned to death near the mosque, where Muslims offered funeral prayers.
Narrated Abdullah bin Umar: The Jew brought to the Prophet a man and a woman from amongst them who have committed (adultery) illegal sexual intercourse. He ordered both of them to be stoned (to death), near the place of offering the funeral prayers beside the mosque."[9]
In another hadith an adulterer was stoned to death, but only after he confessed his crime four times. After the "criminal" was stoned to death, Muhammad spoke well of him and offered his funeral prayer.
Narrated Jabir: A man from the tribe of Aslam came to the Prophet and confessed that he had committed an illegal sexual intercourse. The Prophet turned his face away from him till the man bore witness against himself four times. The Prophet said to him, "Are you mad?" He said "No." He said, "Are you married?" He said, "Yes." Then the Prophet ordered that he be stoned to death, and he was stoned to death at the Musalla [prayer room]. When the stones troubled him, he fled, but he was caught and was stoned till he died. The Prophet spoke well of him and offered his funeral prayer.[10]
That hadith shows that not just anyone should be stoned to death. He has to confess. A woman has to confess or turn up pregnant.
We can now discuss the fornicator or the unmarried person who has sex. He is to be flogged and then exiled for a year.
Narrated Zaid bin Khalid Al-Jihani: I heard the Prophet ordering that an unmarried person guilty of illegal sexual intercourse be flogged one-hundred stripes and be exiled for one year. Umar bin Al-Khattab [the second caliph] also exiled such a person, and this tradition is still valid.[11]
Another hadith expands on the previous one:
Ubada b. as-Samit reported: Allah's Messenger (may peace be upon him) as saying: Receive (teaching) from me, receive (teaching) from me. Allah has ordained a way for those (women). When an unmarried male commits adultery with an unmarried female, (they should receive) one hundred lashes and banishment for one year. And in case of married male committing adultery with a married female, they shall receive one hundred lashes and be stoned to death.[12]
But sometimes an unmarried man has sex with a married woman. How are they to be punished?
Narrated Abu Huraira and Zaid bin Khalid: A bedouin came to the Prophet while he (the Prophet) was sitting, and said, "O Allah's Apostle! Give your verdict according to Allah's Laws (in our case)." Then his opponent got up and said, "He has told the truth, O Allah's Apostle! Decide his case according to Allah's Laws. My son was a laborer working for this person, and he committed illegal sexual intercourse with his wife, and the people told me that my son should be stoned to death, but I offered one-hundred sheep and a slave girl as a ransom for him. Then I asked the religious learned people, and they told me that my son should be flogged with one-hundred stripes and be exiled for one year." The Prophet said, "By Him in Whose Hand my soul is, I will judge you according to Allah's Laws. The sheep and the slave girl will be returned to you and your son will be flogged one-hundred stripes and be exiled for one year. And you, O Unais! Go to the wife of this man (and if she confesses), stone her to death." So Unais went in the morning and stoned her to death (after she had confessed).[13]
Note that the translator of Bukhari's hadith inserts the parenthetical comment about confessing her sin. Stoning to death for adultery was not imposed lightly, but the accused must confess to his or her crime. In that case the unmarried man is to be flogged one hundred times and sent into exile for a year, while the married woman is to be stoned to death.
All of these hadith confirm Hilali and Khan's expanded translation, which says the fornicator should be flogged, while the adulterer should be executed.
Recall that Quran 24:4 and 13 discuss the requirement that someone accusing a woman of illicit sex must bring four witnesses to corroborate his accusation. The context is when some people accused Aisha of this. A few hadith explain, in the compendium that brings together the six authentic hadith collections:
Ibn 'Abbas told that a man of B. Bakr b. Laith came to the Prophet and made a statement four times that he had committed fornication with a woman, so he had a hundred lashes administered to him. The man had not been married. He then asked him to produce proof against the woman, and she said, "I swear by God, messenger of God, that he has lied." Then he was given the prescribed number of lashes for falsehood. Abu Dawud transmitted it.
Aisha said: When my vindication came down the Prophet mounted the pulpit and mentioned that. Then when he came down from the pulpit he ordered that the two men and the woman should be given the prescribed beating. Abu Dawud transmitted it.[14]
Aisha was vindicated, and the accusers were flogged eighty times.
CLASSICAL SHARIA LAW
Sharia law is based on the Quran and hadith. See the article in the series, titled What Is Sharia? for more information.
Recall that zina means illicit sex.
Ibn Rushd (d. 1198) studied all the schools of law up to his time, so we let him summarize their opinions. He writes:
Fornicators, for whom punishments vary according to their categories, are of four kinds: muhsan (married) or thuyyab (non-virgins); abkar (virgins); free or slave; and male or female. The Islamic hudud [punishments] are of three kinds: rajm (stoning to death); jald (whipping); and taghrib (exile). The Muslim jurists agreed about free thayyib muhsans that the hadd [prescribed punishment] for them is rajm, except that a group of those who follow their own whims held that the punishment for every fornicator is a hundred lashes. The majority inclined toward rajm because of the authentic traditions supporting it. They restricted the (general meaning in the) Book [the Quran] with the sunna [traditions or hadith] that is, the words of the Exalted, "The adulteress and adulterer, scourge ye each one of them (with) a hundred stripes. And let not pity for the twain withhold you from obedience to Allah, if ye believe in Allah and the Last Day. And let a party of believers witness their punishment." They differed on two points. First, whether stripes are to be awarded along with stoning. Second, about the conditions of ihsan [marriage].[15]
Ibn Rushd goes on to say that the married fornicators are to be stoned to death, but at least one school of interpretation says that stoning comes after the stripes. The non-virgin having illicit sex with another non-virgin can be punished with stoning or one hundred stripes, or the sex act could lead to marriage because sexual intercourse is the seal of marriage. The virgin having sex with another virgin leads to flogging or exile for a year or both. A female married slave gets fifty stripes (Quran 4:25), but a female unmarried slave may get fifty stripes; or after repeating the offense she is to be sold, even if the amount of her sale is small. A male slave can get the same punishment or one hundred stripes. Presumably the reason that slaves were not executed was that their death would diminish their owners' assets.
Next, Ibn Rushd says that to prove zina, confession of the accused is needed, but how many times varies in the schools of law. One confession may be sufficient, or four may be necessary. If the adulterer or fornicator is caught in the act, it must be witnessed by four Muslim men (Quran 24:4). Most schools of law say that if a man or woman confesses to his or her crime, he or she may retract it. If a woman is coerced (raped), no punishment is imposed, but she has to prove the coercion.
Then Ibn Rushd describes the requirements of the four witnesses to the fornication or adultery.
The jurists agreed about the proof of zina through testimony that it is proved through testimony and the stipulated number of witnesses is four as distinct from the testimony for the rest of the rights… [Quran 24:4 is quoted] The condition for the witnesses is that they should be adl [just]. A condition for the quality of the testimony is that it should describe the contact of the sex organs and that it should be rendered in explicit, not figurative (insinuating), language. The majority maintain that such testimony should not be contradictory with respect to time or place, except for the well-known issue raised by Abu Hanifa about the angles, which requires that each of the witnesses should have seen them from a separate corner of the room (for example) and it should not be the same corner from where another witness has viewed the offence. The reason for the disagreement is whether testimony relating to different locations can be combined into one as is the testimony relating different times. They agreed that it cannot for a dissimilar location is the same as dissimilar timing and the apparent purpose of the law is to achieve greater certainty in the proof of this hadd [prescribed punishment] more than any other.[16]
Witnessing it to the point of describing the sex act is extremely rare. This is why some jurists do not impose the punishment on the fornicator or adulterer unless he or she confesses.
CAN ISLAM BE REFORMED?
For our purposes, a reformist for the reform of Islam, while a traditionalist believes Islam, revealed in the Quran and presented in the authentic hadith, is fine the way it and defends it. Usually, religious leaders are selected in this section, but sometimes a Muslim who is in the public eye is included too.
Traditional Interpretations
The Assembly of Muslim Jurists of America (AMJA) is made up of religious scholars, most of whom have their doctorates in Islamic law or other Islamic subjects. They are qualified to issue fatwas (religious rulings or opinions). The site uses the write-in Question and Answer format.
In the first example, a question was written to them about missing verses in the Quran, which may have contained the verse about stoning adulterers to death. The scholar explains the absence, but affirms that this punishment was practiced by original Islam.
Here is his reply about the possible stoning verse:
As [to] lacking… the punishment of stoning adulterers till death, that is correct as the recitation of this [verse] was abrogated from the Quran, while its rule is not abrogated. The authentic sunnah of the Prophet… emphasized that he… commanded his eminent companions to stone until death those who confessed committing adultery (married and not single people).[17]
Thus, the AMJA religious scholar distinguishes between married people having illicit sex with someone other than his or her partner, and singles having sex. These scholars make this distinction because that is the weight of the evidence in the hadith.
This Q & A summarizes Islamic law succinctly:
Question: if a woman who is not married commits zina, does she get stoned? Or does she get a beating?
The scholar replies:
According to Islamic Penal Law, whoever commits fornication (zina) while being sane, adult, in possession of free will and single (someone who has never been married and had sexual intercourse before), he or she must be lashed 100 times and deported from the local area for one year, provided that the application of this system of punishment is the sole right and duty of the Muslim state (should one exist); individuals are not authorized to implement it.
Widows, divorcés, and ex-married people are not considered single in Islamic law. Adultery (not fornication in this case) is penalized by stoning the criminal (male or female) until death.[18]
A questioner asks AMJA what the requirements are for convicting a sexual criminal. The scholar explains:
Convicting someone [of] adultery or fornication necessitates either confession by the person himself, or otherwise, by an eyewitness testimony of four sane adult male Muslims who have seen the actual crime with their naked eyes. Other than that [it] is not a valid witness. If four witnesses testified that they have witnessed the crime, while only one of them knew about it by hearsay; all of them must be lashed eighty times as what they did is counted as slandering[19]….
This passage is based squarely on Quran 24:2-4 and 13. The sharia scholar assures his reader that convicting people of zina is extraordinarily difficult. But the penalty is still valid.
Reformist Interpretations
The organization Sisters in Islam (SIS) is based in Malaysia, and its members argue strongly against imposing sharia on them and Malaysian society. Recall that hudud means Islamic punishments as well as the section of sharia that covers them. Note that the excerpt refers to Quran 24:4, which says that four witnesses are needed to prove illicit sex (zina). Can a raped woman provide four eyewitnesses?
Zainah Anwar writes with a clear tone of frustration and defiance:
I would be planning over the next few months on how to build public opinion to hold the Government accountable and ensure that whatever alternative national security or public order laws that might emerge will uphold my fundamental freedoms.
I would want to make it politically very costly for the Government if it falls short or back-pedal on the promises of democratic reform it has made.
Instead, what do we get? An offer of the hudud law and its grim serving of chopped-off Muslim hands and feet, and stoning to death! What kind of future is that? . . .
Who wants to live in such a society when your neighbour, your friend, or your fellow citizens are subject to a cruel legal system?
How could I live with my conscience if I were a Chinese who has witnessed a rape, but my infidel evidence would not be accepted under the hudud law? No, I cannot keep quiet and accept such a law.
"Muslims who are not experts on Islam should shut up." Then please take religion out of the public sphere and make it private between us and God. But not when I can be flogged 80 lashes for qazaf (slanderous accusation) if I report I have been raped and am unable to produce four pious and just Muslim males who witnessed the rape.
On top of that, my rape report could also be taken as confession of illicit sex and I could be charged for zina. And even if I could produce the four men, I would be torn apart wondering why four supposedly pious and just men watched me being raped.
And God forbid if I was single and became pregnant because of the rape. I would be charged for zina and lashed 100 times because my pregnancy is regarded as evidence of illicit sex.
The burden is on me, not the state, to prove I was indeed raped. The evidential requirements make this impossible. And the accused rapist will be free from any hudud punishment by simply denying the rape.[20]
Anwar uses reason and advocates the separation of religion from the public sphere. But it is not religion in public that is the problem; it is sharia, or at least the mixture of civil laws and punishments and religion. This toxic mixture needs to be removed from society completely. In any case, she does not appeal to the Quran and the hadith; otherwise she would lose the debate on textual grounds. But would she lose it in the court of public opinion?
Mustafa Aykol is a Turkish journalist who argues for a moderate Islam. He replies to a column by a certain Mr. Bekdill, which Aykol considers simplistic.
…Yet there are other corporal punishments in the Quran – such as lashes for adultery or the false accusation of it and the amputations of hands for theft. One way to understand these is the literalist way, which not only the fundamentalist Muslims, but also many critics of Islam see as the only way. (Mr. Bekdil, for example, thinks "Quranic commandments come in one flavor only… about do's and don't's.")
But, in fact, there has always been a more figurative method of interpretation as well, which focuses not just on the wording, but also on the intent of the scripture. This tradition realized that the Quranic commandments on social and legal matters were bound by their context, and a change in the latter could change the whole picture. Caliph Umar created the first precedent by declining to implement some Quranic commandments about the governance of land for the simple fact that the conditions that made them necessary in the first place had changed. In the 14th century Imam Shatibi of Spain built a whole theory about this in his book on the "Maqasid al-Sharia," or the Purposes of the Sharia.
Based on such ideas, some corporal punishments were rendered obsolete in the more flexible schools of Islamic law, such as the Hanafi one, which the Ottoman Empire subscribed to. Under Sultan Mehmed II, the conqueror of Istanbul, the amputations of hands for theft was replaced by beatings or monetary fines graded according to the economic status of the culprit. Stoning was also made very hard to implement and is known to have happened only twice during the six centuries of Ottoman rule.
In the modern era, Islamic scholars such as the late Fazlurrahman have been arguing that Islamic law should be totally reinterpreted within this perspective. At the time the Quran was revealed, these scholars remind, corporal punishments were the standard norm in the whole world. Moreover, it was impossible to give any other form of penalty in 7th century Arabia, where you simply had neither any prison nor any bureaucracy to establish and run one. Yet the new world we live in, these scholars say, needs new rulings, which will uphold the "purposes" of the Sharia by changing its wording.[21]…
Aykol goes on to talk about archaic laws in certain states in the USA, and how they are no longer followed today. Islam can do the same. The problem, however, is that many jurists in the Islamic world do not leave sharia laws in the past, but try hard to implement them today or actually implement them. Most importantly, can a Turkish journalist persuade scholars like the ones at AMJA?
The 2015 Study Quran commentators translate 24:2 as all sexual misconduct, including fornication and adultery. Then their commentary on the verse cites or summarizes various ahadtih, many of which command stoning adulterers, that reveal how inconsistent they are. Since they're inconsistent, the Quran takes priority. It does not command stoning, but lashing.
That's an improvement for Muslim women today, who are the main target of stoning. However, in the commentators' haste they neglected to point out that even lashing is too harsh for sexual sin in the world today.
This article about stoning adulterers and flogging fornicators would not be necessary, were it not for religious scholars and entire Islamic governments trying hard or actually implementing these old laws.
They refuse to leave them back in the past because two purposes seem to justify the punishments: deterring people from committing a "sexual crime," and preserving the family by purging it of unrighteousness.
However, while the severe punishments may deter some people, the punishments may drive the "crime" further underground. As to preserving the family, the stoning punishment does just the opposite. Depriving children of one of their parents by stoning him or her to death breaks down the family and can only cause irreparable damage to the children, once they learn why their father or mother will never return. Children need both parents, even if one of them has not reached sinless perfection. And once someone is dead, there is no hope of the couple's restoration.
Original Islam was influenced by its culture. The geographer Strabo notes that the ancient Arabs executed adulterers. Surely Muhammad borrowed from this ancient custom.
The influence of Muhammad's culture on him is more direct. When he reached Medina in A.D. 622, he found a large community of Jews thriving there. They took the Torah seriously. The hadith reveals that Jews brought some adultery cases to him. He asked what their law says. At first they tried to cover up the stoning verse, but he found out what it says. Though the Quran metes out only flogging for zina, the hadith on the matter of adultery and fornication (unmarried sex, for our purposes) is clear. Adulterers are to be stoned to death, and fornicators are to be flogged. The Torah at least partly influenced him.
He rarely met Christians–certainly none who knew what they were talking about. So we can only speculate about how Islam would have evolved differently if a large community of Bible-educated Christians had been thriving in Medina. Biblical Christianity teaches that adultery and fornication are sins forgivable by love and restoration, not crimes punishable by death or stripes. Surely these Christians, if they understood the complicated relationship between the Old and New Testaments, would have guided Muhammad down a better path.[22] But there is no need to speculate, but to face reality. He did not meet Bible-educated Christians.
The Quran is not universal and timeless in every word, but absorbs its culture just as every book does. By comparison, certain verses in the Old Testament decree commands like waging wars on pagans, and punishments like stoning. They reflect the historical context 3,500 years ago, so we do not (or should not) bring these specific commands and punishments into the modern era. They are cultural, not timeless and universal.
Likewise, Islam must leave behind the cultural custom of flogging and stoning "sexual criminals," back in the seventh century. Some aspects of Muhammad's example and words no longer apply. These Islamic religious scholars' view of the eternality and absolute inspiration of every single law in the Quran needs to be updated to keep up with the best of scholarship.
And one thing is certain. Modern societies that have Muslim populations in them should never allow sharia courts of arbitration to exist as if they are benign. They are not. If a Muslim needs to find out about harmless aspects of sharia like how to hold the Ramadan fast or which foods to eat or avoid, he can ask his Imam in private. In all civil punishments, he must follow the modern laws of the land, where applicable.
Sharia courts are therefore irrelevant and unnecessary for sexual sins, which are not crimes.
ARTICLES IN THE SERIES
1 Introduction to a Series on Islamic Sharia Law
2 What Is Sharia?
3 Mosque and State in Early Islam
4 Jihad and Qital in the Quran, Traditions, and Classical Law
5 Slavery in the Quran, Traditions, and Classical Sharia Law
6 No Freedom of Religion in Early Islam
7 No Free Speech in the Quran, Traditions, and Sharia Law
Marital, Domestic and Women's Issues
8 Women's Status and Roles in Early Islam
9 Domestic Violence in Early Islam
10 Divorce and Remarriage in Early Islam
11 Marriage to Prepubescent Girls in Early Islam
12 Polygamy in the Quran, Traditions, and Classical Sharia Law
13 Veils in the Quran, Traditions, and Classical Sharia Law
Sexual "Crimes" and Punishments
15 Homosexuality in Early Islam
16 Thirty Shariah Laws
17 How to Judge Sharia
18 Why Sharia Is Incompatible with American Values
More Punishments
Islam's Punishments for Drinking and Gambling
The Law of Retaliation in the Quran and Early Islam
Thieves, Give Muhammad a Hand!
Crucifixion and Mutilation in the Quran
[1] "Stoned to Death with Her Lover: Horrific Video of Execution of Girl, 19, Killed by Afghan Taliban for Running Away from Arranged Marriage," Jan. 27, 2001, the Daily Mail. The bracketed insertion is mine.
[2] Strabo, the Geography of Strabo, vol. 8, trans. Horace Leonard Jones, Loeb Classical Library, (New York: Putnam, 1930), 464.
[3] Abdul Mannan Omar, Dictionary of the Holy Quran, (Hockessin: Noor Foundation, 2004), 236. Zina appears nine times in the Quran, in these verses: 17:32; 24:2-3; 25:68; 60:12, but the contexts outside of Chapter 24 do not clarify the word's specific meaning, for it could be translated as "illicit sex" of any kind, whether unmarried or married.
[4] M.A.S Abdel Haleem, the Quran, 2nd ed., (New York: Oxford UP, 2010). If readers would like to see various translations of the Quran, they may go to the website quranbrowser.com and type in the references.
[5] Muhammad Taqi-ud-Din al-Hilali and Muhammad Muhsin Khan, the Noble Qur'an (Riyadh: Darussalam, 2002).
[6] Bukhari. Commentary (Chapter 24), 6.4750. The hadith are searchable online at the Center for Muslim-Jewish Engagement, under the aegis of the University of Southern California.
[7] Idem, Punishments of Disbelievers, 8.82.817. Cf. 8.82.816.
[8] Idem, Oneness of Allah, 9.93.693, with minor edits. The parenthetical comments were inserted by the translator. Cf. Commentary, 6.4556; Virtues and Merits of the Prophet 4.56.829; Punishments of Disbelievers 8.82809.
[9] Bukhari, Funerals, 2.23.413, with small mechanical edits. The translator inserted the parenthetical comments.
[10] Idem, Punishment of Disbelievers, 8.82.810, with small mechanical edits. Bracketed comment is mine.
[11] Idem, Punishments of Disbelievers, 8.82.818. The bracketed comments were inserted by me. Cf. ibid. 8.82.819.
[12] Muslim, Punishments, 4191. The translator inserted the parenthetical comments.
[13] Bukhari, Punishments of Disbelievers, 8.82.821. The translator inserted the parenthetical comments.
[14] Mishkat al-Masabih, Prescribed Punishments, trans. James Robson, vol. 2, (Lahore: Sh. Muhammad Ashraf, reprinted 1999), 763, my insertion in brackets.
[15] Ibn Rushd, the Distinguished Jurist's Primer, vol. 2, trans. Imran Nahsan Khan Nyazee, (Reading: Garnet, 1996), pp. 523-524. The insertions in parentheses are the translator's; the ones in brackets are mine. The translator uses "fornication" or "adultery" as the translation of zina.
[16] Ibid. vol. 2, pp. 529-30, my bracketed insertions.
[17] Main Khalid al-Qudah, "200 Verses Missing from Sura Azhab?" Question ID or fatwa no. 83594, Jan. 22, 2011, amjaonline.com. Small mechanical edits were done. The bracketed comments are mine; the parenthetical ones were Khalid al-Qudah's.
[18] Idem, "Women Committing Zina," Question ID or fatwa no. 78320, March 23, 2009 amjaonline.com, Small mechanical edits were done.
[19] Idem, "The Four Witnesses in Adultery Cases Must Be Eyewitnesses?" Question ID or fatwa no. 84065, March 23, 2011, amjaonline.com, my bracketed insertions. Small mechanical edits were done.
[20] Zainah Anwar, "No Hudud Please, We're Malaysians," October 2, 2011, Sisters in Islam, with small edits. Her emphasis on the word "stoning."
[21] Mustafa Aykol, "Adultery, Stoning, and Myths about Islam," September 7, 2010, hurriyetdailynews.com.
[22] This series of articles does not contrast Christianity and Islam. But readers may be curious about it. If so, they may click on my earlier article about adultery and fornication (scroll down for the Biblical view). For more discussion on the complicated relationship between the Old Testament and New Testament, see my studies: How Jesus Christ Fulfills the Law: Matthew 5:17-19 and How Christians Should Interpret the Old Testament and How to Forgive Adultery and Fornication. Biblical Christianity says that Christ has fulfilled the Old Testament and its harsh rulings (Matt. 5:17-20). We do not need to impose the old laws on people today. These laws may have been valid back then, but we live under the New Covenant.
This entry was posted in World Religions and tagged Does the Quran say to stone adulterers, Punishment for adultery and fornication in Islam and Quran, Stoning for adultery in the traditions hadith by James M. Arlandson. Bookmark the permalink.


Does anyone have an example of how bottle's should be labeled for competition?
If you go to meadfest.com you'll see the entry form link there. Generally most competitions want you to fill out the form and rubberband the label to the bottle.
Click here for the meadfest entry forms as an example.
what do you think of my label?


Acrylic primer designed to promote adhesion of STOPGAP levelling compounds to non-absorbent subfloors. STOPGAP P141 contains recycled uPVC pulver that dries to a hard, textured surface to enhance bond performance.
It is suitable for use over normal underfloor heating and is pigmented yellow for visual control of coverage uniformity.
Non-absorbent Ceramic tiles, treated power floated concrete and STOPGAP waterproof surface membranes.


text:
MUSIC VERSE COMPETITION
An international music competition for participants across the globe
Enter to get your talent in front of #1 artists and music managers, a chance to win prizes, and perform at the next C-Tribe Music Festival.
Six Week Competition
Six action packed weeks of elimination-style competition to earn a spot in the top 5
Your own Custom NFT
Top 5 winners will receive their own custom NFT that will be made available for sale
Up to $1000 in prizes
Win cash prizes and other products provided by our sponsors
Music Verse Overview
JOIN THE C-TRIBE VILLAGE
Connect with peers, gain access to exclusive releases, and keep in touch with the latest news
JOIN DISOCRD
A NEW TAKE ON HELPING CREATIVE MUSIC TALENT
WHAT IS THE VERSES COMPETITION?
The C-Tribe MusicVerses Competition is a unique global event designed for solo artists, bands, and singers, signed or unsigned, looking for an opportunity to feature their talent on a global stage. The goal of C-Tribe MusicVerses Competition is to find an outstanding, talented performer: a band, singer, or solo artist…a newcomer or veteran…raw or polished – the "gem" that needs to be discovered. C-Tribe Music Competition is looking for the total package.
The competition consists of an elimination-style competition that's voted on by the social media. Five finalists will be selected to perform at the C-Tribe Music Main Stage on November 13th, 2021. The grand prize winner will take home $500 and their custom NFT that will be available for purchases on a digital marketplace.
WHAT ARE THE STAKES?
There will be six weeks of jam-packed action taking place on the C-Tribe x Music Instagram page, and the five finalists will have a chance to perform in front of our judges at the C-Tribe Music Festival in November.
READ RULES
IMMERSED IN PERFORMANCES
The C-Tribe x Music Main Stage also aims to bring delegates together for a series of performances meant to empower the next
generation of emerging musicians. It promises to bring an eclectic mix of genres and attendees.
Sign-up to attend the C-Tribe Music Main Stage LIVE.
WHAT IS C-TRIBE X MUSIC?
C-Tribe x Music is a collisions festival and conference that aims to provide artists, industry professionals, & music lovers from all over the world access to industry training, professional development, and a strong peer network to support their growth, artistry and career development.


text:
Multiple Perspectives in Detroit Zoo Discussions (video)
(Crystal A. Proxmire, Feb. 13, 2015)
There are several balancing acts in play as the Detroit Zoo figures out how to provide the right blend of entertainment and fundraising with their mission of providing a good home to animals, and how to be good neighbors with the Royal Oak and Huntington Woods residents who live around the property.
Zoo officials met with a group of about 50 residents Thursday to give an update on construction projects and events, and to talk about issues like noise and aesthetics.
The main complaint from residents has been noise. Not the noise from the animals, but the noise from people at special events and the noise from the Dinosauria exhibit that comes around every few years. Dinosauria is returning this summer, making residents particularly nervous.
Huntington Woods resident Robert Conway called the constant roaring of dinosaurs "psychologically torturous." The exhibit features dinosaurs that move and roar, including some that spit and snort. "I have lived in Huntington Woods since 1999 and I have been a member of the zoo until the first summer of Dinosauria. I have not been back since," Conway said.
Detroit Zoo Chief Operating Officer Gerry VanAcker spoke about the zoo's efforts to reduce the impact of noise on neighbors. Since 2011 they have added volume controls to speakers in the Dinosauria exhibit, added a hedge to the north parameter of the exhibit to act as a buffer, and removed the bass from several of the dinosaur tracks. In the coming exhibit this summer they will be putting motion sensors on some dinos so that it is not a looping track all day long, but only roaring when people are near. They are also in the process of pricing out industrial grade sound baffling.
Though Dinosauria seems to be the biggest noise offender, residents are concerned about the growing number of special events and the sound that comes along with them. Several events in the summer go until 10:30 at night, and include concerts. Conversely, the zoo hosts several charity walks and runs that can begin as early as 6am, and have people with speakerphones making announcements.
Jennifer Howard and her family live on Lafayette in Royal Oak. "I'm on the other side of Woodward and my little one here has woken up from concerts. That noise is traveling across Woodward. We can hear all the dogs barking all day long at adoption events, and all the announcements to the runners," she said.
Several residents noted the increased number of special events as being part of the problem. Aaron Retish counted the number of scheduled hours of amplified noise as over 1,000 hours in the course of the summer, not including events that come in as rentals.
"People have suggested I should not have moved into my house because a zoo makes noise," said Huntington Woods resident Rosemary Wallock. "I started complaining in October 2006. The occasion was Octoberfest, which was a very noisy event… I've been here 39 years. And for a long time it was animals, people, and children. That was it. Even the loud squacky peacocks I can handle… It's the number of activities and events [that is the concern]"
When asked about the increased events, VanAcker said they account for about 15% of the Zoo's traffic, and that he did not foresee scaling back. Not only do the events bring much-needed funds to the zoo, they bring people in. "[For] cultural institutions, society now demands that we're not just looking at art or animals, they are places where people want to gather," VanAcker said. "That's probably not going to change because that's what society requires…When you're so bound to technology all day, people want to go places where they can just be around other people."
To mitigate special event noise, the Detroit Zoo has moved the stages and turned them so noise is directed towards the expressway instead of the neighborhoods. They have moved the starting point of walks and runs to the back of the zoo. And they have added a provision to contracts that requires those who rent the zoo for events comply with Royal Oak noise ordinances. The zoo operates under Royal Oak noise ordinances because Huntington Woods does not currently have an ordinance that applies to the zoo. The zoo has property that is in both cities.
Another issue for residents is the division between the Detroit Zoo and the communities, literally. Residents along Huntington in particular came to speak about a plastic barrier put up along the fence so that neighbors and passersby could no longer see into the zoo. People who spoke were proud to say which animals were their neighbors. Those who lived near the camels, the tigers and the lions said they preferred that the plastic be removed.
VanAcker said the screens were to block unsightly zoo operations, such as truck loading and unloading and manure shoveling, but that he'd consider doing a survey of residents to see if the barrier was preferred or not. Of those in the room, over a dozen raised their hands when a resident asked if the plastic should come down.
Parking was another complaint, with residents in the neighborhoods upset that people parked on their streets to visit the zoo.
Another concern was a train that has been discussed for taking families around the zoo. This project is in the early stages of planning, but VanAcker said that it would be an electric train with rubber wheels, much quieter than the trains people envision with the metal wheels, steam or coal engines, and clanky metal rails.
The discussions kept an overall productive tone, with residents and zoo officials in agreement of wanting to work together. Email addresses were collected and the zoo plans on having follow up meetings through the summer to get feedback on how their solutions are working out.
Previous: https://oaklandcounty115.com/2015/02/04/detroit-zoo-to-meet-with-residents-about-events-and-noise-feb-12/
https://oaklandcounty115.com/2015/02/12/former-detroit-zoo-elephant-wanda-dies/


Found 10 webcams in Malaga municipality (Andalusia, Spain, Europe). Watch weather web cameras (photo and video) showing live images. Coastal & inland web cams.
Description: Camera live, sight of Paseo Antonio Machado. Webcam beaches showing weather images updated. Landscapes real time web cams.


text:
« Scraping to find what left and right have in common | Biden, the Democrats, and the Jewish vote »
Lindsey Graham's opponent Jaime Harrison taught 'lobbying school' in Islamist Turkey
Until now, the most notable thing about Jaime Harrison was his record-breaking fundraising for a Senate candidate: $57 million in the final full quarter of the year before the election. In a state with just over 5 million people, that's a massive amount of money, enough to dominate television, radio, and other media advertising.
Now we understand that Harrison has some very powerful and rich friends. The only catch is that they are in Istanbul, the dominant city of Islamist Turkey. These are foreign people whom Harrison has taught how to influence American politics. (Didn't Democrats spend the last five years telling us how evil it is for foreigners to try to influence our elections?) Collin Anderson reports in the Free Beacon:
South Carolina Democratic Senate nominee Jaime Harrison was a featured speaker at a 2015 foreign "lobbying school" in Istanbul, Turkey.
Anderson links to a 2015 press release that explains:
The 2015 Lobbying School with the theme "Communications and Street Smarts Program" gathered company executives, students, media practitioners, diplomats, professionals and academicians in Istanbul, Turkey from 9:30 am to 6:30 pm each day for the training duration. (snip)
After an opening gala, these topics were discussed: "Lobbying School 101; Lobbying: bridging the nexus between policy and politics; Lobbying on Turkish Issues; Human rights lobbying at the UN; How to successfully lobby for your industry; Coordinating PA Work Between Brussels and Member States; Moderated talk on Administrative Law; Unique steps in developing an education lobbying effort; Effective Decision-Making; Street Smarts: political fundraising skills; Lobbying School 102; The Five Key Characteristics of an Effective Lobbyist; Bringing street smarts to international debates; The art of Street Smarts in Business; The Art of Negotiations; Moderated talk on Negotiations and Dispute Resolution; Public Speaking and Charisma; Using Public Opinion and Answering Questions in Professional Settings; The Tools for Business Correspondence and Note Taking; The art of effective legislative communications;Successful ways to lobby your case as well as Women's Leadership and Motivation".
Human rights lobbying would be of great interest to the Turks. Consider Human Rights Watch's country report on Turkey:
Turkey has been experiencing a deepening human rights crisis over the past four years with a dramatic erosion of its rule of law and democracy framework…. [The consolidation of President Recep Tayyip Erdoğan's unchecked power continued ...] (snip)
Executive control and political influence over the judiciary in Turkey has led to courts systematically accepting bogus indictments, detaining and convicting without compelling evidence of criminal activity individuals and groups the Erdoğan government regards as political opponents. Among these are journalists, opposition politicians, and activists and human rights defenders. The largest group was people alleged to have links with the movement run by US-based Sunni cleric Fethullah Gülen, whom the government accuses of masterminding the July 2016 coup attempt.
On October 9, after the US withdrawal of troops from the region, Turkey invaded territory in northeast Syria, assisted by Syrian non-state actors.
It would be illegal for foreigners to donate to Harrison's campaign, of course, but donations less than $200 don't have to be accounted for.
One person who is not troubled by teaching a tyrannical Islamist country's movers and shakers how to manipulate our political system is Barack Hussein Obama:
In a rare foray into a South Carolina political race, former President Barack Obama taped a new ad supporting Democratic U.S. Senate challenger Jaime Harrison in his bid to unseat Republican incumbent Lindsey Graham.
The 60-second spot airing in South Carolina features Obama speaking direct-to-camera about how the Palmetto State helped propel him to the Democratic presidential nomination in 2008.
"Now you have the power to make history again by sending Jaime Harrison to the U.S. Senate so he can bring some change to South Carolina," Obama says.
I wonder how South Carolina's many black preachers feel about a candidate teaching Islamists how to manipulate our political system.
Hat tip: Ed Lasky.
Photo credit: YouTube screeen grab via Post & Courier.


Join us at STM Week 2018 - starts tomorrow!
Glimpse the Future of Data in just 6 days time - join us at ConTech Live!
What technologies do industry leaders think publishers must embrace to stay in business? Sneak preview of ConTech Live next month!
Artificial intelligence has arrived, but are we ready?
Using AI and machine learning to unlock the value of your content!
New Digital Models – Challenge or Opportunity?


(18-05-2015 08:15 PM)muffinzx Wrote: So I tried downloading Sky Factory 2 and I select the very first version, all optional mods, and the it dose not download and this is the final error code. Failed to download file launchwrapper-1.11.jar from all ATLauncherservers. Copied to FailedDownloads Folder. Cancelling install!
Current time: 20-04-2019, 04:48 AM Powered By MyBB, © 2002-2019 MyBB Group. Theme created by Justin S.


text:
AT&T discontinues U-verse app for Windows Phone 7
By Daniel Rubino
We don't happen to use AT&T's U-verse service (opens in new tab), which allows users to download and watch some big name TV shows on their Widnows Phone. The service is part of the whole U-verse package from AT&T and while the app only had some mediocre reviews, it was still a nice option if you had AT&T's internet and TV package at home. And even if you didn't have their services, you could still opt in for $9.99 a month.
But it looks like it wasn't meant to last as AT&T is discontinuing the app effective November 20th for reasons unspecified. Perhaps it is because they have a Windows Phone version coming out and they don't want to support both or maybe not many people used it—we'll never know.
Source: AT&T; Thanks, everyone, for all the tips!
Daniel Rubino
Daniel Rubino is the Editor-in-chief of Windows Central, head reviewer, podcast co-host, and analyst. He has been covering Microsoft since 2007 when this site was called WMExperts (and later Windows Phone Central). His interests include Windows, laptops, next-gen computing, and for some reason, watches. Before all this tech stuff, he worked on a Ph.D. in linguistics, watched people sleep (for medical purposes!), and ran the projectors at movie theaters because it was fun.
I hope we can still access the app. I use it to set my DVR when im on the go and is very useful........
have you been able to use it lately? About 2 weeks ago it started to give me errors and won't let me sign in. I haven't been able to use it for a while....
I don't care if you take away the app, but you BETTER give me a viable mobile website option then!!!
...... and just to see what is on as well. I used the U-Verse app to make sure the families favorite shows were covered and tell what was on when. Seems a little unsettling the Premier Windows Phone carrier is cutting the cord on this.
All the more reason to buy a WP 8. This may be the beginning of the end for WP 7 support.
Doesn't buying a WP8 phone simply reward AT&T for their behavior?
Hello? WP forum..
Same here...they web site doesn't work well on mobile browsers for managing the DVR.
Will it be available for 7.8 phones? And will it be on 8.0 phones?
Ok, I've been anxiously awaiting the pre-order announcement for at&t and had a mini-heartattack when refreshed browser to see at&t at the top of WPCentral! And it was about a service that AT&T doesn't offer in many area's around me to begin with.
who uses U-Verse?
Now who uses U-Verse and a Lumia 900?
I use Uverse and have a Lumia 900 (soon to be 920). Granted I rarely use the WP7 uverse app, the iPad one is amazing. I am hoping they bring over the iOS uverse app to W8 and WP8. SmartGlass and the Uverse app would be awesome to have on the Surface.
Not even close on my Focus S either!
I do, seriously.
I do and I use it alot just because I was able to set my recordings on the go.
There is no U-verse in my city, and I dropped AT&T as my ISP anyway when they capped bandwidth.
That's a shame. The u-verse app has been around since the WP7 launch. It wasn't the greatest app, but it worked pretty well for basic scheduling. Searching for something and/or trying to watch mobile content was kind of a joke, though. Tried to find the time for a game to record and it would show me the team, then I could see the scheduled games, but I couldn't get both filters to work at the same time. :P
Hoping they do some updates for a new version of the app on WP8. It does have its uses, even if they're somewhat limited.
Lol "Widnows Phone" :P
Did they ever re-release the 360 uverse connector/app?
No, it was kind of bad. Xbox could be a receiver but it had to always be powered on....never heard why though
Yeah fudge ATT. I got uverse and I used my app.
Boo Right before I switch over to AT&T for the L920. :(
Its discontinued for WP7 not WP8... And I am sure it will pop up later for the WP7.8...
I couldn't get it to work consistently. I gave up during the Olympics.
With all the MS fanboys on this site I'm surprised more of you don't use U-Verse TV as it's built on the Microsoft IPTV platform. I evaluated it but found Xfinity to be a better fit for my needs. Even so, I'm sad to see the U-Verse app shuttered.
Yeah, it's a wonder more of us aren't reading android central...
Clue is in the site's name.
WP Central does not equal MS Fanboy Central.
I am sure there is a more robust version being released for WP8...
Um...what phone is listed in the bulletin? Looks like a HTC trophy....which is on Verizon. Way to go AT&T
It IS the Trophy, it is the stock photo for the UNLOCKED Trophy (look it up, even has the same stock price at the bottom, haha). So, it isn't a Verizon phone, but you get the point. I agree...can't believe they didn't use a stock AT&T phone, Cynergy...WTF is that?
It's not a Trophy... It's an HTC Mozart, which BTW was the best first generation Windows Phone device of them all.
Looks like the HTC Surround to me witch was an AT&T phone.
Maybe this is ahead of new WP8 app?
I hope so...branding is changing a lot there recently.
This app was pretty useless anyway, i couldn't ever sync anything i actually wanted to watch
i would be ok if ATT would discontinue all of their dreck apps. In fact, they can discontinue their app hub altogether. They only need one app in it and that being a link to the Straight Talk website to get proper service.
Good riddance. It never worked for me on my Focus, HD7S, Titan or Titan II.
Meh! When is MSoft going to convince Comcast, HBO, & Showtime to show us some luv?
I am sure HBO-GO will be on WP8...
I would have liked to use it. I have Verizon phone and uverse TV
Well... they should at least let all Window Phone 7 users get an upgrade subsidized too :P
I wished the author would have asked AT&T what their plans were as i am sure they are actively developing new more robust aps for WP8. AT&T were always on top of making apps for every version of Windows mobile phone OS. We may not have wanted them but at least they always had more then a few pre-installed...
AT&T U-Verse website does not allow you to control your DVR unless you have AT&T U-Verse Internet service. Now that the Windows phone 7 app has retired, I have no option but to switch back to DirecTV.
I think in the ATT video of the lumia 920 the new app was on the phone and it had a slightly different name.
I contacted AT&T to terminate my U-verse service because the app is being retired. They stated the are retiring the app because of the small customer base that uses the app doesn't justify the cost to maintain Windows Phone apps.
The new app on Windows phone 8 they want 9 dollars a month to use it
Destiny 2 servers are down, will remain offline for bug fixes as rollback is planned (Update)
Xbox Game Pass hit "new highs," with the platform hitting 120M monthly active users
The best prices on Xbox controllers in January 2023
Easily add RGB to your home with Govee's LED strip lights on sale for $35
The best Dell monitor prices and deals for January 2023


Dimensions: 7.625" x 5.625" x 2.5"
Dimensions: .125" x 5.125" x 5.125"
DyeTrans® Black Wrought Iron Garden Stake, 3 foot high, the stake area is 6", so it would stand 2 foot 6" above ground, accented with scrollwork, fits (1) 4" sublimation tile (not included). All tiles will fade with exposure to UV rays at unpredictable rates. Use indoors or shady areas for best results.
DyeTrans® Black Wrought Trivet, Square, with handle, fits (1) 4.25" sublimation tile (not included). All tiles will fade with exposure to UV rays at unpredictable rates. Use indoors or shady areas for best results.
DyeTrans® Black Wrought Iron Basket, Small, 5.5" x 12", fits (1) 4" tile (not included). E6000 is the recommended adhesive.


text:
Q: javascript get rest of text where cursor is placed How can I get the rest of left or right side text in a contenteditable div, based on where my cursor is placed?

A: Here is a way to get the content both to the right and left of the cursor. It hasn't been tested with line-breaks, tags or anything else that might be in an editable div, but it is a function that I have used before.
http://jsfiddle.net/jayblanchard/Dez48/
function getCursorPosition(editableDiv) {
    var cursorPos = 0,
        containerEl = null,
        sel, range;
    if (window.getSelection) {
        sel = window.getSelection();
        if (sel.rangeCount) {
            range = sel.getRangeAt(0);
            if (range.commonAncestorContainer.parentNode == editableDiv) {
                cursorPos = range.endOffset;
            }
        }
    } else if (document.selection && document.selection.createRange) {
        range = document.selection.createRange();
        if (range.parentElement() == editableDiv) {
            var tempEl = document.createElement("span");
            editableDiv.insertBefore(tempEl, editableDiv.firstChild);
            var tempRange = range.duplicate();
            tempRange.moveToElementText(tempEl);
            tempRange.setEndPoint("EndToEnd", range);
            cursorPos = tempRange.text.length;
        }
    }
    return cursorPos;
}

$('#content').on('click', function () {
    var currentText = $(this).text();
    var cursor = getCursorPosition(this);
    $('#left').text(currentText.substring(0, cursor));
    $('#right').text(currentText.substring(cursor));

});

redpajama_set_name: RedPajamaStackExchange


text:
#define NET_LOG_LEVEL CONFIG_NET_PKT_FILTER_LOG_LEVEL

#include <zephyr/logging/log.h>
LOG_MODULE_REGISTER(npf_test, NET_LOG_LEVEL);

#include <zephyr/types.h>
#include <stdbool.h>
#include <stddef.h>
#include <string.h>
#include <errno.h>
#include <zephyr/sys/printk.h>

#include <zephyr/ztest.h>

#include <zephyr/net/net_if.h>
#include <zephyr/net/ethernet.h>
#include <zephyr/net/net_pkt_filter.h>

#if NET_LOG_LEVEL >= LOG_LEVEL_DBG
#define DBG(fmt, ...) printk(fmt, ##__VA_ARGS__)
#else
#define DBG(fmt, ...)
#endif

#define ETH_SRC_ADDR \
	(struct net_eth_addr){ { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 } }
#define ETH_DST_ADDR \
	(struct net_eth_addr){ { 0x00, 0x66, 0x77, 0x88, 0x99, 0xaa } }

static const char dummy_data[] =
"The Zephyr Project is a scalable real-time operating system (RTOS) supporting\n"
"multiple hardware architectures, optimized for resource constrained devices,\n"
"and built with security in mind.\n"
"\n"
"The Zephyr OS is based on a small-footprint kernel designed for use on\n"
"resource-constrained systems: from simple embedded environmental sensors and\n"
"LED wearables to sophisticated smart watches and IoT wireless gateways.\n"
"\n"
"The Zephyr kernel supports multiple architectures, including ARM Cortex-M,\n"
"Intel x86, ARC, Nios II, Tensilica Xtensa, and RISC-V, and a large number of\n"
"`supported boards`_.\n";

static struct net_pkt *build_test_pkt(int type, int size, struct net_if *iface)
{
	struct net_pkt *pkt;
	struct net_eth_hdr eth_hdr;
	int ret;

	pkt = net_pkt_rx_alloc_with_buffer(iface, size, AF_UNSPEC, 0, K_NO_WAIT);
	zassert_not_null(pkt, "");

	eth_hdr.src = ETH_SRC_ADDR;
	eth_hdr.dst = ETH_DST_ADDR;
	eth_hdr.type = htons(type);

	ret = net_pkt_write(pkt, &eth_hdr, sizeof(eth_hdr));
	zassert_equal(ret, 0, "");

	zassert_true(size >= sizeof(eth_hdr), "");
	zassert_true((size - sizeof(eth_hdr)) <= sizeof(dummy_data), "");
	ret = net_pkt_write(pkt, dummy_data, size - sizeof(eth_hdr));
	zassert_equal(ret, 0, "");

	DBG("pkt %p: iface %p size %d type 0x%04x\n", pkt, iface, size, type);
	return pkt;
}

/*
 * Declare some fake interfaces and test their filter conditions.
 */

static int eth_fake_init(const struct device *dev)
{
	ARG_UNUSED(dev);

	return 0;
}

ETH_NET_DEVICE_INIT(dummy_iface_a, "dummy_a", eth_fake_init, NULL,
		    NULL, NULL, CONFIG_ETH_INIT_PRIORITY,
		    NULL, NET_ETH_MTU);
ETH_NET_DEVICE_INIT(dummy_iface_b, "dummy_b", eth_fake_init, NULL,
		    NULL, NULL, CONFIG_ETH_INIT_PRIORITY,
		    NULL, NET_ETH_MTU);
#define dummy_iface_a NET_IF_GET_NAME(dummy_iface_a, 0)[0]
#define dummy_iface_b NET_IF_GET_NAME(dummy_iface_b, 0)[0]

static NPF_IFACE_MATCH(match_iface_a, &dummy_iface_a);
static NPF_IFACE_UNMATCH(unmatch_iface_b, &dummy_iface_b);

static NPF_RULE(accept_iface_a, NET_OK, match_iface_a);
static NPF_RULE(accept_all_but_iface_b, NET_OK, unmatch_iface_b);

static void *test_npf_iface(void)
{
	struct net_pkt *pkt_iface_a, *pkt_iface_b;

	pkt_iface_a = build_test_pkt(0, 200, &dummy_iface_a);
	pkt_iface_b = build_test_pkt(0, 200, &dummy_iface_b);

	/* test with no rules */
	zassert_true(net_pkt_filter_recv_ok(pkt_iface_a), "");
	zassert_true(net_pkt_filter_recv_ok(pkt_iface_b), "");

	/* install rules */
	npf_append_recv_rule(&accept_iface_a);
	npf_append_recv_rule(&npf_default_drop);

	/* test with rules in place */
	zassert_true(net_pkt_filter_recv_ok(pkt_iface_a), "");
	zassert_false(net_pkt_filter_recv_ok(pkt_iface_b), "");

	/* remove first iface rule */
	zassert_true(npf_remove_recv_rule(&accept_iface_a), "");

	/* fails if removed a second time */
	zassert_false(npf_remove_recv_rule(&accept_iface_a), "");

	/* test with only default drop rule in place */
	zassert_false(net_pkt_filter_recv_ok(pkt_iface_a), "");
	zassert_false(net_pkt_filter_recv_ok(pkt_iface_b), "");

	/* insert second iface rule */
	npf_insert_recv_rule(&accept_all_but_iface_b);

	/* test with new rule in place */
	zassert_true(net_pkt_filter_recv_ok(pkt_iface_a), "");
	zassert_false(net_pkt_filter_recv_ok(pkt_iface_b), "");

	/* remove all rules */
	zassert_true(npf_remove_recv_rule(&accept_all_but_iface_b), "");
	zassert_true(npf_remove_recv_rule(&npf_default_drop), "");

	/* should accept any packets again */
	zassert_true(net_pkt_filter_recv_ok(pkt_iface_a), "");
	zassert_true(net_pkt_filter_recv_ok(pkt_iface_b), "");

	net_pkt_unref(pkt_iface_a);
	net_pkt_unref(pkt_iface_b);

	return NULL;
}

/*
 * Example 1 in NPF_RULE() documentation.
 */

static NPF_SIZE_MAX(maxsize_200, 200);
static NPF_ETH_TYPE_MATCH(ip_packet, NET_ETH_PTYPE_IP);

static NPF_RULE(small_ip_pkt, NET_OK, ip_packet, maxsize_200);

static void test_npf_example_common(void)
{
	struct net_pkt *pkt;

	/* test small IP packet */
	pkt = build_test_pkt(NET_ETH_PTYPE_IP, 100, NULL);
	zassert_true(net_pkt_filter_recv_ok(pkt), "");
	net_pkt_unref(pkt);

	/* test "big" IP packet */
	pkt = build_test_pkt(NET_ETH_PTYPE_IP, 300, NULL);
	zassert_false(net_pkt_filter_recv_ok(pkt), "");
	net_pkt_unref(pkt);

	/* test "small" non-IP packet */
	pkt = build_test_pkt(NET_ETH_PTYPE_ARP, 100, NULL);
	zassert_false(net_pkt_filter_recv_ok(pkt), "");
	net_pkt_unref(pkt);

	/* test "big" non-IP packet */
	pkt = build_test_pkt(NET_ETH_PTYPE_ARP, 300, NULL);
	zassert_false(net_pkt_filter_recv_ok(pkt), "");
	net_pkt_unref(pkt);
}

ZTEST(net_pkt_filter_test_suite, test_npf_example1)
{
	/* install filter rules */
	npf_insert_recv_rule(&npf_default_drop);
	npf_insert_recv_rule(&small_ip_pkt);

	test_npf_example_common();

	/* remove filter rules */
	zassert_true(npf_remove_recv_rule(&npf_default_drop), "");
	zassert_true(npf_remove_recv_rule(&small_ip_pkt), "");
}

/*
 * Example 2 in NPF_RULE() documentation.
 */

static NPF_SIZE_MIN(minsize_201, 201);
static NPF_ETH_TYPE_UNMATCH(not_ip_packet, NET_ETH_PTYPE_IP);

static NPF_RULE(reject_big_pkts, NET_DROP, minsize_201);
static NPF_RULE(reject_non_ip, NET_DROP, not_ip_packet);

ZTEST(net_pkt_filter_test_suite, test_npf_example2)
{
	/* install filter rules */
	npf_append_recv_rule(&reject_big_pkts);
	npf_append_recv_rule(&reject_non_ip);
	npf_append_recv_rule(&npf_default_ok);

	test_npf_example_common();

	/* remove filter rules */
	zassert_true(npf_remove_all_recv_rules(), "");
	zassert_false(npf_remove_all_recv_rules(), "");
}

/*
 * Ethernet MAC address filtering
 */

static struct net_eth_addr mac_address_list[4] = {
	{ { 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 } },
	{ { 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 } },
	{ { 0x33, 0x33, 0x33, 0x33, 0x33, 0x33 } },
	{ { 0x44, 0x44, 0x44, 0x44, 0x44, 0x44 } },
};

static NPF_ETH_SRC_ADDR_MATCH(matched_src_addr, mac_address_list);
static NPF_ETH_DST_ADDR_MATCH(matched_dst_addr, mac_address_list);
static NPF_ETH_SRC_ADDR_UNMATCH(unmatched_src_addr, mac_address_list);
static NPF_ETH_DST_ADDR_UNMATCH(unmatched_dst_addr, mac_address_list);

static NPF_RULE(accept_matched_src_addr, NET_OK, matched_src_addr);
static NPF_RULE(accept_unmatched_src_addr, NET_OK, unmatched_src_addr);
static NPF_RULE(accept_matched_dst_addr, NET_OK, matched_dst_addr);
static NPF_RULE(accept_unmatched_dst_addr, NET_OK, unmatched_dst_addr);

static void test_npf_eth_mac_address(void)
{
	struct net_pkt *pkt = build_test_pkt(NET_ETH_PTYPE_IP, 100, NULL);

	/* make sure pkt is initially accepted */
	zassert_true(net_pkt_filter_recv_ok(pkt), "");

	/* let's test "OK" cases by making "drop" the default */
	npf_append_recv_rule(&npf_default_drop);

	/* validate missing src address */
	npf_insert_recv_rule(&accept_unmatched_src_addr);
	npf_insert_recv_rule(&accept_matched_src_addr);
	zassert_true(net_pkt_filter_recv_ok(pkt), "");
	zassert_true(npf_remove_recv_rule(&accept_unmatched_src_addr), "");
	zassert_false(net_pkt_filter_recv_ok(pkt), "");

	/* insert known src address in the lot */
	mac_address_list[1] = ETH_SRC_ADDR;
	zassert_true(net_pkt_filter_recv_ok(pkt), "");
	npf_insert_recv_rule(&accept_unmatched_src_addr);
	zassert_true(net_pkt_filter_recv_ok(pkt), "");
	zassert_true(npf_remove_recv_rule(&accept_matched_src_addr), "");
	zassert_false(net_pkt_filter_recv_ok(pkt), "");
	zassert_true(npf_remove_recv_rule(&accept_unmatched_src_addr), "");

	/* validate missing dst address */
	npf_insert_recv_rule(&accept_unmatched_dst_addr);
	npf_insert_recv_rule(&accept_matched_dst_addr);
	zassert_true(net_pkt_filter_recv_ok(pkt), "");
	zassert_true(npf_remove_recv_rule(&accept_unmatched_dst_addr), "");
	zassert_false(net_pkt_filter_recv_ok(pkt), "");

	/* insert known dst address in the lot */
	mac_address_list[2] = ETH_DST_ADDR;
	zassert_true(net_pkt_filter_recv_ok(pkt), "");
	npf_insert_recv_rule(&accept_unmatched_dst_addr);
	zassert_true(net_pkt_filter_recv_ok(pkt), "");
	zassert_true(npf_remove_recv_rule(&accept_matched_dst_addr), "");
	zassert_false(net_pkt_filter_recv_ok(pkt), "");
	zassert_true(npf_remove_recv_rule(&accept_unmatched_dst_addr), "");
}

static NPF_ETH_SRC_ADDR_MASK_MATCH(matched_src_addr_mask, mac_address_list,
				   0xff, 0xff, 0xff, 0xff, 0xff, 0x00);
static NPF_RULE(accept_matched_src_addr_mask, NET_OK, matched_src_addr_mask);

static void test_npf_eth_mac_addr_mask(void)
{
	struct net_pkt *pkt = build_test_pkt(NET_ETH_PTYPE_IP, 100, NULL);

	/* test standard match rule from previous test */
	npf_insert_recv_rule(&npf_default_drop);
	npf_insert_recv_rule(&accept_matched_src_addr);
	zassert_true(net_pkt_filter_recv_ok(pkt), "");

	/* clobber one nibble of matching address from previous test */
	mac_address_list[1].addr[5] = 0x00;
	zassert_false(net_pkt_filter_recv_ok(pkt), "");

	/* insert masked address match rule */
	npf_insert_recv_rule(&accept_matched_src_addr_mask);
	zassert_true(net_pkt_filter_recv_ok(pkt), "");

	/* cleanup */
	zassert_true(npf_remove_all_recv_rules(), "");
}

ZTEST(net_pkt_filter_test_suite, test_npf_address_mask)
{
	test_npf_eth_mac_address();
	test_npf_eth_mac_addr_mask();
}

ZTEST_SUITE(net_pkt_filter_test_suite, NULL, test_npf_iface, NULL, NULL, NULL);

redpajama_set_name: RedPajamaGithub


Alabama State Superintendent Dr. Tommy Bice has issued a final decision on Gardendale's efforts to form its own school system and split from the Jefferson County School system, but the outcome of that decision was not public Thursday evening.
Dr. Bice was mediating disagreements between the two systems. Neither Jefferson County or the Gardendale system would discuss the details of Bice's decision, or provide a copy of the final decision.
Jefferson County Superintendent Dr. Craig Pouncey said a copy of the decision would have to be obtained from Bice. Bice did not immediately respond Thursday evening for a request for a copy of the decision. All parties have said the mediation process is supposed to be a confidential one until the agreement is finalized.
The Gardendale Board of Education met in a executive session Thursday evening to discuss Bice's ruling with its attorneys. Following the one-hour closed-door session, Board President Chris M. Segroves issued a brief statement, and offered no other comment.
"Dr. Tommy Bice, in his Final Order, stated that his Order was based on what is in the best interest of the students involved," the statement reads. "In furtherance of this focus, Dr. Bice has ruled that the Gardendale Board of Education will be entrusted with the opportunity to begin serving the students attending Gardendale Schools at the start of this coming school year, 2015-2016."
"Speaking on behalf of the entire Gardendale Board of Education and our Superintendent Dr. Patrick Martin, we are so appreciative of this development and so grateful for the opportunity to accomplish what we set out to do: serve all the students attending schools in the City of Gardendale."
Though Gardendale's statement does not give details, it does have a positive tone.
In a preliminary decision released earlier this month, Dr. Bice initially found Gardendale needed to pay Jefferson County $8.1 million in part for the new Gardendale High School, completed in 2010. This was much less than the $33 million Jefferson County had initially requested, but Gardendale still felt the sum was much too high, and that Bice's mediation was being performed under an inapplicable statute.
That preliminary number was unexpected in part because an educational consultant hired by the City of Gardendale to study the proposed split from Jefferson County Schools told the city in 2013 that he did not think Gardendale would have to pay for the $46 million Gardendale High School.
Last week, Gardendale Supt. Dr. Patrick Martin told AL.com that there would be a "tough conversation" with Gardendale residents about the next steps if Dr. Bice came back with a decision "and it's in the $8.1 million or any dollar range." Asked if a lawsuit was potentially one of those next steps, Martin said, "That's been part of the discussion."
The board's statement after Bice issued his final ruling does not make any threat of a suit.
Jefferson County Superintendent Dr. Craig Pouncey said in a statement Thursday night that the Jefferson County system is currently reviewing the decision.
"The parties have not been authorized to release the decision and we believe it inappropriate to comment on its specific content at this juncture," Pouncey said. "We nevertheless understand that Dr. Bice expects the parties to continue to work diligently toward a negotiated resolution of the remaining financial and operational issues that is fair to all tax payers in Jefferson Co. and all of the 36,000 students of the district without jeopardizing the educational opportunities of the students that will be affected. The Jefferson Co. Board will comply with that directive in good faith."
The Jefferson County Board of Education has a regularly scheduled meeting Friday morning. According to Dr. Pouncey, the board plans to discuss the decision with its attorneys during that meeting.
Gardendale plans to begin operation as an independent school district in the fall.
Updated at 8:25 p.m. to add a statement from Dr. Pouncey.