text:
SAN FRANCISCO (AP) — The 72-year-old hunter who was lost for more than two weeks in a California forest survived by eating squirrels and other animals he shot with his rifle, and by making fires and packing leaves and grasses around his body to stay warm, his family said Monday.
Gene Penaflor of San Francisco was found Saturday in Mendocino National Forest by other hunters who carried him to safety in a makeshift stretcher, the Mendocino County Sheriff's Office said in a statement.
Penaflor disappeared after heading out with a partner during the first week of deer hunting season in the rugged mountains of Northern California, a trip he takes annually. The forest is about 160 miles north of San Francisco.
"He goes hunting every year, and he comes home every year," his daughter-in-law Deborah Penaflor said Monday outside Gene Penaflor's small home in the Bernal Heights neighborhood. "We'd gotten a little complacent that he would always come back."
Gene Penaflor separated from his hunting partner for a couple of hours as usual to stalk deer. While they were apart, Gene Penaflor fell, hit his head and passed out, Deborah Penaflor said.
He woke up after spending what appeared to be a full day unconscious, with his chin and lip badly gashed. He noticed fog and morning dew and realized he'd been out for a while, Deborah Penaflor said.
Gene Penaflor had a lighter, a knife and water with him when he went hunting. But his daughter-in-law said the knife and water bottle somehow got lost in the fall. She had no further details.
Still, he was able use his rifle to kill squirrels to sustain him while he awaited rescue. He also found water in a nearby drainage.
To stay warm, Gene Penaflor made small fires and packed leaves and grasses around his body. When it rained or snowed, he crawled under a large log and managed to stay dry, authorities said.
"He knew at some point he was going to die, but he figured he'd last as long as he could," sheriff's Detective Andrew Porter told the Ukiah Daily Journal.
The sheriff's office said an initial search involving several agencies was called off when a storm was on its way and there was no sign of the missing hunter.
The family returned to San Francisco dejected.
"We were depressed," Deborah Penaflor said. "We were walking his dog and hoping the search would start up again."
The search was reactivated Saturday, and a group of hunters found Gene Penaflor when one of them heard a voice calling for help from the bottom of a canyon. He was found about 3 miles from where he disappeared.
The family returned north to aid in the search late last week. They distributed missing-persons flyers around the area hoping other hunters would be on the lookout.
When they heard he'd been found alive, they rushed to the mountain to meet him.
"There were tears of joy on the top of that mountain," Deborah Penaflor said.
Gene Penaflor arrived home Sunday looking weak and wearing a hospital bracelet.
"I didn't panic because panic will kill me right away. I knew that," Gene Penaflor said to a KTVU-TV reporter upon his arrival home.


text:
|Showing 1 of 1
Your current search criteria is: Objects is "Waterfront Mansions".
Please note that this database is presented with the data and images currently available and as a living document will constantly be in the process of being updated, refined, and added to as the collection grows and evolves. Due to copyright considerations, only thumbnail images are currently available online.
|Showing 1 of 1

subset: commoncrawl


text:
Fla couple charged after 300 animals found in home
OLDSMAR, Fla. - A southwest Florida couple have been charged with animal cruelty and child abuse after authorities responding to a call about a missing child discovered 300 neglected animals in their home, including three dead rats and a dead hamster.
Pinellas County Sheriff's officials responded to the Oldsmar home Sunday after receiving a call from Jeffrey O'Neil and Jennifer Kovacs about the 16-month-old girl's disappearance. Authorities say she was found unharmed at the home of a relative who took her after trying unsuccessfully to awaken the allegedly intoxicated couple.
Deputies said they found hundreds of snakes, lizards, rats, birds and rabbits being kept in deplorable conditions inside the house. They said the animals were being bred and sold without the proper licensing.
It was not known if the couple have an attorney.


text:
The Washington Nationals will unveil a "new look" for their mascot Screech this coming Monday, March 2, at ESPN Zone in Washington, DC. In-game host Clint Kouhry and members of the Nat Pack will be on hand for the unveiling.
If Screech seems a bit young to be getting a facelift, perhaps it's because he is so clearly at the bottom of the pecking order in terms of Nationals mascot fan-favorites, with Teddy Roosevelt, of course, at the top of the pack. For my money, it's going to take a lot more than a facelift to boost favor for Screech, who as judge of the Presidents Race, has disqualified Teddy Roosevelt a few too many times.
The Nationals announced today that Screech will make a variety of appearances during March to show off his "fresh-feathered look" before the start of the 2009 baseball season. Monday's 1:00pm unveiling will be open to the public.


text:
We asked Joe Sola—an artist whose work can currently be seen in Hard Targets—Masculinity and Sport and in an exhibition of paintings and video at Bespoke Gallery in New York—to share his thoughts on Matthew Barney's Cremaster 4, which is screening here, along with his Drawing Restraint 10, this Thursday, in conjunction with Hard Targets.
The first time I heard about Matthew Barney's work was in the nineties in New York City. I remember being at 7B, my favorite local bar in the East Village, where a couple of friends were talking about his sculpture of a weightlifting set cast out of Vaseline that had just been exhibited in the city. To view this sculpture you had to enter a large refrigerator. The refrigerator supposedly kept the Vaseline from losing its shape. The work got us speaking about a lot of things that evening, most of which started from this image of a sporty sexualization of the male body. It took me many years from that conversation (I am slow) to figure out that the real subject in his work, as well as mine, was that of what it is to be a guy in this world. His work is ripe with formal innovation and violence. It moves very quickly in that regard. If you haven't yet, see his Cremaster 4 film from the Cremaster series. The word on the street is that the cremaster muscle is the muscle which pulls down the testicle from inside the male body to the outside, one of the physiological things that makes males different from females. You can see how he's developed a language around this idea of "feminine" and "masculine" and how they meet and what they become. This film is filled with strangely choreographed scenes, underwater photography, helicopter shots, customized motorcycles, messy blobs, and a soundtrack filled with the screaming tear of engines.
Joe Sola


text:
Job Search Results
1 to 1 of 1 for Freelance; Employee; Short-Term; Seasonal; Alternative Schedule; Flexible Schedule; Long-Term; Part-Time; Full-Time; Teaching; Online ESL Teacher; Barron's World's Most Respected; Information Week 500; Barrons 400; CareerBliss 50 Happiest Companies in America; 100 Best Corporate Citizen; S&P 500; LinkedIn's InDemand Employers; Remote.co; Fast Company - Most Innovative Company; Other Awards or Accolades; texas
Featured30+ days agoRemote ESL teacher needed to teach online English language classes. Must have a BA/BS, U.S. or Canada residency, and past related teaching or child-based experience. Flexible terms, part-time contract position, up to $22/hr. Work-from-home.


text:
Rule #1 - Be Patient - Rule #2 - Don't ask when, if you don't contribute - Rule #3 - You have coding skills - LinuxMCE's small brother is available: http://www.agocontrol.com
Hi,food for thoughts: I just read totallymaxed post regarding putting at least three CAT cables to any place where you consider needing a media device. My question is: Is that really needed? I understand the point of the broken cable, even though it never has happened to me on fixed installed cables, but other than that, why not put a switch near each outlet? I've come to the conclusion, that a local switch solves a lot of issues for me, and if I use not only a regular small switch, but one of these small linksys router devices, I have an extension in my wifi cloud as well.In the past, I needed many cables because of different cableing techs needed, but these days, all I need is a network connection.Different opinions anyone?!
I am with Possy Only one for me
Previously, I would have run 4 also, have my MD's centralised and have my cable boxes sent through a HDMI matrix (RS232 to the core) I would have the same number of outputs on the Matrix as entertainment areas then any cable box can be attached to any entertainment area. Also have the same number of MD's as entertainment areas. Then use another HDMI Switch to send either the MD or the output from one of the Matrix outputs to the entertainment area using HDMI over CAT5/6. In paralell, send USB over CAT5/6 like Andrew said. Allowing the 4th line to be the network drop in that room where a telephone or IP camera or a switch if you need more could be plugged in. Now that MD's can be small and fanless and the HD-PVR works, the method described above may not be necessary. If I had a new build I would still probably run 4 but I do think there will be some regional differences with this. In the UK (as Andrew is) there are no basements and newbuilds tend to have concrete floors and breezeblock structural walls. in the US they have basements and walls are timber framed and it is much easier to add cables later.just my 2 cents


text:
Morning Minutes: March 2
Morning Minutes: March 2
Word of the Day
Repudiate ri-PYOO-dee-eyt (verb) To reject with disapproval or condemnation. - dictionary.com
Website of the Day
Dr. Seuss: 10 Life Lessons From The Legendary Children's Author
Huffington Post compiled a list of the 10 most important things Dr. Seuss has taught us.
Number to Know
100: Points Philadelphia Warriors center Wilt Chamberlain scored in a basketball game against the New York Knicks on this date in 1962.
This Day in History
March 2, 1902: Theodore Geisel, who wrote under the pen name Dr. Seuss, is born.
Today's Featured Birthday
Rock singer Jon Bon Jovi (51)
Daily Quote
"Knowledge is of no value unless you put it into practice." - Anton Chekov


text:
How do you follow up on what was arguably the most electric night in team history?
The day after a sellout crowd was mesmerized by Stephen Strasburg's debut, and Teddy barely missed making a little history of his own, the Nationals racing presidents answered that question by throwing out everything but the proverbial kitchen sink.
Wednesday's 4th-inning presidents race looked at first like a repeat of the night before. The "un-racing sausages" joined Pittsburgh's racing pierogies in a crowded field, and held a lead over the presidents into the final turn.
On this night, however, the critter waiting in ambush was none other than long-time presidential nemesis "That Cat," who had recruited the Nationals Park grounds crew to the cause. They stormed onto the field, taking down all of the visiting mascots, and leaving Thomas Jefferson with a clear path to victory.
Video courtesy of YouTube member theteddyroosevelt


text:
The Washington Nationals racing presidents continued a Presidents Day holiday tradition on Monday by appearing for the third consecutive year at Long Island's Nassau Coliseum and conducting a race on ice skates between periods at a New York Islanders hockey game.
With the Florida Panthers in town, Fox Sports Florida captured the following video highlights in which Teddy
Roosevelt jumped from the stands onto the ice to take out George Washington between the first and second periods.
The Nationals mascot team used the occasion for George Washington and Thomas Jefferson to debut the presidents' new 2011 road gray and alternate blue uniforms.
Photo: Washington Nationals via Twitter


text:
Last evening, SYR and I had the privilege to be at Sidney and Tammy Cohen's (partners at 18 Restaurant) apartment in Manhattan. We were there to commemorate the Hilula (yohrtzeit, as we ashkenazim call it) of Rabbi Meir Ba'al Haness. I had never heard of this custom until I got Tammy's email last week… How I wish I had known of it earlier in my life!
Among walls covered with portraits of a very young Baba Sali (whose haunting eyes seemed to pierce right through me) and Chagall like paintings, the crowd, the tfilot, the candles, the food, made it all very special…
Who was Rabbi Meir Ba'al Haness? The Babylonian Talmud, in Tractate Gittin 56a relates:
As he [Nero] came close, he shot an arrow towards the east and it fell in Jerusalem. He then shot an arrow to the west and it fell in Jerusalem. [He shot] towards the four points of the compass and it fell in Jerusalem. He then asked a [passing] boy, "Tell me the verse [from Scripture] you learned [today]." He [the boy] said, "I will place my vengeance upon Edom by the hand of my people Israel [Ezekiel 25:14]." He [Nero] said, "The Holy One, blessed be He, wishes to destroy His House and lay the blame on me." He [Nero] ran away and became a proselyte. From him came Rabbi Meir."
Rabbi Meir, the descendant of a former Roman emperor, eventually became a staunch supporter of Bar Kochba's rebellion against the Romans. Why was he called Meir, when tradition says that his name was either Nahori or Misha? "Meir" means "Illuminator," as someone who illuminated the mind's eye of students and scholars alike to give them an understanding of both the Written and the Oral Laws, he came to be known as Meir.
"Ba'al Haness" means "Master of Miracles," why was that name added to him? It is related that on a certain occasion when a pack of wild dogs ran over to tear him apart, Rabbi Meir cried out: "Eloka d'Meir aneini – God of Meir answer me," the dogs retreated. The Roman guard of a brothel was about to be hanged for having taken a bribe. He was bribed so as to allow Rabbi Meir's wife (Bruriah's) sister to escape (while still untouched) from the brothel where the Romans had condemned her to live her life in shame (after they killed her parents, the saintly R. Chananya ben Teradyon – one of the 10 martyrs we mention in the kinot of Tisha B'Av – and his wife). As the noose was tightened around the guard's neck he cried out, "God of Meir answer me," the rope tore – to everyone's amazement – and the guard was saved!
Harav Raphael Benchimol, rabbi of the Manhattan Sephardic Congregation, very eloquently told the evening's participants that the specific date 14th of Nissan (Pessach Sheini). was a very propitious time for asking Rabbi Meir Baal Haness to intercede in one's behalf. As I walked around the room, I heard touching, gripping stories of people's prayers being answered. Even over this last weekend in Providence, RI, I heard one such story…
After Ma'ariv, people lit candles – on a specially set up table – while saying twice, "Eloka d'Meir aneini," as each silently concentrated on his/her requests…
Meeting friends and friendly strangers, praying with them mincha and later ma'ariv, listening to the Rabbi's divrey Torah, pouring out my heart as I concentrated on my personal requests – while lighting my candle – the delicious food, the drinks, made this a very inspiring and enchanted evening. Thank you Sidney, thank you Tammy.
Eloka d'Meir aneinU! God of Meir, answer US all!


text:
Kent Bush: Come as you are to Virginia church
You think your church has issues?
Let me tell you a story that might make those Sunday services seem a little more serene.
Every week in central Virginia a group of people get together to worship God. Unlike the services you will probably attend, no one will be wearing expensive suits and fancy schmancy dresses.
They won't be wearing anything at all.
The congregants of White Tail Chapel don't like the pretentiousness of regular churches, so they planted their church in the middle of a nudist colony. They enjoy Sunday services in what has to be one of the very few nudist churches in the world.
White Tail Chapel is a horrible unintentional pun. After all if you spend enough time nude there in the summer, they may have to change the name to Tan Tail.
But White Tail isn't just a nudist colony for lovers. The resort bills itself as a family nudist resort.
In addition to chapel services where worshippers bare their soul and everything else, the resort features bowling, volleyball and other fun activities.
They even have a fitness facility. I wipe down machines and weights before I use them at my normal gym, if people were rubbing their naughty bits all over the place, I think I would learn to be satisfied working out at home.
Of course, all nudists think they are getting back to nature.
"There's not a feeling that you have to be better than one another, physically," Pastor Allen Parker said. "We're humans, we have scars, we have what we have…it's learning to love and accept that."
I can love and accept your scars without seeing them. Please trust me on that. Don't make me prove it.
I would never go to church naked. My birthday suit and my Sunday best are two entirely different things.
So when you show up Sunday morning, you can be thankful even if that pastor gets a little long winded, at least he got dressed.
And if someone swipes that last cup of coffee without refilling the pot, just appreciate the fact that they are wearing a shirt on which to spill that coffee.
No church is perfect, but some are better than others.
And as the White Tail Chapel proves, some are worse.


text:
Error added: 2014-06-11T10:50:21Z
If you know the answer, please add your own solution below.
If you don't know, but find out later, please come back and share your answer - there will be other people struggling with this too.
If you want to be notified via email when this is solved, enter your email address here:
Psst - want to help build a list of common error messages?
Put the following line in your /etc/[r]syslog.conf file:
*.emerg,*.alert,*.crit,*.err @syslog.readthefuckingmanual.net
Collecting solutions to error messages since Aug 2005. © rtfm 2005-2023


text:
Looking healthy and strong, the former Kate Middleton presented awards at the BBC Sports Personality of the Year prizes, which were broadcast throughout Britain.
She wore a dark green outfit and seemed composed and comfortable, showing no signs of the acute morning sickness that had led to her recent hospitalization.
She had not been seen in public since leaving King Edward VII Hospital in London on Dec. 6. At the time, officials said the duchess would be resting.
At the conclusion of the gala show, she presented the lifetime achievement award to Sebastian Coe, the newly elected chairman of the British Olympic Association and a two-time Olympic middle-distance champion. She also presented the sports personality of the year award, won by Tour de France and Olympic champion Bradley Wiggins.
Palace officials have said the Duchess is in the first 12 weeks of her pregnancy. It would be the first child for her and her husband, Prince William.
It was also her first public appearance since the apparent suicide of a nurse at King Edward VII Hospital who was the victim of a prank call by two DJs from an Australian radio show.


text:
Search Term
Advanced Search
0 Items (Empty)
Store Home
> SketchUp for 3D Printing
3D Printing Summer Projects
Set of four 3D printing projects, modeled in SketchUp
Modeling with SketchUp for 3D Printing, PDF
Learn how to use SketchUp to design print-ready models that can be created in any kind of 3D printer.
Modeling with SketchUp for 3D Printing, Printed
3008 Ordway St NW Washington, District of Columbia 20008 United States
© 2023 3DVinci. All rights reserved worldwide.


text:
COLLEGE STATION, Texas >> Texas A&M quarterback Johnny Manziel pleaded guilty today to a misdemeanor stemming from a 2012 bar fight near campus, closing a case that had dogged his Heisman Trophy-winning season.
Manziel admitted he failed to identify himself to police following the altercation. As part of a plea deal, other charges against the 20-year-old, including disorderly conduct, were dismissed.
Brazos County Attorney Rod Anderson says Manziel was ordered to pay a $2,000 fine, about $230 in court costs and was credited with the overnight jail time he served following his arrest. He had faced up to 180 days in jail for the June 2012 incident.
Police said an officer on bike patrol had intervened to break up a fight between Manziel and Marvin McKinney just after 2 a.m. in a street in the Northgate entertainment district. McKinney told police that a friend of Manziel's had called him a racial slur. He said Manziel shoved McKinney as he approved the two, and then they exchanged punches.
When officers asked Manziel for an ID, he produced a phony Louisiana driver's license that showed his birthday as Dec. 6, 1990. Police checked Manziel's wallet and found two more ID cards — a fake Texas driver's license and Manziel's real driver's license that listed his date of birth as Dec. 6, 1992.
The quarterback dubbed Johnny Football piled up 4,600 total yards last season and helped the Aggies knock off No. 1 Alabama on the road. He became the first freshman to win the Heisman Trophy and has continued to garner headlines in the offseason.
He has been famously photographed partying and gambling, and even his decision to take classes online last semester became controversial. Manziel said his decision to limit himself exclusively to the virtual classroom was a reaction to the attention he was receiving on campus, though he expects to return to regular classes this summer and next fall.
Not long ago, he tweeted that he "can't wait to leave college station… whenever it may be."
"Don't ever forget that I love A&M with all of my heart, but please please walk a day in my shoes," he added.
Manziel even drew attention this weekend after leaving the Manning family's football camp in Louisiana a day early, citing illness.
"After missing and being late for some practice assignments, Johnny explained that he had been feeling ill. Consequently, we agreed that it was in everyone's best interest for him to go home a day early," camp spokesman Greg Blackwell said Sunday.
The headlines won't end any time soon: SEC media days are this week in Alabama, as are ESPN's ESPY Awards.


text:
There is a Rolling Stones song from 1973 which described tragedies involving crime and drugs which I thought was a very effective form of protest. Be they aware or not, they were following a noble tradition of artists giving voice to the oppressed and victimized. Over time those type of concerns might predictably give way to maintaining careers, parenthood, copyright infringement and rehab. But they could always look back on their 'caring' years with a palpable wistfulness. 'Sure, I may have sold out over time,' they implicitly tug at you to understand, 'but there was a time….'
That was then. The entertainment industry today embraces the state. Somewhere between seeing their ideas and candidates win elections, the rants against injustice have given way to an aggressive advocacy for expanding the role of government. Seemingly no public policy failures–high rates of poverty, abortions, inner-city unemployment, single-parent families, failed public schools etc–are enough to question the effectiveness of relying on the state to address those problems.
I think it fair to say that the only world angry artists want to tear apart today is one which acknowledges Judeo-Christian values as key to a just society. In its place, a secular sense of fairness, undefined [naturally] and enforced by the federal government. The Leviathan with a friendly face [for now], who heroically does battle vs. those pesky spiritual subjects.
The tragedies of everyday life continue to be confronted those who have always done so, parents and people of faith through their personal involvement and religious institutions. The rest are posers because they have no skin in the game. To put the fate of the neediest in the hands of those whose care for them is based on a salary and patronage, is to encourage the status quo.
A proverb notes that time reveals a person's heart. Almost 40 years later, when I hear the song 'Doo Doo Doo Doo Doo (Heartbreaker),' I am reminded of heartbreakers, but they ain't cops.
Rolling Stones – Heartbreaker – LYRICS:
The police in New York City
They chased a boy right through the park
In a case of mistaken identity
They put a bullet through his heart
Heartbreakers with your forty four
I wanna tear your world apart
You heart breaker with your forty four
I wanna tear your world a part
A ten year old girl on a street corner
Sticking needles in her arm
She died in the dirt of an alleyway
Her mother said she had no chance, no chance
Heartbreaker, heartbreaker
She stuck the pins right in her heart
Heartbreaker, a pain maker
Stole the love right out of you heart
Oh yeah
doo, doo doo doo doo
Oh yeah
doo doo doo, doo doo
I wanna tear that word apart
Oh yeah
doo, doo doo doo doo
Oh yeah
doo doo doo doo doo
I wanna tear that word apart
Heartbreaker, heart breaker
You stole the love right out of my heart
Heartbreaker, heartbreaker
I wanna tear your world apart
Heartbreaker, heartbreaker
Stole the love right out, stole the love right out
Doo, doo doo doo doo doo
Ah yeah, you shot the kid, he had no chance
Doo doo, doo doo do
Ah yeah, Ah yeah, you stuck pins right in her heart
Doo doo, doo doo do
You heartbreaker, I wanna tear your world apart
Doo doo, doo doo do……..


text:
JOHANNESBURG — Nadine Gordimer was first a writer of fiction and a defender of creativity and expression. But as a white South African who hated apartheid's dehumanization of blacks, she was also a determined political activist in the struggle to end white minority rule in her country.
Gordimer, who won the Nobel Prize for literature in 1991 for novels that explored the complex relationships and human cost of racial conflict in apartheid-era South Africa, died peacefully in her sleep at her home in Johannesburg on Sunday. She was 90 years old. Her son Hugo and daughter Oriane were with her at the time, Gordimer's family said in a statement Monday.
The author wrote 15 novels as well as several volumes of short stories, non-fiction and other works, and was published in 40 languages around the world, according to the family.
"She cared most deeply about South Africa, its culture, its people, and its ongoing struggle to realize its new democracy," the family said. Her "proudest days" included winning the Nobel prize and testifying in the 1980s on behalf of a group of anti-apartheid activists who had been accused of treason, they said.
Per Wastberg, an author and member of the Nobel Prize-awarding Swedish Academy, said Gordimer's descriptions of the different faces of racism told the world about South Africa during apartheid.
"She concentrated on individuals, she portrayed humans of all kinds," said Wastberg, a close friend. "Many South African authors and artists went into exile, but she felt she had to be a witness to what was going on and also lend her voice to the black, silenced authors."
Gordimer struggled with arthritis and rheumatism but seemed to be in good spirits when they last spoke three weeks ago, he said.
"Our country has lost an unmatched literary giant whose life's work was our mirror and an unending quest for humanity," South Africa's ruling party, the African National Congress, said in a statement.
Prof. Adam Habib, vice-chancellor and principal of the University of the Witwatersrand in Johannesburg, described Gordimer as a "revered intellect."
During apartheid, Gordimer praised Nelson Mandela, the prisoner who later became president, and accepted the decision of the main anti-apartheid movement to use violence against South Africa's white-led government.
"Having lived here for 65 years," she said, "I am well aware for how long black people refrained from violence. We white people are responsible for it."
Gordimer grew up in Springs town, the daughter of Jewish immigrants from Britain and Lithuania. She began writing at age 9, and kept writing well into her 80s.
She said her first "adult story," published in a literary magazine when she was 15, grew out of her reaction as a young child to watching the casual humiliation of blacks. She recalled blacks being barred from touching clothes before buying in shops in her hometown, and police searching the maid's quarters at the Gordimer home for alcohol, which blacks were not allowed to possess.
That "began to make me think about the way we lived, and why we lived like that, and who were we," she said in a 2006 interview for the Nobel organization.
In the same interview, she bristled at the suggestion that confronting the human cost of apartheid made her a writer.
"If you're going to be a writer, you can make the death of canary important," said Gordimer, a small and elegant figure. "You can connect it to the whole chain of life, and the mystery of life. To me, what is the purpose of life? It is really to explain the mystery of life."
She said she resisted autobiography, asserting that journalistic research played no part in her creative process.
"Telling Times," a 2010 collection of her nonfiction writing dating to 1950, offers some glimpses of her own experience. She wrote in a 1963 essay of a meeting with a poet giving her an idea of a life beyond her small home town and her then aimless existence.
Gordimer's first novel, "The Lying Days," appeared in 1953, and she acknowledged that it had autobiographical elements. A New York Times reviewer compared it to Alan Paton's "Cry the Beloved Country," saying Gordimer's work "is the longer, the richer, intellectually the more exciting."
She won the Booker Prize in 1974 for "The Conservationist," a novel about a white South African who loses everything.
Among Gordimer's best-known novels is "Burger's Daughter," which appeared in 1979, three years after the Soweto student uprising brought the brutality of apartheid to the world's attention.
Some readers believe the family at its center is that of Bram Fischer, a lawyer who broke with his conservative Afrikaner roots to embrace socialism and fight apartheid. The story is salted with real events and names — including Fischer's. The main character is a young woman on the periphery of a famous family who must come to terms with her legacy and her homeland.
Her 1987 novel, "A Sport of Nature," prophesized the end of apartheid and included a liberation leader based on Mandela.
"Gordimer writes with intense immediacy about the extremely complicated personal and social relationships in her environment," the Nobel committee said on awarding the literature prize in 1991.
In her Nobel acceptance speech, Gordimer said that as a young artist, she agonized that she was cut off from "the world of ideas" by the isolation of apartheid. But she came to understand "that what we had to do to find the world was to enter our own world fully, first. We had to enter through the tragedy of our own particular place."
After the first all-race election in 1994, Gordimer wrote about the efforts of South Africa's new democracy to grapple with its racist legacy. She remained politically engaged, praising South Africa for the progress it had made, but expressing concern about alleged backsliding on freedom of expression.
"People died for our freedoms," Gordimer, who had had works banned by the apartheid government, told The Associated Press in a 2010 interview. "People spent years and years in prison, from the great Nelson Mandela down through many others."


text:
50 Gorgeous Holiday Mantel Decorating Ideas
Lantern collection
This Minnesota homeowner fills vintage lanterns with pinecones, candles, greens and a drawing of Santa.
No-fuss festivity
Sprigs of evergreens fill a collection of plain glass vases for clearly inspired decor.
Christmas carnations
Red carnation wreaths look elegant over this Christmas mantel. To make fresh wreaths, soak a florist's foam shape in water. Trim carnation stems to about 3 inches and insert into forms; you'll need about 50 carnations for a 12-inch diameter wreath. You can also craft pretty—and long-lasting—wreaths with artificial flowers.
Accent with containers of shiny red and green ornaments along your mantel.
Color pops
Accent mostly-white decorating with pops of bright red and green. Run white tinsel along your mantel and put red and green ornaments on top. Hang a red and a green stocking from the mantel to complete the look.
Country chic
Create a rustic Christmas feel by making plaid stockings the centerpiece of your mantel. Accent them with pinecones, carved wooden statues and simple candles.
Natural simplicity
Celebrate the season's simple joys by creating a free-flowing look with just three natural materials: green apples, pinecones and long-needle evergreen branches.
Extra ornaments
Turn surplus ornaments into an easy—and dazzling—holiday display. Decorate a mantel by coordinating colors of ornaments in urns, vases, goblets and bowls of different sizes. Finish with bright green pine branches for a woodsy touch.
Christmas countdown
Turn your mantel into countdown to Christmas by hanging an advent calendar on the front and adding a pretty paper wreath above.
Paper Source wreath kit Chicago-based Paper Source makes holiday crafting easy with a variety of wreath kits. Punch out, fold, and adhere petals and leaves to the included wreath form. Great for beginner crafters! (888) 727-3711; paper-source.com
Do-it-yourself Advent calendar Give family and holiday guests a festive fireplace surprise. Pop pieces of candy, small toys or clues (to find larger gifts hidden in the house) in 24 tiny envelopes or muslin bags. Rubber-stamp numbers on circular labels to seal envelope flaps, or write numbers on bags with a marker. Hang envelopes or bags along the mantel with mini clothespins. Shop your local crafts store for similar supplies or try Paper Source.
Red-and-green cheer
Fabric doilies shaped into trees and spray-painted red stand next to a lime green homemade wreath on this cheery holiday mantel. The petals and flowers of the wreath are cut-up newspapers spray-painted green.
Glittering statement
The combination of old and new ornaments layers on the charm in this wreath, made from glass ball ornaments hot-glued to a foam wreath form. For a sparkling mantel to match the wreath, coat foam cones with spray-on glue then tinsel glitter. When dry, seal with an acrylic clear-coat spray.
Ornaments and pine
For this fresh look, cover your mantel in small pine branches and tuck in pine cones and red and silver ornaments. Dangle more ornaments from the mantel (secure ornaments with tape or Command hooks). These homeowners created ornaments each year from the bottom inch of their Christmas tree. When you buy your fresh Christmas tree, ask to have the bottom inch cut off and save it. Any type of tree will work.
Nature's mantel
To jazz up a boxwood wreath, we tucked in hypericum berries then wired on a magnolia branch, feathers, pinecones and an antique bugle. Finally, we wrapped burlap ribbon around the wreath. A blanket tops the mantel, and we made a small tree by covering a floral foam cone in boxwood clippings.
Creative stockings
A simple mantel arrangement complements whimsical Christmas stockings. Draw some colors from your stockings into the mantel for a cohesive look. Here, colorful ornaments, white candles and evergreen garland complete the display.
Winter wonderland
A touch of winter white stands out against the sparkly wall. Display an assortment of white items, such as frames, candlesticks, vases, ornaments and holiday figurines.
Button up
For this welcoming look, you'll need purchased wooden letters, pale-color buttons, white ribbon, a wreath and pine branches.
Paint the letters white if they aren't already. Glue buttons to the bottom of the letters, and tie a white ribbon in a bow at the top of the "o." Dust a wreath with fake snow and hang the wreath over your mantel. Stand up the letters agaist the wreath and tuck pine branches behind the letters.
Flower power
Wow party guests with a mantel of green flower "presents" and fresh red flowers. Use pearl-top straight pins to attach green-tinted mini mums to foam squares, then tie on red velvet ribbon bows. Accent the scene with glass vases filled with red tulips, amaryllis heads and berry branches.
Meaningful mantel
Make a statement over a fireplace with a homemade felt "scarf." We spelled out peace and paired that with a large-scale dove. Emphasize the message with simple mantel decor: wood candlesticks, greens, a few red ornaments, a pinecone spray-painted white and a wreath made from faux antlers.
Start with what you have
The easiest mantel decorations grow out of what's already there (or what you have around the house). Here, a mirror, heirloom clock, tarnished silver pieces and stacked books get dressed up for the holidays with simple greens and pinecones.
Book lovers mantel
Reuse old or damaged books to create this pretty Christmas mantel project. Wrap an old box in book pages and tie on a simple bow. Add sparkle with glittery ornaments.
Christmas window
Repurpose an old window as a Christmas mantel masterpiece. Hang trinkets and ornaments in each pane of the window frame. We love the green-and-white color scheme for this display. Line several handkerchiefs along the mantel to create a chic DIY mantel scarf.
La la la
Cover your mantel with fresh evergreen branches and hang two types of ornaments on sheer white ribbon: clear plastic ornaments that you fill with strips of metallic gold foil and large circular chalkboard ornaments. If you can't find any chalkboard ornaments, you can always make your own by applying green chalkboard paint to wood or cardboard. Remove ornaments before using the fireplace and rehang them when you're finished.
Tiny touches
Just a few touches make a special scene. Here, we planted baby Norfolk Island pines in vintage transferware bowls and covered the soil with acorns and nuts. Keep the look natural using red pears and green leaves to finish the arrangement.
60-Second Video: Mantel inspirations
Shiny ornaments and decorative snowflakes brighten the fireplace mantel for Santa's arrival. Don't forget to hang the stockings!
Clearly easy
Glassware doubles as holiday decor when filled with ornaments. Collect clear glass objects such as vases, glasses, bowls and candlesticks. "Plant" a wine glass in a clay pot. Vary heights (turn some upside down to act as bases for others). Fill with ornaments, pinecones, branches, greens, ribbons and candles, all in coordinated colors.
Simply coordinated
The classic Christmas plant set the tone for this scene. Stemware pieces of varying heights display poinsettia blooms, and Christmas cards in coordinating motifs hang from a ribbon draped over the mirror. One or two simple ornaments complete this easy vignette. (Substitute silk poinsettia blooms if you want a long-lasting display.)
Take it to the max
Think about what you can do above and below a mantel. Here, tall glass containers show off candles tucked in mounds of cranberries or small ornaments. Greens and bell-trimmed stockings finish the lower part of the arrangement, but it's the glittering multipoint stars hung on fishing line above that make this mantel sparkle.
Make it shine
A variety of mercury glass and silver ornaments, votive holders and other accents create a mirrorlike display, which is especially pretty at night when the shimmer of candles bounces off the reflective surfaces. A wreath of fern fronds adds sophistication.
Repeating appeal
Repeating objects across a mantel is pleasing to the eye—and easy to do. On this mantel, silver mint julep cups hold silk (or real, if preferred) red carnations. A wreath and felt-decorated stockings complete the decor.
Natural with a twist
Kansas blogger Courtney Browning of 12th and White created this easy holiday mantel using natural elements such as pinecones, topiaries and a boxwood wreath.
Woodsy vibe
A forest inspired this mantel. Two young evergreens with root-balls wrapped in burlap and twine (plant the trees after the holidays!) anchor the asymmetrical grouping. Deer statues stand behind a fence built of cinnamon sticks. Upside-down clay pots act as stands for votive holders. Pinecones strung on fishing line create the garland; live greens and dried twigs dress up a store-bought twig wreath.
Get playful
Bright colors on packages, ornaments, garlands and more create a partylike atmosphere. Hang gift box lids covered with wrapping paper, bows and colorful tags. Stack coordinating packages on the mantel. Polka-dot ornaments mix with garlands made of beads and translucent disks found at party stores. "Ho-Ho-Ho" stockings add to the fun.
Striking wreath display
Hang your wreath on an unusual item, such as this old garden gate, for an eye-catching display. Other holders that can easily lean on a mantel: vintage shutters, fencing sections, trellises, window frames or a wooden sled. Frame the arrangement with candles, topiaries or vases.
Spotlight a hobby
A passion for sailing takes center stage on this mantel at a vacation home. Colors from the sailboat models repeat in long-needle greens, pinecones and a feather tree. Touches of red reinforce the seasonal message.
Pinecone mantel
To create this look, "plant" larger cones in clay pots and use tiny pinecones as "mulch" over the soil of a dwarf arborvitae. Scatter more pinecones and juniper sprigs across the mantel to continue the nature theme.
Joyful photos
A homemade photo collage is the star of this mantel. To make this project, find a cardboard crafts star or other holiday shape, such as a wreath or tree. Cut photos to fit the angles of the base shape. Glue photos to base, and mix in patterned paper for variety. Surround the collage with other Christmas items, such as ornaments, figurines or pine tree branches.
Red-and-white wonderland
A rosy wreath makes the perfect backdrop to this elegant winter vignette. Create a faux forest by wrapping festive paper and cloth over foam cones; hot-glue to secure. Use varying sizes of felt balls for "snow."
Snowy wreath
Turn a store-bought pinecone wreath into a showstopping mantel display. Spray-paint the wreath gray, then add spray snow and silver glitter. Glue on cardinals and shiny red ornaments for accent color. Keep the rest of the mantel simple with faux snow and a gift.
Candles and glass
Coordinated colors of vases, glasses and candleholders create a simple but elegant mantel display. Use a red ribbon for a garland, and complete the color palette with sprigs of greenery.
All-out winter wonderland
This mantel reflects the room's whimsical woodland theme and colors. A cardboard buck is flanked by poinsettia wreaths made from white and green felt, wooden vessels, pinecones and squirrel figurines. A glistening screen — made from white-painted plywood covered with hot-glued plastic ball ornaments — covers the non-working firebox.
Green-and-blue mantel
Lime-green lemon cypress trees stand in for a traditional swag or layers of greenery on the mantel. Wrap containers in inexpensive blue burlap, securing with pale green bows.
Candy jar mantel
Fill clear glass containers with candy that coordinates with your color scheme for an easy mantel or tabletop decoration.
Vintage shine
Vintage mercury glass trees and balls shine on this mantel.
Lovely leaves
Fabric leaves glued to a velvet ribbon make a simple garland for a mantel — or a buffet table.
Gold and gilded
Kansas blogger Courtney Browning of 12th and White created this easy holiday mantel. For a touch of glitz, she spray-painted real magnolia leaves gold; shiny and matte gold balls continue the gilded theme. Instead of a traditional evergreen wreath, she hung a black-and-gold convex mirror for an unexpected element in the scene.
Festive amaryllis
Red and red-tip amaryllis blooms pop out of a rustic collection of birch-bark vases.
Ethereal elegance
Nestled in fluffy ostrich feather boas, glass candlesticks with creamy white candles seem to float on clouds. A garland of gold and silver beads and layered snowflake ornaments adds an elegant touch.
Art for impact
Kansas blogger Courtney Browning of 12th and White added to the charm of her Christmas mantel by printing a free vintage pine tree and framing it. (Find the printable here.)
Candy creations
Nested in a pile of faux snow, glass vases overflow with red-and-white candies and candy-theme ornaments. We placed red foam letters (found at crafts stores) inside each vase to spell out joy. Coordinated red-and-white striped ornaments and candles add to the cheerful setting. A white ostrich feather boa adds a fun touch behind a premade red ornament wreath.
Casual sophistication
Paperwhites in tarnished silver urns add height to this mantel display, while short, flat pieces of greenery bring in more pops of color. Burlap stockings, like the overall mantel décor, have a casual yet sophisticated feel.
Winter palette
White vases, milk glass and hobnail glass create an interesting mix of containers for displaying sprigs of evergreen, shiny ornaments and silver-painted pinecones on this holiday mantel. Accent with votive candles and additional ornaments and pinecones.


text:
Morning Minutes: May 10
Morning Minutes: May 10
Word of the Day
Schadenfreude SHAHD-n-froi-duh (noun) Satisfaction or pleasure felt at someone else's misfortune - dictionary.com
Website of the Day
The Full Names of 26 One-Name Celebrities
Do you know birthday boy Bono's full name? How about Adele's? This site reveals the full names of 26 celebrities who only use one name.
Number to Know
9: Total years Winston Churchill spent as prime minister of Great Britain. He became prime minister on this date in 1940 after Neville Chamberlain received a vote of no confidence from Great Britain's House of Commons. He served two separate terms.
This Day in History
May 10, 1864: Jefferson Davis, president of the Confederate States of America, is captured by Union troops.
Today's Featured Birthday
Singer Bono (53)
Daily Quote
"Being deeply loved by someone gives you strength, while loving someone deeply gives you courage." - Lao Tzu


text:
CHICKEN for Ruby programmers
- CHICKEN for Ruby programmers
- Syntax
- Data types
- Examples
- CHICKEN and the Real World
- Meta programming
If you don't know much about CHICKEN yet, please take a moment to read the introductory part of The User's Manual. You're back? Good!
Paradigm independence
The most important design feature of Ruby is that it is purely object-oriented; everything is an object. Scheme is not an object-oriented language. In fact, it does not commit to any particular programming paradigm -- it offers complete and total freedom to the programmer. If you decide (a part of) a program is best implemented in an object-oriented fashion, you can choose to use one of the many object systems. Have a quick glance at the OOP category of the egg index to get an impression of the diversity of styles of object oriented programming you can use with CHICKEN. By the way, the list on that page shows all the available eggs for CHICKEN. We'll explain all about these later.
Besides object-oriented programming, you can also program in a procedural fashion (like you would in Pascal, for example) or in a functional style (a bit like Haskell or ML) and you can even experiment with message-passing like in Erlang, logic programming like you would with Prolog, or stack languages like Forth and Factor.
Ruby's origins are firmly rooted in Lisp. It takes many things and ideas from Lisp (symbols, lambdas, eval, metaprogramming, DSLs etc). What it doesn't take from Lisp it takes from Smalltalk, which was itself inspired by Lisp's clean syntax. All this means that once you're over the initial hump of grokking the syntax, you'll find yourself in pretty familiar territory.
Originally Ruby began as an implementation-defined language. That is, there was only one implementation (Matz's) and whatever that implementation did was the language spec. Nowadays, Ruby has rubyspec, an attempt to standardize the Ruby language.
Likewise, Scheme is a specification-defined language. There is one official language specification which says what Scheme is and how it works. CHICKEN is simply an implementation of that specification. There is one thing that is important to know right now: The Scheme specification is extremely minimal in design. It tries to define as few language constructs as possible, but these few should be so powerful that you will not need any more to make programs. This results in an extremely small spec and a very elegant and clean language with very few rules to remember, which makes it easy to learn.
However, in the real world you will need much more than just programming constructs, you need things to interact with the operating system, networking libraries, etc. That's where the difference between Scheme and other languages comes in: Every implementation of Scheme defines the things it thinks are necessary to build real programs with. Unfortunately, this means most Scheme programs are inherently not portable from one implementation to another, but it also means that Scheme implementations are free to experiment how they want and explore new language territory. This gives each Scheme implementation its uniqueness.
Fortunately, most Scheme implementations including CHICKEN are fairly portable to modern hardware architectures and operating systems. You may or may not be able to port a CHICKEN program to another Scheme, but you can port it from Windows to Mac OS X or Linux, or from the 32-bit Intel 386 to the 64-bit SPARC architecture, because CHICKEN runs in all those environments. Usually "porting" just means "running it on that system", because just like Ruby CHICKEN has procedures that are platform-independent, with multiple implementations where the platform itself differs.
CHICKEN's power is in how it extends the Scheme standard. It has a very comfortable interface to C that does not require you to touch a single line of C code in order to create bindings to existing C libraries, but it also gives you the freedom to embed CHICKEN in C code or C in CHICKEN code as you want. It offers a TCP/IP networking layer, it has great POSIX interoperability so you can interact with the OS. And most importantly: It can compile Scheme code to very efficient C code which can itself be compiled to machine code, giving you the best of both worlds: a dynamic language which allows you to program in the flexible way you are used to with Ruby, but this can be compiled for maximum efficiency.
The basics
The one thing that is most strikingly different between Ruby and Scheme is of course the syntax. Ruby has an extremely baroque syntax that allows you many freedoms in how you would like to write down things. Scheme, on the other hand, has only one way in which to write a given expression. Let's start by looking at an example. First we start by firing up an irb session and typing a little program:
irb(main):001:0> # My first program irb(main):002:0* [1, 2, 3, 4].map{|x| x + 1} => [2, 3, 4, 5] irb(main):003:0>
Now, we fire up a csi (chicken scheme interpreter) session:
#;1> ; My first program (map add1 (list 1 2 3 4)) (2 3 4 5) #;2>
In Scheme, lists are delimited with parentheses with its elements separated by spaces. As we can see, everything in Scheme is a list, even the expressions that you use to tell it what to do! An expression in Scheme is always a list with the operator on its first position and the operands following it. Procedures that accept no arguments are simply a list with only the procedure in it, for example (newline), which simply displays a newline character.
This simple rule also means that every parenthesis has a meaning. You can't add more parentheses or leave off parentheses like you can in most Ruby expressions. Adding extra parentheses simply applies the resulting expression as if it were a procedure:
#;2> ((newline)) Error: call of non-procedure: #<unspecified> Call history: <syntax> ((newline)) <syntax> (newline) <eval> ((newline)) <eval> (newline) <--
If (newline) returned a procedure, it would be called. But as it happens, newline simply returns an unspecified value which is not a procedure and thus can't be applied. We can also use the result of calling a procedure in the call to another procedure:
#;3> (add1 2) 3 #;4> (- 10 (add1 2) 1) 6
We see that arithmetic is a little different from Ruby, as a result of the simple rules Scheme has for its syntax. This may be a little awkward, especially with complex calculations:
#;5> (* (+ 1 (- 6 2) 2) (- 10 5)) 35
In Ruby (and other languages with algebraic syntax) this would have been
irb(main):002:0> (1 + (6 - 2) + 2) * (10 - 5) => 35 irb(main):003:0> # Alternatively: irb(main):004:0* (1 + 6 - 2 + 2) * (10 - 5) irb(main):005:0> # or even: irb(main):006:0* (((1) + ((((6 - 2)))) + 2) * (((10) - ((5))))) => 35
Both types of syntax have their advantages and disadvantages: The Ruby-like syntax is more natural, but you have to think about operator precedence rules. CHICKEN does not need operator precedence rules because the precedence can be determined from the way it's nested, but it's less natural for most people (though you get used to it very quickly).
Actually, right now you know almost all there is to know about Scheme's syntax! CHICKEN has a couple of extensions to the basic Scheme syntax, but we won't go into detail here. Later you'll see a couple of handy shortcuts, but this is basically it.
Variables are names for things. CHICKEN has vary lax rules for naming variables. Actually, any string is a valid identifier as long as you quote it correctly.
#;1> x = 10 => 10 #;2> x => 10 #;3> x-y-z = 10 NameError: undefined local variable or method `x' for main:Object from (irb):2
#;1> (define x 10) #;2> x 10 #;3> (define x-y-z 10) #;4> x-y-z 10 #;5> (define %x% 1) #;6> %x% 1 #;7> (define |a b c| 5) #;8> |a b c| 5
As you can see, because of Scheme's operator rules, symbols that would normally be separate tokens designating operators have no special meaning so we can use it in the middle of a name. The convention in Scheme is to use the minus sign as word separator (in Ruby, you would use an underscore for separating words). The final example shows how any string is allowed as a variable name: if the string contains syntax that would mean something else to Scheme you can enclose the variable name in pipe symbols. The pipe symbol itself can be escaped with a backslash, if you need it to be part of a variable.
To assign to a pre-existing variable we can also use set!:
#;1> (define x 10) #;2> x 10 #;3> (set! x 20) #;4> x 20
Top-level variables can also be overwritten by simply redefining them, but in some cases you need set!. However, set! is a typical artifact of an imperative programming style and in clean code you want to avoid using it.
Scheme also allows the binding of local variables. Bound variables behave like the defined variables above, however, they are only valid within a local scope. The top-level variables we've seen are the equivalent of a global in Ruby.
The most common binding constructs are let and let*. let allows for any number of bindings, none of which are related.
(let ((a 5)
(b 10))
(+ a b))
let* is like let, except that the bindings are evaluated in order, so subsequent bindings can reference earlier bindings.
(let* ((a 5)
(b (* 2 a)))
(+ a b))
There are other binding forms, such as letrec and the so-called named let. More information about these forms can be found in the Scheme specification.
Of course using simple expressions like this is not enough. You'll need procedures too. In Ruby, named procedures are actually methods on objects, but we can forget about that little detail for now:
def pythagoras(a, b) Math.sqrt(a**2 + b**2) end
(define pythagoras
(lambda (a b)
(sqrt (+ (* a a) (* b b)))))
Now that's interesting! Procedures are just regular variables in Scheme (a bit like functions in Javascript). We assign a lambda to it. We can do that in Ruby too, but it's not pretty:
some_class.send(:define_method, :pythagoras) {|a, b| Math.sqrt(a**2 + b**2) }
Just like in Ruby the def foo is shorter than the above, in Scheme we have a convenient shorthand for defining procedures too:
(define (pythagoras a b)
(sqrt (+ (* a a) (* b b))))
Recursion and tail-call optimization
In Scheme, recursion is a very important tool. In fact, it is so important that the Scheme standard demands tail call optimization (TCO), which basically means that you can have infinite recursion as long as the recursive procedure does not need to do anything after it returns. That sounds a bit strange, so here's an example:
irb(main):010:0> def add_up_to(num) irb(main):011:1> if num.zero? irb(main):012:2> 0 irb(main):013:2> else irb(main):014:2* add_up_to(num - 1) + num irb(main):015:2> end irb(main):016:1> end => nil irb(main):017:0> add_up_to(4) => 10 irb(main):018:0> add_up_to(9999) SystemStackError: stack level too deep
#;2> (define (add-up-to x) (if (zero? x) 0 (+ (add-up-to (sub1 x)) x))) #;3> (add-up-to 4) 10 #;4> (add-up-to 9999) 49995000
Note the + in front of the (add-up-to (sub1 ...)). That is a cue that this is not tail-recursive code: each level of recursion must eventually come back 'up a level' in order to complete the addition, and so the program must keep a live reference to every level of recursion until the final result is computed.
In most other Schemes, however, this will break just like in Ruby, because when the (+ (add-up-to (sub1 x)) x) expression is evaluated, the recursive call to add-up-to creates a new stack frame so that when it returns the x can be added to the result.
[This code will 'break' in CHICKEN too, but only for much larger numbers. Although CHICKEN doesn't have an arbitrary stack depth, if you try (add-up-to) on a large enough number, you'll use up all your system memory before getting an answer. Read on for a better way to write it.]
All Schemes know that when there is nothing that needs to be done after a procedure returns, there is no point in returning to the procedure that called it at all: instead it can just return directly to the procedure that called the current procedure. So the call can be optimized to become a goto, replacing the current stack frame.
Here is a tail-recursive version. Ruby still can't handle it:
irb(main):027:0> def add_up_to(x) irb(main):028:1> def inner(x, y) irb(main):029:2> if x.zero? irb(main):030:3> y irb(main):031:3> else irb(main):032:3* inner(x-1, x+y) irb(main):033:3> end irb(main):034:2> end irb(main):035:1> inner(x, 0) irb(main):036:1> end => nil irb(main):037:0> add_up_to(9999) SystemStackError: stack level too deep
But Scheme can (this works in all Schemes):
#;2> (define (add-up-to x) (define (inner x y) (if (zero? x) y (inner (sub1 x) (+ y x)))) (inner x 0)) #;3> (add-up-to 4) 10 #;4> (add-up-to 9999) 49995000
Note that the recursive call to inner isn't nested inside another function call, such as the (+ (add-up-to ...)) in the first version. This is the hallmark of a tail-recursive program. (The astute reader might note that it actually *is* nested inside an (if ...) procedure, but conditional forms like if are handled intelligently in tail-recursion. The if statement itself is not nested inside a procedure call, so all is well.)
As you'll notice, this version is a lot faster in CHICKEN too because it does not have to travel back through all those empty "stack frames". In the first example, CHICKEN's memory usage increases upon every recursion: for large numbers, it will break because it can't allocate any more. But in the second example, memory usage will stay constant and simply loop forever.
Ruby programmers will be familiar with blocks. Classic example in Ruby is the map method used to iterate over a collection, executing a block of code for each item in the collection.
>> [1, 2, 3, 4, 5].map { |x| x * x } => [1, 4, 9, 16, 25]
Scheme also contains blocks, though we call them anonymous procedures usually. Procedures are created using the (lambda args body...) body form. This syntax is a little more verbose than Ruby's, but the trade off is that more than one procedure can be passed as an argument, whereas Ruby generally only allows one.
#;1> (map (lambda (x) (* x x)) '(1 2 3 4 5)) (1 4 9 16 25)
A more complicated example involves opening and closing files. Say we wanted to create a utility like wc -l that counts the number of lines in a file. In Ruby, it might look something like:
puts IO.foreach("myfile").to_a.length
Similarly, Scheme uses anonymous procedures to create the same behavior:
(with-input-from-file "myfile"
(lambda () (port-fold (lambda (line lines-so-far) (add1 lines-so-far)) 0 read-line)))
This Scheme code also showcases some typical functional style, using a fold operation instead of incrementing the value of a variable.
Data types
Now we have a basic grasp of Scheme's syntax, we can have a look at the different data types CHICKEN has to offer. We will do this from a Ruby perspective.
In Ruby we use arrays for storing lists of things. The obvious Scheme equivalent type is the list, you'd think. This is sort of true:
x = [1, 2, 3, 4] x.map{|y| y + 10 } x.each{|y| puts y }
(define x '(1 2 3)) (map (lambda (x) (+ x 10)) x) (for-each print x)
Note that Scheme does not have the block scoping bug. Another thing that we should note is the first line. We create a list by quoting it. This allows us to enter the list in such a way that CHICKEN knows the list is just that; a list, and not a procedure application of the procedure called 1 on the arguments 2 and 3. The apostrophe takes care of that.
However, we must always remember that the Scheme list is more like a linked list. This means that it is very flexible in how we can add things to it and alter it, but it also means that traversing it takes more time as more items are added to it. Accessing an element is an O(n) operation, where n is the position of the element.
If we want O(1) operations on our lists, we can use a vector:
#;1> (define x (vector 1 2 3 4)) #;2> (vector-ref x 2) 3 #;3> (define y (list 1 2 3 4)) #;4> (list-ref y 2) 3
Adding new elements to a vector requires resizing or even copying the vector, just like it would in Ruby. So whenever you're contemplating using a list type, think about the properties you want the list type to have. This may sound odd, but in fact this gives you much more flexibility than Ruby, where you have the choice of using an Array, or... using an Array. However, as Knuth famously said: "Premature optimization is the root of all evil", and you should probably take the list solution until it's proven that you need vectors. Also, because Lisp was built on lists, it is very good at manipulating them, so they're most likely the most convenient datatype.
CHICKEN also offers you several other types of array-like types, each with their own unique time and space properties. Which you'll use depends on the task at hand and the situations your system will be used under.
List procedures
Lists are, as mentioned before, linked lists. This means they always consist of two parts: a head and a tail. We've seen the list procedure which creates lists, but this works on lower primitives:
#;1> (list 1) (1) #;2> (cons 1 '()) (1)
The () is the empty list. It is itself a list, but it is also a single symbol. It serves as the end of list marker. That's why the list construction procedure, cons, can create longer lists too:
#;1> (list 1 2 3 4) (1 2 3 4) #;2> (cons 1 (cons 2 (cons 3 (cons 4 '())))) (1 2 3 4)
To take the head/tail of these lists we have two procedures:
#;1> (car '(1 2 3 4)) 1 #;2> (cdr '(1 2 3 4)) (2 3 4) #;3> (cdr (cdr '(1 2 3 4))) (3 4) #;4> (car (cdr (cdr '(1 2 3 4)))) 3 #;5> (caddr '(1 2 3 4)) ; combination of car cdr cdr 3 #;6> (car (car '(1 2 3 4))) Error: (car) bad argument type: 1 #;7> (cdr (cdr '(1))) Error: (cdr) bad argument type: ()
Actually, cons just sticks two things together, so we could also stick together two numbers:
#;1> (cons 1 2) (1 . 2) #;2> (car (cons 1 2)) 1 #;3> (cdr (cons 1 2)) 2
Two things stuck together are called a pair. By sticking together more things without an end of list marker, we can create an improper list:
#;1> (cons 1 (cons 2 (cons 3 4))) (1 2 3 . 4)
You should not use lists like these unless you know what you're doing, because all list library procedures expect proper lists: lists with end markers. CHICKEN supports the full SRFI-1 out of the box. Have a look at that document and compare it to the Ruby standard Enumerator and Array methods. Most of the procedures in srfi-1 will look very familiar to you. Here are some examples:
$ chicken-install srfi-1 $ csi #;1> (import srfi-1) ;; Not needed in Ruby ; loading library srfi-1 ... #;2> ;; [1, 2, 3] + [4, 5, 6] / [1, 2, 3].concat([4, 5, 6]) (append '(1 2 3) '(4 5 6)) (1 2 3 4 5 6) #;3> (map add1 '(1 2 3 4)) ;; [1, 2, 3, 4].map{|x| x + 1} (2 3 4 5) #;4> ;; No equivalent because map works on one object: (map + '(1 2 3 4) '(5 6 7 8)) (6 8 10 12) #;5> ;; [1, 2, 3, 4].each{|x| puts x} (for-each (lambda (x) (printf "~A\n" x)) '(1 2 3 4)) 1 2 3 4 #;6> ;; [1, 2, 3, 4, 5, 6].select{|x| x.even? } (filter even? '(1 2 3 4 5 6)) (2 4 6) #;7> (import (chicken string)) ;; To get the conc procedure #;8> ;; [1, 2, 3, 4].inject(""){|str, x| str + x.to_s} (fold (lambda (x str) (conc str x)) "" '(1 2 3 4)) "1234"
Luckily, you are a Ruby programmer, so we will not have to go through the whole "explaining what symbols exactly are" again :) Actually, Ruby borrowed symbols from Lisp.
:foo "blah".to_sym :blah.to_s
'foo (string->symbol "foo") (symbol->string 'foo)
As we can see, a symbol is only a quoted variable name! This is the origin of symbols and also the reason you can send symbols representing method names to objects in Ruby. Symbols have all the same semantics as Ruby's symbols: they can be compared in constant time and they take up very little memory space.
Strings are simple. Just like in Ruby, we have strings enclosed by double quotes: "foo" works the same in Ruby as it does in CHICKEN. CHICKEN's double quoted strings work more like Ruby's single-quoted strings, though. There is no string interpolation and other things; a string is just a string.
x = 10 y = "x contains #{x}" z = "x contains " + x.to_s
(import (chicken string)) ;; To get the conc procedure (import (chicken format)) ;; To get the sprintf procedure (define x 10) (define y (sprintf "x contains ~A" x)) (define z (conc "x contains " x)) ; Conc automatically converts its arguments to strings. We also could do: (define z (string-append "x contains " (->string x)))
Note that ->string is simply the name of a procedure, including the arrow.
It may be important to know that Scheme also has a character data type, just like Ruby:
irb(main):001:0> "foo"[0] => "f"
#;1> (string-ref "foo" 0) #\f #;2> (char->integer #\f) 102
You will probably not need this data type for your first few Scheme programs so we won't go into it deeper here.
String procedures
CHICKEN comes shipped with SRFI-13, which is a library of string procedures which is intended to be a lot like SRFI-1, which we already looked at a few sections ago:
$ chicken-install srfi-13 $ csi #;1> (import srfi-13) ;; Not needed in Ruby ; loading library srfi-13 ... #;2> ;; "abc" + "def" (string-append "abc" "def") "abcdef" #;3> ;; "abcdef"[-3..-1] (string-take-right "abcdef" 2) "ef" #;4> ;; "abcdef".rjust(10) (string-pad "abcdef" 10) " abcdef" #;5> ;; ["this", "is", "very", "cool"].join(" ") (string-join '("this" "is" "very" "cool")) "this is very cool" #;6> ;; "this is very cool".split(" ") ;; NOT from srfi-13 but chicken's own (chicken string) module: (string-split "this is very cool" " ") ("this" "is" "very" "cool")
Regular expressions
Just like in Ruby, there's a Regex data type, but in CHICKEN there is no special syntax for it:
irb(main):001:0> /(.)(.)(\d+)(\d)/.match("THX1138.").to_a => ["HX1138", "H", "X", "113", "8"]
#;1> (import (chicken irregex)) ; loading library chicken.irregex ... #;2> (irregex-search "(.)(.)(\\d+)(\\d)" "THX1138.") #<regexp-match> #;3> (irregex-submatch #2 0) "HX1138" #;4> (irregex-submatch #2 1) "H"
The irregex-search procedure automatically transforms the first string to a regexp object. You can also do that yourself:
#;3> (irregex-search (irregex "(.)(.)(\\d+)(\\d)") "THX1138.")
The advantage of doing this is that when you need to match several strings you can use the same regexp so it doesn't have to precompile the regexp every time you call irregex-search.
The final datatype we use a lot in Ruby is the Hash. In CHICKEN there are two datatypes you could use instead of the Ruby Hash; association lists (or alists for short) or hash tables.
Association Lists
Association lists are the simpler Hash like structure in chicken. Effectively, alists are standard lists of pairs, where the first item in the pair is the key and the second item is the value. Consequently, alists have a nice literal form:
'((foo 1) (bar 42) (baz 101))
To lookup a value in the alist, use assoc. For example to check if the pair (bar 42) is in the alist:
#;1> (assoc 'bar '((foo 1) (bar 42) (baz 101))) (bar 42)
If the pair is not in the list, you would get the boolean false (#f). If you need more stringent checks, you can also use assq or assv, learning more about these procedures is an exercise for the reader.
Alists may simplistic, and inquisitive readers may notice that lookup is O(n) time. However, they are convenient and adding new items is a constant time operation. You may find they work in may places that you might use a small Hash in Ruby.
Hash tables
For more complex hashing operations, CHICKEN supplies true hash tables.
$ chicken-install srfi-69 $ csi #;1> (import srfi-69) #;2> (define h (make-hash-table)) #;3> h #<hash-table> #;4> (hash-table-set! h 'foo 12) 12 #;5> (hash-table-set! h 'bar 101) 101 #;6> (hash-table-ref h 'bar) 101 #;7> (hash-table-delete! h 'bar) #t #;8> (hash-table-ref h 'bar) Error: (hash-table-ref) hash-table does not contain key bar
Hash tables are more powerful overall, but do not offer convenient literal notation. If you need to convert from a hash table an alist you can use hash-table->alist. The alist->hash-table procedure converts in the opposite direction. For a complete list of supported procedures, check the hash table add-on library docs.
Scheme has a boolean type where #f is false and #t is true. Its handling of truthiness is a lot like Ruby's; anything that is not #f is treated as being true:
#;1> (if #f (print "WTF, it's true") (print "It's not true")) It's not true #;2> (if #t (print "Yes, it's really true") (print "No, it's not true")) Yes, it's really true #;3> (if "Some random other value than #f" (print "Yes, this is also true") (print "No, it's not true")) Yes, this is also true
Ruby's nil does not have a direct equivalent in Scheme. In the situations where a not present value is supposed to be returned, usually #f is used:
#;1> (import srfi-1) ; loading library srfi-1 ... #;2> (find even? '(3 1 4 1 5 9)) 4 #;3> (find even? '(1 3 7 9)) #f
In cases where a procedure really has no sensible thing to return, we use the special void value, returned by the void procedure:
#;1> (define (say-hello) (print "Hello") (void)) #;2> (say-hello) Hello #;3>
As we see, the interpreter understands that there is no proper value to return so it displays the prompt immediately without showing the result value. The example is a little contrived, because in real code we wouldn't explicitly call (void) because print already returns the void value.
Now we have the tools to make programs, let's look at a few larger programs to better appreciate how one would program in CHICKEN.
CHICKEN and the Real World
Programming is about more than having a pretty language, so let's look at what CHICKEN has to offer for real construction work.
Eggs are to chicken what gems are to Ruby: installable extensions like libraries and programs. The list of eggs is where you should look first when you are going to implement something big. You can install an egg almost like you install a gem, as follows:
$ chicken-install matchable
This downloads and installs the egg with the name "matchable". This egg has no dependencies, but if it did it would have downloaded and installed them as well.
Meta programming
A hot topic in the Ruby community is meta programming and DSLs (Domain specific languages). These ideas originated from Lisp, which means you can just keep on trucking in CHICKEN!
Data is code and code is data
The most fundamental concept of Lisp is that code is data. As we've seen, procedure calls look like lists. We've also seen that we can quote lists to "block" Scheme from interpreting a list as a procedure call. We can also turn this around on its head and force a list to be evaluated as code:
#;1> (define calculate '(+ 1 2 3 4)) #;2> calculate (+ 1 2 3 4) #;3> (eval calculate) 10 #;4>
"Big deal", you might say, "Ruby also has eval". But the difference is what matters: In Ruby you have to construct strings to be evaluated, which means you need to be able to parse strings if you want to change a Ruby-program-stored-as-string. In Scheme we can simply hack the list. The program is stored in a parsed state, so to speak.
If we would want to change the operator from + to *, we can simply do that:
#;1> (eval (cons '* (cdr calculate))) 24
This is much more robust than any regexp hacking or ad-hoc parsing on strings you want to evaluate.
One of the coolest concepts, but also the one most easily abused is macros. Because Scheme stores code as data, you can change the code on-the-fly as described above. You can do that at run-time on random data through eval, but you can also do it at compile-time on your program, which is usually the best time to do it.
Scheme macros rewrite your code during compile time. They can range from simple to complex, with some macros defining entire "sublanguages" embedded in Scheme.
Some people call Rails' acts_as_foo methods "macros". This description is not wrong, as these methods do rewrite your classes in a similar way to Scheme macros, but they are not quite as powerful.
Here is a simple example of a task that is easy in Scheme, but much, much harder using Ruby's eval. Say you were debugging a program and found yourself printing out variables at certain points in the execution, along with the name of the variable so you could tell what you were looking at.
(print "myvar: " myvar)
You decide that repeatedly typing the variable name twice (once to indicate which variable, once to get the value) is a waste of time. Using a macro, you can quickly and easily abstract away the common syntax into one place.
(define-syntax ez-debug (syntax-rules () ((_ var) (print 'var ": " var)))) (define myvar '(this is a list)) (ez-debug myvar)
This simply wouldn't have been so easy with a regular procedure. By the time a procedure is called, syntactic information like variables names has been optimized away. If you are interested in a procedure like this in Ruby go to http://stackoverflow.com/questions/2603617/ruby-print-the-variable-name-and-then-its-value


text:
Erstad reinjures bum foot
This is the kind of season it has been for the White Sox: It took all of two batters for center fielder Darin Erstad to reinjure the bum foot that had kept him out of action for nearly three weeks.
Erstad made a diving catch on a line drive off the bat of the Cubs' Mike Fontenot during the first inning of Friday's game at U.S. Cellular Field. Besides the out, Erstad got an early exit from the game for his troubles.
"You could tell in the first inning that some of the guys were like, 'Dang,' " third base-man Josh Fields said. "Everyone was kind of waiting for him to come back, and it might be a spark to get some-thing going and get guys on base. But it didn't happen."
Erstad underwent an MRI as a precaution. Indications are the injury isn't serious, and test results will be known today.
"I talked to (trainer Herm Schneider) and he said (Erstad) didn't have any color, any inflammation, hopefully the MRI comes clean," Sox manager Ozzie Guillen said. "(Erstad) told me he couldn't go. He was the leadoff guy, I didn't have time to talk to him after that. I told (Luis) Terrero to get loose and Hermie take care of the rest."
Erstad was not available for comment afterward.
"Yeah," Erstad had said only hours earlier, when asked whether his condition had im-proved. "Inside you know when you are able to help the team win, and I feel like I've got to that point. Now, it's just a matter of going out there and playing.
"Running the bases, that was a big hurdle. In the outfield, being able to break and get to balls. You don't want to be out there and have your range limited and hurt your pitchers. Those are just things inside like, 'You know you can get to that ball in the gap, or if there's a single, I can get to third from first.' Just little things like that."
With outfielder Scott Podsednik scheduled to return to active duty Monday night, there were hopes the Sox would be at full strength.
"That would be nice, yeah," Erstad said. "It has been a grind. Guys have been working their tails off, trying to make do with what we got, and they've been doing a great job.
"It just hasn't worked out. It's not by lack of effort, that's for sure. It's been tough to watch because you are pulling for everyone and pulling for each other but there's no explanation.
Said Guillen: "I think it is a help. We'll be better than with what we have. Hopefully, (Erstad) can play the way he was playing before he got hurt. He's always going to bring something good to the ballclub.
"Erstad is going to be the thing we need. Hopefully, he can stay healthy all year and help us to get better.
"Just (a) crazy year," Guillen continuted of the injury-riddled Sox. "It's crazy the way we get injured, crazy how, I don't think we've had too many days where we put the complete lineup together, the one we had in plans."
Contributing: Staff writer Nathaniel Whalen
More Cubs and Sox coverage can be found online at www.dailysouthtown.com/sports.


text:
Taste of Travel: Escape to Marco Island
Florida tourism is at an all-time high this year as people are "snow done" with the long, brutal winter and early spring weather. Airports are overcrowded, and the Marriott Resort Marco Island is no exception. This resort is at full capacity during my escape from the polar vortex.
So, what does a winter-worn traveler do upon arrival? First, take a walk on the white sand beach and dip my toes in the ocean. And then take a nap on the balcony lounge chair overlooking the same water scene for the sole purpose of being out in the warm air. Oh, and the best part is that this time of year there is little humidity, with temperatures hovering in the low 80s just about every single day.
Now that I'm acclimated to Marco Island, it's time to take the next step and head to The Spa at Marco Island Marriott Beach Resort.
To the spa technician who asks me to choose from a few massage oil blends, I answer: "Eucalyptus and peppermint oil, please," with the mindset that eucalyptus will serve my post-flu symptoms of lingering congestion, and the peppermint will revive me. To the question on selection of teas, I choose the white ambrosia. These are the most strenuous decisions I will make before I lie on the infrared massage table with the goose-down cushiony bedding.
Now, when I mention this massage, let me be clear: This is a heavenly massage treatment that is new to the resort. After 50 minutes of working through my knotted muscles and hydrating my skin, the service isn't over. This is when the massage therapist covers each foot in a warmed towel, and covers my eyes with a scented mask before exiting for 20 minutes so I can nap. When the therapist returns, a bell is rung with chimes that gently awaken me, the eye mask is removed and I climb off the table feeling refreshed and ready to embrace the rest of the day.
Yes, I was smitten with this spa and returned the next day for a deluxe Moroccon oil pedicure before I left to head back to the cold climate I escaped.
Surprisingly, during my short stay, I didn't venture outside of the resort at all. There simply was no need, other than to take a two-plus hour catamaran ride to Kice Island to gather shells. Dinners were spent on property, first at Korals for sushi with a few cocktails of the aptly named Marco Island Sunset. My favorite menu selection was the ceviche of daikon-wrapped sea scallop with Florida red snapper and yellow fin. The Tropic Sunset selection looked pretty in pink and was also quite tasty with spicy tuna, white tuna tataki and nori dust wrapped in soy paper.
Breakfast could have been at Tropiks Restaurant, but hey, breakfast served in my stylishly designed room to enjoy on my deck overlooking the beach was my preference. Whatever you decide to do for the day is a personal choice, but know that golf on-resort is prestigious, the beaches endless and accommodating with complimentary lounge chairs and towels. And the 10,000 Islands Waverunner Tour (MarcoIslandWaterSports.com) is not to be missed, if only to experience the challenge of jetting on the ocean before slowing down along the Everglades to marvel at the dolphins and manatees, not to mention a bald eagle in a nest with its baby.
Shopping was on property as well, with the spa and a few women and men's stores along the corridors between buildings. Other than time spent shopping or at one of two golf clubs on resort, there are plenty of water sports such as paddle boarding, Hobie Wave sailboats to ride, as well as parasailing, kayaking and pedal boating, but not much else to do other than take a long walk or run on the stretch of white sand, and that's the point here: to slow down on Marco Island and make watching sunsets the only thing on your to-do list.
Sunsets are spectacular on Marco Island, and the added attraction of dinner at Quinn's is only the beginning. Gather under one of the resort's Chickee Huts and pop open a bottle of Champagne to celebrate the sensational sunset. Then head to Quinn's, where you can dine casually on the cusp of the sandy beach, listen to a live band entertain and watch a fire dancer perform gymnastics with lit torches as entertainment. The fish tacos are a good choice here, and a margarita or two washes it down. If you prefer a more upscale menu, Kurrents offers dining outside, and has the best pistachio-crusted red snapper dish I've ever had to the pleasure to taste. If you prefer Italian, lunch at 400 Pazzi's is where you can score the best flatbread pizzas, and be sure to order a side of grilled artichoke hearts.
• 2 1/2 lbs. fresh white fish cut into 6-oz. portions
• 2 cups all-purpose flour
• 8 whole eggs
• 3 cups panko breadcrumbs
• 1 lb. pistachios (shelled)
• 1 t chopped cilantro
• 3 oz. olive oil
• 3 whole lemons
• Sea salt and fresh ground black pepper, to taste
In a food processor, finely chop breadcrumbs and pistachios. Set up breading station (keep separate): flour, eggs and breadcrumb/pistachio mixture. Place fish fillets in flour, followed by egg and concluding in the breadcrumb/pistachio mixture.
Pre-heat sauté pan over medium-high heat on stove with olive oil. Place crusted fish fillets in pan and sear both sides. Once the exterior of the fish is golden-brown, season fish with fresh-squeezed lemon juice, sea salt and fresh ground black pepper.
Place seared fish on a sheet to finish cooking in the oven until an internal temperature of 155 F is reached. This is the serving temperature.
— Courtesy of Marriott Resort Marco Island
Mix 1.5 oz. Bacardi Limon with equal parts orange juice and pineapple juice. Add a splash of grenadine to achieve the color of the most spectacular sunset, The Marco Island sunset!
Charlene Peters is editor special features for GateHouse Media. She can be reached by email at email@example.com.


text:
If one thing has the potential to unite the fractious U.S. House of Representatives, it is the Palestinian bid for statehood at the UN. First up, we have Florida Republican Ileana Ros-Lehtinen, the Chairwoman of the influential House Foreign Affairs Committee, pushing a bill that would make U.S. funding of UN agencies conditional on how the body votes this month on Palestinian statehood. But the bill, which was just presented in the House, would also allow the U.S. to suspend financial support to the Palestinian Authority. It certainly has some interesting suggestions. Three stand out in particular, from a summary of the 153-page bill released by the Chairwoman's office:
Title IV – Status of Palestinian Entities at the United Nations: Opposes efforts by the Palestinian leadership to evade a negotiated settlement with Israel and undermine opportunities for peace by seeking de facto recognition of a Palestinian state by the UN (through gaining membership for "Palestine" in UN agencies or programs). Withholds U.S. contributions from any UN agency or program that upgrades the status of the PLO/Palestinian observer mission.
Title V – Goldstone Report: States that it is U.S. policy to lead a high-level diplomatic campaign calling for the revocation and repudiation of the Goldstone Report and its follow-on measures by the UN General Assembly. Also states that it is U.S. policy to consider the Goldstone Report, which falsely accused Israel of deliberately attacking Palestinian civilians during Operation Cast Lead, to be irredeemably biased and unworthy of consideration, legitimization, or support. Also states that it is U.S. policy to strongly and unequivocally oppose any consideration, legitimization, or support of the Goldstone Report or measures stemming from the report in multilateral organizations, and to encourage other nations to repudiate the report. Would also withhold U.S. funding from the Goldstone Report and its preparatory and follow-on measures.
Title VIII – UNRWA: Prohibits U.S. funding to UNRWA, the United Nations Relief and Works Agency, which aids Palestinian refugees. Despite failing to meet the requirements under U.S. law to obtain foreign assistance, UNRWA has received about $500 million in FY 2009 and 2010 alone, with over $230 million in further funding included in the Administration's FY 2012 budget request. The prohibition on funding would remain in place until UNRWA: vets its staff and aid recipients through U.S. watch lists for ties to Foreign Terrorist Organizations; stops engaging in anti-Israel propaganda and politicized activities; improves its accountability and transparency; and stops banking with any financial institutions under U.S. designation for terror financing or money laundering.
So yes, while it's little we have not heard before ("Second verse, same as the first!"), it is demonstrative of conservative opinion these days towards Israel, the Palestinians and the UN (and, arguably, "internationalism" in general).
But we also have House Democrats, despite Obama's vow to exercise the U.S.'s veto power in the UN Security Council against the Palestinian effort, joining with Republicans in proposing punitive actions against the Palestinians. Democrat Steny Hoyer of Maryland and Republican Eric Cantor of Virginia have introduced a (non-binding) resolution, drawing hundreds of signatures, which would strip the Palestinian Authority of the US$600 million worth of aid payments it receives from the U.S. government. Democratic Congressman of NJ Steve Rothman, who sits on the powerful House Appropriate Committee, and who supports cutting aid to the Palestinians if they proceed at the UN, had the following to say to Washington Jewish Weekly:
The P.A. is acting irrationally and against its own interests. These resolutions are unambiguous, and when put into effect . . . will have a devastating impact on the Palestinian economy. Most of the Palestinian leadership has decided to turn a blind eye to the terrible consequences that will result upon their own people.
Another Democratic-backed resolution is aimed at U.S. allies who have expressed support for the Palestinian initiative. It would "prohibit Foreign Military Financing Program (FMFP) assistance to countries that vote in the UN General Assembly in favor of recognizing a Palestinian state in the absence of a negotiated border agreement between the Government of Israel and the Palestinian Authority." So far, it's main supporters are all Democrats — Steve Israel and Eliot Engel of NY, Robert Brady of Pennsylvania and Steve Rothman of NJ. None of these individuals are no-name Congressmen: Israel, a member of several Israeli caucuses in the House, was appointed by Nancy Pelosi to serve as the head of the 2012 Democratic Congressional Campaign Committee and, along with Rothman, sits on the House Appropriations Committee. Engel is a member of the aforementioned House Foreign Affairs Committee. Brady has a seat on the House Armed Services Committee.
The multibillion-dollar FMFP is overseen by the Department of Defense but ultimately answers to Congress because it was established during the Cold War by Congress through a law called the Foreign Assistance Act. The bill, first reported on by Washington Jewish Weekly, is based on the rationale that foreign countries that oppose Israel should no longer receive U.S. military assistance.
One presumes that the bill is primarily aimed at Egypt and Jordan, who are, respectively, the second and third largest FMFP recipients in the Middle East, with Israel being the number one beneficiary of the program (the numbers for 2009: Israel, US$2.55 billion; Egypt, US$1.3 billion; Jordan, US$335 million).
This is the Department of Defense's description of the FMFP (kind of reads like a press release for General Dynamics, doesn't it?):
The principal means of ensuring America's security is through the deterrence of potential aggressors who would threaten the U.S. or its allies. Foreign Military Financing, the U.S. government program for financing through grants or loans the acquisition of U.S. military articles, services, and training, supports U.S. regional stability goals and enables friends and allies to improve their defense capabilities. Foreign Military Sales (FMS) is made available under the authority of the Arms Export Control Act (AECA). Congress appropriates FMF funds in the International Affairs Budget, the Department of State allocates the funds for eligible friends and allies; and the Department of Defense executes the program. FMF helps countries meet their legitimate defense needs, promotes U.S. national security interests by strengthening coalitions with friends and allies, cements cooperative bilateral military relationships, and enhances interoperability with U.S. forces. Because FMF monies are used to purchase U.S. military equipment and training, FMF contributes to a strong U.S. defense industrial base, which benefits both America's armed forces and American workers.
Lebanon, Saudi Arabia, Iraq and Turkey also benefit from FMFP assistance.
Considering that the list of proscribed recipients would include valuable U.S. "allies" in the Mideast, it is not an idle threat (whereas, say, China, the EU and Russia could care less — more arms sales opportunities for them worldwide).
Then again, the Democratic-written bill would allow the president to review the suspensions on a case by case basis, so maybe it is an idle threat after all. Still, it sends an inescapable message: you're expendable when it comes to Israel.
It says a lot about U.S. politics that while an international small arms treaty cannot win Congressional U.S. support because of Second Amendment concerns, a bill that would suspend all military aid to human rights violators such as the Egyptian, Turkish, Pakistani and Saudi Arabian militaries only exists because of the U.S. commitment to blocking a UN recognition of Palestinian statehood, which, according to the U.S. Government, is conditional on the following:
Palestinian State: No aid is permitted for a future Palestinian state unless the Secretary of State certifies that the governing entity of the state
1. has demonstrated a firm commitment to peaceful coexistence with the State of Israel [NB: this would exclude Hamas as it stands today];
2. is taking appropriate measures to counter terrorism and terrorist financing in the West Bank and Gaza in cooperation with Israel and others; and
3. is working with other countries in the region to vigorously pursue efforts to establish a just, lasting, and comprehensive peace in the Middle East that will enable Israel and an independent Palestinian state to exist within the context of full and normal relationships.
This restriction does not apply to aid meant to reform the Palestinian governing entity so that it might meet the three conditions outlined above. Additionally, the President is permitted to waive this restriction for national security purposes.
These bipartisan Congressional efforts show just how much Washington is willing to gamble on Israel's behalf this September. While some Democrats have announced their opposition to the GOP's UN-targeted bill, the FMFP and aid suspension resolutions may yet be one "liberal" defense-slashing bill we might see many Congressional Republicans supporting.
Might. After all, the defense industry sells many of the same weapons to both Israel and countries like Saudi Arabia. Who cares who recognizes who as long as both keep buying!
Paul Mutter is a graduate student at the Arthur L. Carter Journalism Institute at NYU and a contributor to Foreign Policy In Focus.


text:
Full legalization of marijuana offers many challenges
If public opinion polls mean anything, the rest of the country could soon be following Washington State and Colorado in legalizing medicinal and recreational marijuana.
A recent CBS poll says 51 percent of Americans support full legalization of marijuana. A similar Gallup poll from October 2013 puts that figure at 58 percent, which marked the first time a clear majority of Americans are in favor to legalize recreational weed.
"This is something we need to address sooner rather than later, and it's not going away anytime soon," Scott E. Yasko, a national account executive with Prium, a Georgia-based medical intervention company, said during a panel discussion at the National Rx Drug Abuse Summit.
This specter of legally available marijuana presents concerns for drug addiction counselors, public health officials, and policy leaders who are already embattled in the effort to stem prescription opiate drug abuse.
Fall River pharmacist Tom Pasternak, the owner of Walsh Pharmacy, attended the marijuana panel, and said marijuana might have some medicinal benefit, but he asked, "At what expense?"
"In the long run, it will make our society worse," Pasternak said. "We don't need more people under the influence of chemicals."
Marijuana was used for pain management until the turn of the 20th century, when other medicines such as aspirin entered the market. By 1920, the League of Nations began moving to restrict marijuana. By 1937, the first legislation to criminalize marijuana was enacted in the United States.
There are several success stories of patients smoking marijuana to manage pain, but the federal government still classifies marijuana as a Schedule 1 drug, which by definition, means that the government still sees it having no legitimate medicinal purpose and a high chance of addiction.
Despite the Colorado and Washington State laws, the federal Controlled Substances Act, passed by Congress in 1970, still classifies marijuana as an illegal narcotic, and so it is technically still a crime to possess and sell weed even in states that allow for medicinal or recreational pot.
An August 2013 memo from the U.S. Department of Justice calls for a sort of hands-off approach to enforcing marijuana laws in states that allow for medicinal and recreational purposes.
Twenty-one jurisdictions, including Washington, D.C., have legalized recreational marijuana. Twelve states are considering measures to allow medicinal marijuana while nine states are looking at ballot measures and legislation to legalize recreational pot. A 2012 ballot measure legalized medicinal marijuana in Massachusetts and authorized the state Department of Public Health to craft regulations on the dispensaries that will cultivate and sell medicinal marijuana. Pro-cannabis advocates are already eyeing a ballot measure to legalize full recreational marijuana in Massachusetts.
Rachel Brozina, an Arizona-based attorney, said the legalization efforts will have "some interesting implications" as far as employment law is concerned. For example, will companies be able to fire someone for smoking weed if it's legal where they live? Also, lawmakers and police will be challenged to respond to people who smoke marijuana and operate a vehicle, given that some people metabolize marijuana differently than others.
"There will be a lot of litigation in this area of criminal law," Brozina said.
Meanwhile, statistics show that more children are being exposed to marijuana in states that have decriminalized weed, said Michael K. DeGeorge, associate director of medical affairs at Ameritox, a medication monitoring company based in Baltimore.
In 2012, DeGeorge said, marijuana was "far and away" the most common illegal drug that first-time users reported using that year. About two-thirds of first-time illegal drug use that year was from marijuana. Prescription painkillers ranked second. The numbers work out to about 7,500 new users of marijuana each day, DeGeorge said.
The fluctuations in marijuana use coincide with how much risk people perceive it to have. Pot use by high school seniors peaked in the late 1960s and '70s when marijuana risk was considered low. By the early 1990s, thanks to aggressive public education campaigns about it being a gateway drug, teen pot use fell to its lowest levels, but it has been creeping back up in the last five years, which coincides with cannabis advocates' efforts to repeal the prohibition.
Still, the numbers show marijuana to have some addictive qualities. DeGeorge said 58 percent of addicts admitted to treatment centers in the country said marijuana was their primary substance of abuse, and that 40 percent of all admitted addicts report abusing marijuana, whether it be their primary, secondary or even third drug of choice.