Breast reconstruction is a physically and emotionally rewarding procedure for a woman who has lost, or is in the process of losing a breast to caner or another condition.
Following a mastectomy, the goal of breast reconstruction is to replace the chest wall acquired deformity with a three-dimensional soft tissue reconstruction that is natural looking to mimic the breast silhouette. This can in turn, dramatically improve a woman's visual appearance, self-image, and outlook on life.
Breast reconstruction can either be performed at the same time or a later time following a mastectomy. Immediate reconstruction is performed at the same time after the mastectomy. The main advantage of this type of procedure is that the woman does not have to experience a flat chest wall since the first stage of the reconstruction has already been initiated. A delayed reconstruction is done at a later time to allow for adequate healing or other procedures that may need to be completed before the reconstruction. Such adjacent therapies might include chemotherapy or radiation.
It is important to be educated on the different techniques of breast reconstruction surgery. Such would include using the patient's own tissue via various types of tissue flaps, and/or by the use of an expander/implant. This technique most recently is being used in combination with a biologic sling to facilitate early and pain free expansion.
A tissue flap is a section of skin, fat, and muscle, which is relocated from a donor area of the body such as: the abdomen with a TRAM flap or the back with a Latissimus muscle flap (both of these techniques are outlined in detail in separate sections). These flaps can be augmented with implants if necessary. Alternative flaps are offered on an occasional basis when donor sites for the more common flaps are not suitable.
The breast expander implant technique utilizes a fluid-filled device that is surgically implanted under the chest wall, muscles, and the biologic sling. The expander is periodically enlarged until the desired breast volume and location is achieved and a new breast silhouette is created. The expander is then replaced with a rubber-shelled implant filled with either saline or gel.
Breast reconstruction is a critical, decision-making process that encompasses the patient, her overall medical condition, her breast shape and size, her lifestyle, as well as her realistic goals and objective from the reconstruction.
It is essential to recognize that breast reconstruction is an elaborate, multi-staged surgical treatment with an artistic touch, and requires a long-term commitment. Dr. Chahin will discuss with you these procedures, and what is mutually felt to be the best method of treatment to aid in achieving optimal results for you.


The areas I cover are Arundel, Ford, Climping, Littlehampton, Rustington, East Preston, Angmering, Ferring and any places in between.
If you are outside of this area, please contact me anyway as I may still be able to accommodate you.
Areas outside of this may incur a small surcharge.
Include the Sussex Downs, Highdown Hill, Cissbury Ring, local beaches, Ferring Rife, Dover Lane, Slindon, and Whiteways, Arundel.


text:
Modern Paints
Assessment of Analytical Methods
Properties of Modern Paints
Evaluation of Cleaning Methods
Jackson Pollock's Mural
Partners & Team Members
Modern Paints Uncovered (MPU) Symposium
A project of the Modern and Contemporary Art Research Initiative
Modern paints close up. Photo: Emile Askey.
This long-term project aims to increase significantly the information that is available to conservators on modern paints, so that ultimately better-informed decisions can be made on how best to preserve these materials.
To date, the project has focused on three main areas:
an assessment of analytical methods for modern paints;
a study of the physical and surface properties of modern paints;
an evaluation of cleaning methods for modern paintings.
A selection of modern paints applied to Mylar, ready for testing. Photo: Dennis Keeley.
Over the last seventy years or so, a staggering array of new pigments and binders have been developed and used in the production of paint. There are now hundreds of pigments available to paint formulators, facilitating the production of any desired combination of color and transparency in paint. The introduction of synthetic binders—most notably acrylic, alkyd, polyvinyl acetate, and nitrocellulose—has resulted in paints that exhibit fast drying times, reduced yellowing tendencies, a vast range of appearances and handling properties and, in the case of emulsion formulations, great flexibility and the elimination of organic solvents as thinners and diluents. Many artists have utilized these modern paints (including house paints and others that were never intended specifically for artists' use) and have explored and exploited their distinct handling and optical properties.
However, the enormous diversity in materials used in modern paints has important and direct implications for their conservation, since each type of paint is likely to display its own unique set of properties, which will govern their responses to aging, environmental conditions, and conservation treatments. So, for example, a perfectly safe cleaning treatment on one type of paint may be catastrophic for another.
Paint samples applied to glass slides - made from paints left in Sam Francis's Santa Monica studio in 1994. Photo: Emile Askey.
Art works from the 20th century represent the artistic legacy of our time. In order to pass these works along to future generations, it is essential to understand as comprehensively as possible the factors that govern their behavior and stability, and those that could contribute to their deterioration. Designing the optimum means for the preservation and restoration of works of art is an extremely complex task that requires a thorough understanding of all the materials with which they were made and the way in which these materials react with one another, with environmental conditions, and with conservation treatments. This information is best obtained with a combination of monitoring the behavior of actual art objects and an extensive analytical program that closely examines test materials subjected to artificial aging and/or trial treatments.
The project brings extensive scientific expertise and equipment to bear in the areas of materials identification, characterization and cleaning. The combined results from each component of the project will assist conservators in studying the techniques of modern painters, selecting appropriate display and storage conditions for these works of art, as well as significantly contributing to the development of safe and effective cleaning methods and other conservation treatments for modern paints.
This integrated collaborative project was initiated in 2002 by Tate in London, the National Gallery of Art (NGA) in Washington, D.C., and the Getty Conservation Institute (GCI), and now involves a much larger network of research institutions and modern art galleries around the world. One of the key moments in the project to date was the Modern Paints Uncovered symposium, held at Tate Modern in 2006, at which many of the accomplishments in this research area were presented. The proceedings from this symposium are now available and provide the best overview of the project to date.
This project is part of the GCI's Modern and Contemporary Art Research initiative, which takes a broad approach to the needs of this area of conservation, including a range of scientific research projects but also a number of conferences, events, and meetings that are intended to promote discussion of these issues and to help disseminate information.
Page updated: July 2009
Conservation of Modern Paints
Object in Transition Conference
CIMCA Meeting, June 2008
Ethical Dilemmas in the Conservation of Modern and Contemporary Art public panel discussion
Preservation of Plastics

redpajama_set_name: RedPajamaCommonCrawl


text:
Hans Borchardt (* 4. April 1865 in Berlin; † 8. Januar 1917 in München) war ein deutscher Maler.

Hans Borchardt studierte Malerei von 1883 bis 1886 an der Berliner Königlich Preußischen Akademie der Künste und von 1886 bis 1888 an der Münchner Akademie bei Fritz von Uhde. Er zählte zu den Mitgliedern der Münchener Secession.

Farblich abgestimmt harmonieren Interieurs des Porträtmalers Borchardt zumeist mit einer Dame als Motiv, zum Beispiel auf dem Bild Interieur mit einer Dame in Abendgarderobe aus dem Jahr 1894. Als Interieur- und Genremaler meisterte er in Werken wie Die Lesestunde – entstanden um 1890 – die nuancenreiche Wiedergabe des Tageslichts. Daneben arbeitete Borchardt als Landschaftsmaler.  Aus letzterem Schaffensbereich wurden postum etliche seiner Bilder – beispielsweise Alte Häuser – Schwäbisch Hall, Alte Mühle bei Oberstdorf und Am Bach – bekannt.

Literatur

 Horst Ludwig: Borchardt, Hans. In: Horst Ludwig (Hrsg.): Münchner Maler im 19. Jahrhundert. Band 1, Verlag F. Bruckmann, München 1981, S. 118

Weblinks

 Hans Borchardt im RKD
 Hans Borchardt in der Pinakothek

Einzelnachweise

Maler (München)
Porträtmaler
Genremaler
Landschaftsmaler
Deutscher
Geboren 1865
Gestorben 1917
Mann

redpajama_set_name: RedPajamaWikipedia


text:
Q: How to set width and height of slideshow dynamically I have set up a web page using an image in a div called slideshow. The div is supposed to be a max-width of 1600px and a max-height of 600px (width and height of the original jpg used here) and to shrink down dynamically when the screen is smaller or resized.
This works fine because the behavior of the image is set by CSS as follows :
.slideshow img{
    margin:0 auto;
    width: 100%;
    max-width: 1600px;
    min-width: 900px;
}

Now I would like to achieve the same effect by replacing the image with the Camera Slideshow from Pixedelic. But here I can't control the image with .slideshow img{} since the script uses a div instead of the image tag.
Width and height of the camera slideshow are controlled by a jQuery function.
I have put the slideshow in a .slides div which I try to control by CSS, like this :
.slideshow .slides{
    display: block;
    margin:0 auto;
    max-width: 1600px;
    max-height: 600px;
    overflow:visible;
}

(Overflow is left visible to see what happens)
When I assign a height value (ie 600px) in the function, the slideshow loads at it's max height but doesn't shrink when the page is resized down : http://www.centredelafontaine.be/testpage1.html
When I leave height and width values blank in the function, the slideshow shrinks on resize but opens with a height of 800px (?) and crops the even greater image inside, overflowing the div placed below :  http://www.centredelafontaine.be/testpage2.html
Can anyone help me on this issue ?

A: Place a img tag inside the div which is contained by the slideshow and you will be able to modify those image (slideshow elements) proprieties through the CSS code.

If you can't work it out leave me a reply and I'll make a demo html

A: Set only image min height. Slidehow container will depend on image height. Means no need to set slidehow container height.

A: You can set the portrait property to true and the images will not be cropped.

jQuery('#your-camera-gallery').camera({
        portrait: true,
});

redpajama_set_name: RedPajamaStackExchange


A committee of the Texas Senate narrowly approved Kelcy Warren's nomination to the Texas Parks & Wildlife Commission on Thursday, despite months of environmental protests and marches against his pipeline company, Energy Transfer Partners.
All three Democrats on the Senate's Nominations Committee voted against the move; four Republicans voted in favor. A full Senate vote with a two-thirds majority is now needed to approve Warren's appointment.
Gov. Greg Abbott appointed the billionaire CEO to the sought-after post 18 months ago. Warren has since been the subject of regular activism at the parks department, at his offices and at his home.
Energy Transfer Partners, based in Dallas, built the Trans-Pecos pipeline in West Texas and Dakota Access pipeline in North Dakota, both the focus of regular protests. Environmentalists argued the Trans-Pecos traversed pristine wilderness and the Dakota sacred Indian burial ground. They also worried the North Dakota pipeline, which cuts under the Missouri River, could spill and contaminate the river, the main water source for the Standing Rock Sioux reservation to the south.
More than 5,000 Texans have contacted their state Senator to oppose Warren's nomination, the Sierra Club said.
"It's disappointing that the majority on the committee would support a nominee with such inherent conflicts, but not surprising given the stranglehold the oil and gas industry has on the Texas Legislature," said Cyrus Reed, Conservation Director of the Sierra Club's Lone Star Chapter.
Committee members voting against Warren's nomination were State Senators Kirk Watson (D-Austin), José Menéndez (D-San Antonio), and Boris Miles (D-Houston). Voting for Warren were State Senators Brian Birdwell (R-Waco), Craig Estes (R-Wichita Falls), Van Taylor (R-Plano), and Dawn Buckingham (R-Lakeway).


Hello everyone! My name is Maui, demidog of the food and treats, best friend of man. My foster folks say I'm the smartest puppy they have ever met and a perfect gentleman. I am about 90% potty trained and while I love to chew (hide your shoes!) I am not destructive at all. Just gentle nibbles! I love chewing so much, that you can give me a nylabone and I'll entertain myself for hours! When I grow up I will definitely be a chill dude, but right now ...I am still a bit of an obnoxious puppy... My favorite thing to do it steal the bone right out of my foster sister's mouth and run away with it! So my doggy siblings should be laid back enough to handle some mischievous antics... I've met some kitties and they seem cool, so if my new home had some I wouldn't mind at all. If you're looking for a little semi-demi-mini-god to add to your family, check me out!


text:
Q: Chartjs annotations-plugin: Can I add multiple vertical lines to identically named x-axis labels? I have a chartjs graph with an x-axis consisting of the hours of the past three days. Because it is 3 days, each hour appears in the x-axis 3 times. I want to draw vertical lines at each 12:00am, but I am not sure how to differentiate the first 12:00am with the second and third.
annotation: {
      annotations: [{
            type: 'line',
            id: 'vLine',
            mode: 'vertical',
            display: true,
            scaleID: 'x-axis-0',
            value: '12:00am',
            borderWidth: 1,
            borderColor: 'gray',
            label: {
                    enabled: true,
                    position: "center",
                    content: 'day bar'
            }
    }]

}
Here is what the graph currently looks like
Would each time need a unique label, or is it possible to differentiate between the 3 identical x-axis times without changing their x-axis labels?

A: I have found a quick fix, but am still wondering if there is a better solution.
I simply added a space to the 2nd appearance of '12:00am', and then I added 2 spaces to the third appearance. This way they all look the same to the user, but chartjs can differentiate between them.


In Germany, a break-in is carried out every three to five minutes. Damage to property, petty larceny, as far as aggravated robbery represent not only a financial damage of hundreds of billions, but leave the parties concerned mostly with a feeling of insecurity, vulnerability as far as severe psychological damages. No wonder that tentants as well as owners emphasize optimum safety within one's own four walls.
However: How does one protect himself and his property most effectively?
The additional function of a window (good hardware, safety lock, glass, etc.) gain in importance the interest of owners and tentants planning to improve the security of their property. In general, the complete 'safety chain' has to be closed in constructions of burglar-inhibiting windows. That means, from wall connection to material and rebate design, suitable hardware selection and fixing to used glazing, every detail has to be matched with the requirements of the burglar resistance.
The criminal police offers free counselling as well as a listing of qualified and certificated provider of burglar-inhibiting windows (KPK-lists) (German only). Moreover, the Programme Police Crime Prevention with more hints and tips on burglary resistance.
Information on further topics for windows and doors can be found at consumer information (ifz-infos).
Welt der Wunder (RTL2), broadcasted on 20 January 2013.
This contribution can be found in the Mediathek of RTL2.
Galileo (Pro7), broadcasted on 29 April 2013.
This contribution can be found in the Mediathek of Pro7.
Kontrovers (Bayrischer Rundfunk), broadcasted on 06 August 2013.
This contribution can be found in the Mediathek of Bayrischen Rundfunk.
Finance Scout 24 Ratgeber "Schutz vor Einbrüchen"
Kostenloses Ebook zum Thema Einbruchschutz und Prävention "Ein sicheres Zuhause - auf dem Weg zum optimalen Einbruchschutz"
Grundlagenseminar "Einbruchhemmung und sinnvolle Gebäudesicherheit"


text:
You are here: Home / Movies / Top 10 celebrity wardrobe malfunctions
Top 10 celebrity wardrobe malfunctions
Even celebrities are people and make mistakes, although they are surrounded by an army of makeup artists and fashion stylists. Regardless of these small accidents, fans still love them and the small accidents become instant internet sensations, gathering thousand of views in a matter of minutes. Below is a list with our top ten celebrity wardrobe malfunctions. Hope you enjoy!
1. Janet Jackson- Super Bowl 2004
The youngest child of the Jackson family, Janet is best known for hit singles "Nasty", "Rhythm Nation", "Rhythm Nation", "Together Again" or "That's the Way Love Goes." Although she is a very experience actress and singer, having done several world tours, in the Super Bowl 2004, while she was performing with Justin Timberlake "Rock Your Body", he accidentally pulled off part of Janet's costume, revealing her right breast, partially covered by a nipple jewelry. The CBS stopped broadcasting immediately, but the image had already reached million of viewers.
2. Brad Pitt- Zipper issues
Well, if you thought that only ladies will be included in our top, you were wrong. The Golden Globe-winning actorBrad Pitt, who is most widely recognized role may be Tyler Durden in Fight Club, was caught with his zipper unzipped on the red carpet at The Case of Benjamin Button Paris, France. That is a unusual way to make an entrance, but it can happened to the very best.
3. Mariah Carey
Aged 43, Mariah still has a great body that one can envy. Unfortunately, this international R&B/pop singer-songwriter, record producer and actress, founds herself in out top ten! At the at the So So Def 20th Anniversary Party, her nipple peeped out the top of her dress. Maybe she can take comfort in the fact that nip slips are a common occurrence for on-stage performers.
4. Angelina Jolie
This Hollywood leading actress, mostly known for the aggressive roles, unconventional lifestyle and the relationship with actor Brad Pitt, had her share of wardrobe malfunctions. The most known is the right leg pose, that turned in an international phenomenon, and a very popular Twitter feed. While at the 84th annual Academy Awards, she adopted an awkward pose, showing off her right leg in a high slit gown.
5. Emma Watson
Among her several wardrobe malfunction on the red carper, while at a Harry Potter premiere in London, Emma has suffered another wardrobe malfunction. This English actress and model, did not let the rainy weather to ruin her mood and soon after she was smiling along her colleagues, including Daniel Radcliffe and Rupert Grint.
6. Katherine Heigl
Katherine Heigl is best known for her performance in Grey's Anatomy, where she plays the role of Dr. Izzie Stevens. At the ShoWest awards of 2010, while she has in the middle of her acceptance speech for the Female Star of the Year Award at the 2010, her beautiful red dress snapped putting her is a risky situation. Luckily, she managed to recover graciously.
7. Toni Braxton
There is much to tell about Toni's Braxton career, as she won 6 Grammy Awards, 7American Music Awards, and 9 Billboard Music Awards. Throughout the years, she has sold over 66 million records worldwide. But bad luck does not take into account one's singing career! Back in 2006, while performing with Il Divo at the opening ceremonies of the FIFA World Cup in Germany, her dress performed its own number when a gust of wind showed off her assets.
8. Sofia Vergara
This Colombian actress, comedian and television hostess had her share of wardrobe malfunction. The most notable one is at the 2012 Emmys, where in the backstage Sofia's dress split in the back revealing her buns. This happened just 20 minutes before her show, Modern Family, won the Emmy for Best Comedy. Even if everything happened in the backstage, pictures of her buns spread over the internet with the speed of lightning. She posted herself an image of her wearing her split dress, try to make a joke of this unfortunate accident and to keep her head high.
9. Keira Knightley
Sometimes accidents just happen and no one can escape the inevitable awkward moments. At the New York premiere of Pride and Prejudice in 2005, the British actress accidentally showed more of her assets that she might have wanted, as her left breast decided showed.
10. Fergie from Black Eyed Peas
This Fergalicious singer, songwriter and fashion designer is in pur top ten due to a dress disaster. Fergie reached the carpet of "A Night Of Firsts," an evening presented by Hollywood Foreign Press Association and InStyle, wearing a Felix the Cat cartoonish dress. While from the front one might be puzzle by the bow, the pack piece is dreadful due to the black piece of fabric that compensates for the part where the zipper does not reach.
Filed Under: Movies, People, World Tagged With: Angelina Jolie, Brad Pitt, Janet Jackson, Mariah Carey, wardrobe malfunctions


text:
Q: Google Chart color of gridline margin
What option from Google Chart Api change the color of that lines?

A: use option --> baselineColor
on either / both --> hAxis, vAxis
var options = {
  hAxis: {
    baselineColor: 'magenta',
  },
  vAxis: {
    baselineColor: 'magenta',
  }
};

see following working snippet...

google.charts.load('current', {
  packages: ['corechart']
}).then(function () {
  var data = google.visualization.arrayToDataTable([
    ['x', 'y'],
    [0, 1],
    [1, 2],
    [2, 3],
  ]);

  var options = {
    hAxis: {
      baselineColor: 'magenta',
    },
    vAxis: {
      baselineColor: 'magenta',
    }
  };

  var chart = new google.visualization.LineChart(
    document.getElementById('chart_div')
  );
  chart.draw(data, options);
});


The hypnotic slow-motion video features lead singer Anna Wagner and blurry images of the band's guitarist/singer Lucas Inacio drenched in VHS style glitches that intensify as the music evolves.
Tangy Dream was released digitally in fall 2017 and was featured on many lists of Top Shoegaze Releases of 2017, including Noise Artists'. You can of course read more in Noise Artists 2 articles on their music and the band (including an interview).
If you still haven't checked it you can listen to it now on all streaming platforms and you can also help it become physical by supporting the vinyl crowdfunding campaign on QRATES.
Each copy of the limited edition PINK vinyl is being sold for just $7 during the campaign – which goes until the end of May.
If you are a vinyl fan or/and a Palm Haze fan, you know what to do.


text:
import {
  Uniform
} from '../../../src/Three';

export interface DotScreenShader {
  uniforms: {
    tDiffuse: Uniform;
    tSize: Uniform;
    center: Uniform;
    angle: Uniform;
    scale: Uniform;
  };
  vertexShader: string;
  fragmentShader: string;
}

redpajama_set_name: RedPajamaGithub


text:
Board index Webderland The Art Deco Dining Pavilion
Pavilion Digest: August 2006
A plethora of perplexing pavilion posts. The Pavilion Annex thread, the Pavilion Discussion thread, and monthly digests of all messages from the Pavilion.
Postby admin » Tue Aug 01, 2006 1:31 am
The following posts contain Art Deco Dining Pavilion messages for the month of August 2006.
Jonathan Stover
Postby Jonathan Stover » Tue Aug 01, 2006 1:31 am
Name: Jonathan Stover
Source: unca20060807.htm
You cheeky monkeys should stop worrying about Mel Gibson and check out the tv show Slings and Arrows if you haven't already. Season 3 just started here in Canada, and it's hilarious and moving as always. Season 1 has the bonus of co-starring Rachel MacAdams right before she hit it big.
Seriously -- if you like theatre, you'll find a lot of stuff to love, and if you don't like theatre, you'll still find stuff to love. And fans of Kids in the Hall or Due South take note -- Mark McKinney and Paul Gross are the male leads for this show about the New Burbage (ie. Stratford) Festival and its annual travails putting on its schedule of plays. The Season 2 climax, in which Macbeth premiered, was absolutely hilarious.
Cheers, Jon
Postby Eric Martin » Tue Aug 01, 2006 4:30 am
Name: Eric Martin
Turns out the arresting officer was Jewish, which might explain Mel's non sequitorial rave-up. Maybe he's got some "gaydar" for Jewish people that is especially attuned when he's had too much Mezcal.
Mel has just checked himself into rehab. Next stop: Webderland, home for any social misfit who may wander our way...
Barney Dannelke
Location: Allentown, PA.
Contact Barney Dannelke
Rock & Roll epigrams and Harlan
Postby Barney Dannelke » Tue Aug 01, 2006 4:56 am
Name: Barney Dannelke
Readers of Harlan know that he is quite fond of the epigram as a little applied frosting on his fiction - and even some of his non-fiction for that matter. I love epigrams and it is in no small part due to reading a steady diet of them with many of my favorite writers since I was, oh, 14 or thereabouts. They were there before then but reading things like Harlan's The Deathbird and his PAINGOD collection probably got me to thinking about them.
Nowadays - because I am insane - when I hear a good quote or read an epigram or hear a certain kind of lyric (and god knows as I age it's getting harder for me to "hear" a lyric, at least the first time through) I think to myself, "oh, that would be a good epigram if I were writing about X or Y or Z" or X,Y & Z are usually either Mark Twain or our patron. Don't worry - I'm getting to it. Lately I've had some rock an roll lyrics in my head and EVERY time I hear them I think of Harlan.
What I thought I would do is just give 2 of them and ask if this has ever happened to you in a Harlan-centric manner. Here are my examples. Awhile back Doug Lane and I were in Painesville and although I never mentioned it to him the soundtrack in the back of my head was THE PRETENDERS and particularly from
MY CITY WAS GONE;
I WENT BACK TO OHIO
BUT MY CITY WAS GONE
THERE WAS NO TRAIN STATION
THERE WAS NO DOWNTOWN
SOUTH HOWARD HAD DISAPPEARED
ALL MY FAVORITE PLACES
MY CITY HAD BEEN PULLED DOWN
REDUCED TO PARKING SPACES
A, O, WAY TO GO OHIO
The other one - and this one has been spinning in the Gulliver for MONTHS is Fiona Apple's EXTRAORDINARY MACHINE;
I certainly haven't been shopping for any new shoes
And I certainly haven't been spreading myself around
I still only travel by foot and by foot it's a slow climb
But I'm good at being uncomfortable so I can't stop changing all the time
I noticed that my opponent is always on the go
And won't go slow so as not to focus and I notice
He'll hitch a ride with any guide as long as they go fast from whence he came
But he's no good at being uncomfortable so he can't stop staying exactly the same
If there was a better way to go then it would find me
I can't help it the road just rolls out behind me
Be kind to me or treat me mean
I'll make the most of it I'm an extraordinary machine
Particularly the last two lines which I picture Harlan carrying around like a banner in life's parade.
So, if you have a rock & roll lyric in your head that you associate with Harlan, as a distraction from the heat I'll be facing out of doors the next two days, I'd love to see them.
[caveat - both of those lyrics were pulled from arist's sites or record company sites. Neither is complete. The Ohio is one third of the lyric and the Apple is about half. I think we;re in "fair use" territory. If not my sincere apologies and just quote the artist and title and I'll figure it out.]
- Barney
Heatingup, PA.
BrianSiano
Contact BrianSiano
Postby BrianSiano » Tue Aug 01, 2006 5:15 am
Name: Brian Siano
Eric Martin writes:
"Turns out the arresting officer was Jewish, which might explain Mel's non sequitorial rave-up. Maybe he's got some "gaydar" for Jewish people that is especially attuned when he's had too much Mezcal."
Gosh, that changes _everything_. It was the _cop's_ fault for _looking Jewish!_ Wasn't he aware that his mere _presence_, coupled with his powerful Semitic features, turns good, decent family men like Mel into raving Jew-haters? How dare he stop a guy who's speeding at 80 miles per hour, find that he's obviously severely inebriated, and _expose_ him to his Jewishness? Why, Eric's right! It's the _cop's_ fault for making Mel Gibson into an anti-Semite!
Next month from Eric's pen: "George Lincoln Rockwell: Statesman or Martyr?"
Postby rich » Tue Aug 01, 2006 5:28 am
Name: rich
No, Brian, you big goof. All Eric was saying was that the anti-Semitic statements, which seemed to come out of left field for the drunken knucklehead that is Mel Gibson, was that the cop was Jewish, thus explaining the WHY of the particular bigoted statements. If the cop was black, that would be the explanation if Gibson had uttered something about niggars.
Eric's statement implies nothing, nor states anything, about Mel Gibson's tirade being the cop's fault.
>Next month from Eric's pen: "George Lincoln Rockwell: Statesman or Martyr?"<
You are a really mean, ugly son of a bitch, Siano. And no longer in my universe.
John Greenawalt
Postby John Greenawalt » Tue Aug 01, 2006 6:21 am
Name: John Greenawalt
Just minutes ago Gibson apologized. There has been no word from Harlan about whether to accept or reject that apology.
Postby markabaddon » Tue Aug 01, 2006 6:30 am
Name: Mark Goldberg
I see from the newswire that you are correct and the arresting officer was Jewish. I have absolutely no idea what relevance this has on his anti-semitic outburst.
Your implication that Gibson has "J-dar" rather than "gaydar" as an explanation for what caused his tirade is insulting as is your implication that this was caused by his being drunk and stupid.
The only thing the alcohol provided was a lowering of his defenses so that his anti-semitism had a chance to leak out.
At least there is one good outcome from this arrest, ABC cancelled Gibson's Holocaust project. Considering his views, I think he might have chosen to represent the Holocaust as a fantasy, rather than an attempted genocide.
Contact Moderator
Postby Moderator » Tue Aug 01, 2006 6:42 am
Name: Steve Barber
(Oh, I'm gonna regret this.)
Mark, Brian. Eric was noting that Gibson's tirade seemed to be an out-of-the-blue attack upon the Jewish. The fact that the arresting officer is indeed Jewish doesn't excuse Gibson one whit, it simply gives a context in which the non-sequitor now has a reference. I don't read a single inferrence in Eric's post that suggests it's in any way other than Gibson's fault/action.
Berke Breathed, creator and grand poobah of the wonderful 'Bloom County', once coined the term "offensensitivity" to describe the extreme overreaction to a non-existant slight.
Gibson slighted, Eric did not.
Speaking, as we weren't, of Harlan Ellison, is he off at this point making a mutant of himself -- or is that still to come?
Fondling the Teats
Postby David Loftus » Tue Aug 01, 2006 7:02 am
Name: David Loftus
> A, O, WAY TO GO OHIO
Odd. I always heard that one as "A, O, where'd you go, Ohio?"
Couple days ago, Jan asked:
> I'm becoming curious as to what exactly you are doing,
> David-- will the new GLASS TEAT edition feature footnotes
> by you or Harlan? Are you responsible for the new editions,
> or is Harlan? Are both books getting the same treatment?
> Asimov did all his indexing himself, he didn't trust anyone
> with that. I'm glad Harlan has you.
Thanks. I meant to answer right away, but didn't want to violate the one-a-day rule, and then I forgot.
I'm indexing the Glass Teats, something which somebody should have done 36 years ago, with the first edition, or for any of the two subsequent ones. I had the idea and volunteered to do it right here on the Art Deco Dining Pavilion some time ago (a year, maybe?) and Harlan took up my offer. I'm not "responsible" for the new editions, if you mean to ask whether I'm the publisher or work for it (Charnel House); I'm just an outside, hired gun.
But yes, I'll be doing an index for both books. That's no absolute guarantee they'll APPEAR in both books, but Harlan told me the publisher is willing, and he did send me a copy of the galleys.
I've also incidentally noted proofreading and factual errors, while I was plowing through the galleys -- some of which survived through past editions of the book -- which I've passed along to Harlan and Charnel House.
Todd Cassel
Postby Todd Cassel » Tue Aug 01, 2006 7:45 am
Name: Todd Cassel
Holy Sheepshit people, I don't believe a Hollywood moron's anti-semitic remarks have you all up in a tizzy. Who the fuck cares? This coming from a Jew (a very Jewy Jew, mind you, being that I sprung from the loins of a Rabbi): is it so shocking that someone is bigoted just because he is famous? Do you still go to Spike Lee movies.....or listen to Jesse Jackson speeches.....even though they have had their share of anti-semitic remarks?
I do.....not the JJ speeches, but yes I do attend most Spike Lee movies when he's not stumbling around in Nuttyville with shit like He Hate Me. Bamboozled is a find, if anyone can find it.
But I'm getting off the point. A) Mel is anti-semitic. Shock of shocks. Do we have to now debate this ad nauseum because he is famous? Shhh, I'm going to let you in on a little secret....keep it to yourself.....there are a whole bunch of anti-semitic people in the world, and there are a whole bunch of bigoted people in the world who hate other races and religions and facial features. In fact, if you killed everyone in the world who made some form of bigoted remark or had bigoted thoughts in their head, you would probably run out of people to kill by the time you reduced the Earth's population to a coupla thousand (hey, then we save the Environment and Al Gore gets to lead us to safety...huzzah)!
B. Those who are jumping all over Eric Martin's words are bigoted toward Eric Martin. Shit, people, he said nothing wrong. He gave no justification. He made a glancing comment to the fact that Mel's tirade started because he was insulting a Jewish cop. Eric was justifying this, you dolts, he was stating a fact. If the cop was a Siamese Twin, Mel would have probably made some joke about how Siamese Twins own all the banks in the world and run Hollywood.
Yeah, Mel grew up in a home that hated Jews. He was raised by a father that stated that the Jewish population in Poland was reduced because the Jews just decided to leave on their own, and that the Holocaust exists only to raise money for Holocaust Museums (since, hell, those Holocaust museums are raking in more cash that Pirates Of The Carribean II). I guess some of ole daddy rubbed off on the Melster. And he hates Jews. And the world continues to rotate. Must we obsess just because Hollywood Mel hates Jews.....having been educated in the history of my people, I must say that this isn't the first person in the world to express such an opinion.
Now, I must depart. My bank awaits, and I must decide what southern hick to put out of work and take his home.
-TODD
Whoops, talk about a typo changing a comment, "Eric was justifying this, you dolts..." should have read "Eric was NOT justifying this, you dolts...."
A Scanner Darkly
Postby Jim Davis » Tue Aug 01, 2006 8:54 am
Name: Jim Davis
I finally saw A SCANNER DARKLY last night, and . . . god, it was stunning. I had reservations about Richard Linklater's use of Rotoscoping--as a visual technigue, it's always seemed neither fish nor fowl to me--but it lends itself well to Dick's prose, conveying a trippy, slighty ominous vibe that's appropriate for a story of drug addiction gone amok. (The Scramble Suits are especially well-done.) True, there were moments when I wanted to wipe all that digital paint away and see what the actors were doing (I still don't know exactly how Winona Ryder looks these days), but, overall, it enhanced instead of distracting.
The acting, with one exception, was top-notch. Of all the cast, Robert Downey Jr. is getting most of the critical kudos, and he deserves it. I don't know if I ever bought the Greatest Actor of his Generation hype, but his portrayal of James Barris, solipsist and manipulator extrordinaire, is nothing less than masterful. There's a chilling scene where Barris nonchalantly watches a fellow druggie choke to death, and Downey's perfect control of tone makes clear just how much of a sociopath his character is. As for the rest, Woody Harrelson, Rory Cochrane, and Winona Ryder all acquit themselves well, with Ryder especially good as the quintessential Dark-Haired Girl of Dick's novels (albeit with blonde highlights).
As for Keanu Reeves, well, it's not necessarily a put-down when I say he was adequate in the role of Officer Fred/Bob Arctor, narcotics cop, and friend and fellow addict of Barris's. As in the book, Fred goes undercover as Arctor and becomes a hard-core user of Substance-D, a drug which eventually splits the hemispheres in his brain, making him unable to recognize that Fred and Arctor are the same person. (When you learn that Fred is assigned to electronic surveillance of the house Arctor lives in, you get an idea of how tragically fucked-up his situation is.) It's a weighty role, and Reeves mostly does okay, though it's depressing to wonder what another actor (Ed Norton, for example) might've done with it. Reeves' lack of vocal control and facial expressivess sort of work in his favor here, conveying some of Fred/Arctor's brain-damage and confusion, though when he's in scenes with Downey and Harrelson, his limitations as an actor are obvious. Overall, he doesn't drag the film down, though he would've done better in Harrelson's role.
Usually, when Hollywood adapts Dick, they focus on the mind-bending aspects of his work and jettison everything else. Linklater realizes, however, that the reason that Dick's books ARE so trippy is because they're rooted in the mundane. Dull jobs, crappy homes, technology that enervates, the tension in relationships between the sourness of routine and the hope of transcendence . . . A SCANNER DARKLY finally gets that part of Dick right, and it's about time. Dick's humor is captured as well; the audience I was with laughed often and loudly. (The funniest part in the book, Freck's suicide attempt, is translated BEAUTIFULLY.) There's no scimping on the pathos, either, with an ending that's as heart-breaking, yet optimistic, as anything I've seen all year.
Bottom line: it's the best Philip K. Dick adaption yet made. If you have any love for PKD, or you want to escape the doldrums of the summer blockbusters, go see it, with all due haste.
Postby Dave Clarke » Tue Aug 01, 2006 9:03 am
Name: Dave Clarke
Can't wait to see A SCANNER DARKLY. I hope they'll have it in this area soon.
inre: song lyrics. I've always wondered about "Bye Bye Love" from the Cars:
it's an orangy sky
always it's some other guy
it's just a broken lullaby
bye bye love
I've heard that song at least a hundred times, and all I hear is "it's just a fucking lullaby."
inre: Mel Gibson. Yes, he should know better, but apparently doesn't. Perhaps he will grow up one of these days.
Return to "The Art Deco Dining Pavilion"


Emily Savage, Brady Boehm, Olivia Fairfax and Beks Mahaka.
Fox Valley Seventh-day Adventist Community Church (Wahroonga, NSW) was abuzz with excitement for the official launch of the I AM series on Sabbath afternoon.
Youth wearing I AM t-shirts created a positive vibe, giving a cheerful welcome to those attending the launch. Castle Hill youth led out in a praise and worship music session, and there was popcorn and lemonade to enjoy while watching the first I AM episode: Is there more to life?
A joint project of Greater Sydney Conference (GSC) and Adventist Media, I AM is an innovative new outreach resource for young professionals to introduce Jesus to their colleagues, classmates and friends. It includes a 13-part video series, along with a participant's guide, which includes notes from all of the episodes as well as reflection questions and further resources to explore.
Abigail and Arabella Yap handed out the refreshments.
In a video message screened during the launch, former GSC president, Pastor Michael Worker, said it was exciting to see the I AM vision realised.
"I would love to see Adventist young people sharing it with their friends in small groups . . . sharing faith, sharing what Jesus means for them," said Pastor Worker, who is now the secretary for the Seventh-day Adventist Church in Australia.
"Beyond that I see great possibilities in the digital world . . . inviting those people who are watching online to join up in meet-up groups or small groups in homes, in cafes, in churches, to continue those conversations; building relationships, sharing faith and ultimately growing God's kingdom.
Panel discussion—Dr Sven Ostring, Maryellen Fairfax, Pastor Ray Moaga and Nick Lindsay.
Conference personal ministries director Dr Sven Ostring has led the project from the outset and is one of the three I AM presenters. He and the other two presenters, Maryellen Fairfax and Pastor Ray Moaga, and Adventist Media cinematographer Nick Lindsay, who was involved in filming the series, took part in a panel discussion, talking about some of the joys and challenges of working on the project.
A second panel discussion involved people who have run I AM as a pilot program, including Caringbah church (Sydney) youth leader Tim Grant. When he heard about I AM "I was just instantly moved by the Holy Spirit".
The second panel—Dr Sven Ostring, Pastor Anders Svensson, Tim Grant and Pastor Daniel Przybylko. Arthur Hudson and Daniela Garrido were also on the panel.
Pastor Daniel Przybylko ran a pilot program at Parramatta Central church. "One thing I have found is that sometimes [I AM participants] go away having more questions and that's a good thing because it begins a conversation that you can continue on a one-on-one level," he said.
The launch also included musical items, a quiz and prizes. A prayer of dedication was offered at the conclusion of the event.
To find out more about I AM, go to iam.org.au.
Castle Hill youth led out in the praise and worship music session.


Then I started seeing ads from SamCart, so that I signed up for their email list. I received a couple of emails from their support being hyped up by them, therefore I decided to give it a shot.
SamCart is a web-based checkout platform that Includes conversion-optimized checkout templates together with one-click upsell, arrange subscription, bulge and payment plan capabilities which are intended to optimize profits.
If you're someone that wishes to establish a shopping cart SamCart is for you. You can get up and running in under half an hour. I set my stuff up but that's probably because I watched a few YouTube videos about it beforehand.
The largest reason that SamCart has managed to Grow so fast is because they provide numerous features that assist retailers earn more money. Whether youselling info products or're running an e-commerce store, these attributes will allow you to make more money and have SamCart pay for itself rather quickly.
You'll find a link for this page, which means that you can send it out to potential affiliates, place it on your site, or send it out to your email list. I encourage them to become affiliates whenever my subscribers go without buying anything from me. Hey, if they are not purchasing something, it is still a way for me to gain from them.
Every time a possible affiliate fills your application, they will be shown a message that their accounts is"pending approval". You'll find a notification that they implemented via email when that happens. It'll also have buttons to approve or deny the person's application. If you'd like you may set it up to automatically accept affiliates.
SamCart's default affiliate commission is 50%. But this payout to can be customized by you. You can pay your affiliates a flat rate commission (a set dollar amount per purchase ) or a proportion. I have had a lot of success by increasing the affiliate for affiliates to provide them a bonus to sell more.
One of the coolest things about SamCart is they have 18 professionally designed templates that are proven to convert. I really don't think the templates ALL are that good, but I really do love almost all of them. My favourite is the traditional template.
The obvious huge advantage here is that the templates have been used by other recognized marketers, so it is possible to stay away from the innumerable hours of designing and testing your own pages.
All of the templates have trust elements like reviews, warranties, and safety reassurances that give your customers the reassurance they need to boost your conversions.
As soon as you pick your checkout page, you can easily customize it by changing the colours of the header, footer, buttons, etc.. You might even pick the fields you would like to add and you can add custom bullet points to describe the product your customer is buying (I've discovered bullet points to be especially helpful, which is why you see them all my sales pages).
I do a lot of advertising on Google AdWords, in which most of my traffic comes from mobile. I discovered that in a greater speed, which meant I flushed my ad spend down the bathroom, folks abandoned with my cart. SamCart assisted my boost my conversions.
Plusthey have a cool"sandbox" mode, which enables you make certain everything is working before going live with your goods. With my shopping cart, test it and I really had to publish everything. I hated doing this. Together with SamCart, I will test obligations without going live and without charging your credit card (and messing up your stats).
When I told my friends that I was writing a SamCart review, they explained that I should stress how awesome their click upsells are, and that I concur.
If you're selling online and you aren't offering upsells, you are leaving a lot of money on the table. In fact, back in 2006, Amazon reported that 35 percent of its revenues were from its own efforts that were upselling. Do not you think that it deserves your consideration, if Amazon is making that much money from it?
An upsell is a strategy that helps you increase your average order value. You likely encounter upsells the time and do not even know it. It's there as an upsell, although you don't need to get the extended warranty for your vehicle. Restaurants sure like to offer it, although you do not HAVE to get dessert after dinner.
Continuing with the dessert case, these little $8 cakes are not a huge amount of money, however if you're the restaurant selling dozens of them each night, the money adds up.
This feature is unique because it provides you the capability to include many different payment options onto one checkout page. For my $997 online training course, I utilize Teachable, and they don't provide this feature. I must have checkout pages when a client wants the payment program. I WISH I could use SamCart for that.
The one page checkout takes multiple payments into a whole new level since it keeps visitors on the page while they decide how to cover. You understand how important it is to keep your traffic on the webpage if you've ever sold anything online.
Cross-selling is a way to market products that are related to the one the client already owns. If a client buys a vehicle from you, a cross-sell will be gas or car insurance.
You might be familiar with this as bundling. You can increase your profits on each sale when you package auxiliary products and the product together. McDonald's does so extremely well by selling beverages and fries with their hamburgers.
When I started selling subscription merchandise online, I had been naive enough to believe everybody would pay in time, every moment. I figured that if I had been good enough to cover my bills and honor my duties, so would everybody else.
Boy, was I naive. Turns out that there are some real losers. People who decline cancel credit cards to get out of making payments or charges. Your subscription income is gone after this occurs. Barring any legal action (like sending a demand letter… in case you've got the customer's address) you can not receive your cash. Sad.
But today with SamCart, your subscriptions are being safeguarded from diminished obligations and expired credit cards. Every time a payment fails, SamCart sends your client an email on your behalf – the email has a link where clients can upgrade the payment they have on file . This means you don't need to waste your time hounding your customers.
Isn't it bizarre that people talk about split examining their sales webpages, their sites that are supersized, their email subject lines, and much more… but they do not ever speak about examining their homepage?
When you figure that most of your potential customers are abandoning your checkout site, do not you think that a half-decent split test might help you get one more client??
Fortunately, SamCart delivers the capacity to run live split tests. This is wonderful. You will double your earnings if you have a 90% abandonment rate along with your split-testing snags you ONE extra customer. Yes, DOUBLE YOUR SALES. Just like that.
SamCart lets you change any setting you need, so it is possible to test any variation that tickles your fancy. It's possible to change the template, try out a different warranty (I've discovered the more, the greater ), remove some areas (I've found the less, the better), and more.
As soon as you have your variants created, SamCart mechanically tests between your variations. You don't have to do anything except watch the results roll in. You can head over to the"AB Test" section from the item's preferences to observe how the variations do. Once you find a winner, SamCart allows you to disable the loser.
The one thing you can not split-test using SamCart is the product's cost. Run a test between those two products and you are going to need to create two different products, if you want to do that.
When it comes to A/B testing, experience tells me that you should test the major stuff first (like completely different templates) and then work your way down to the minute details. Oh, and wait until you have a statistically significant sample size before you call it.
Depending on what study you read, 80 percent of individuals That"add to cart" on your site will abandon cart. You will add a substantial quantity of money to your bottom line, if it is possible to get a small quantity of these people to convert.
SamCart's whole value proposition is that their checkout site templates are analyzed to the gills and they have been demonstrated to convert more compared to their competitors. Should you sell things online, you ought to ensure that you're maximizing your conversions, and SamCart will help you do so.
Plus, many checkout pages aren't designed to maximize the amount of profit which you get from every sell. Matters like upsells and order lumps help you include more profit to every sale.
For instance, I sell a $97 PDF on my website. I would not be able to add an upsell, if I used a voucher form. However, since I provide an upsell, my supply is taken by approximately one out of every 3 individuals for $60.
Due to this one simple attribute, I'm adding an average of $20 to each and every purchase of the item. That is like giving myself more than a raise simply. Which means that I can devote an extra $20 on advertisements to acquire a customer and grow my business.
My SamCart feature is hands-down the Customer and awesome training support they provide. They have a lot of videos in what's called their"Knowledge Base" which teaches you how you can use their software (although it's already pretty simple ) and they supply a good deal of education on how to earn more money if you're selling online.
I didn't get a chance to incorporate SamCart using a Lot of resources because I don't use that many. I use utilize PayPal, Drip, OptinMonster and Stripe.
Interested in learning more about OptinMonster? Check out my review . If you're interested in learning more about Drip, I wrote a review of this.
SamCart allows you to easily sync with a bunch of tools, including email, marketing automation, membership, and payment processing. It was easy for me to integrate my system with SamCart and I envision it would be the exact same for the majority of individuals out there.
Even SamCart is a complete steal with the features. However, I've found that the Basic is good enough however you want to acquire the plan if you are doing a lot of business on the internet.
Also remember that if you're wanting to save a little cash, they offer you a discount if you pay yearly. I recommend that you take advantage of their free trial (to ensure that it's definitely right for you) and then paying annually to conserve money. If you pay yearly, the Pro plan is $888 per year (that saves you $300) and the Premium plan is $1,788 annually (which saves you $600).


The House Pets Jumbo Knob Puzzle is a large knobbed wood puzzle designed for use by children with fine motor, grasping, neurological, or upper extremity disabilities. This three-piece puzzle features a cat, a dog, and a bird. The shapes fit into am image of a house. Full-color, matching pictures appear underneath each piece. Each piece of this extra-thick wooden puzzle has a jumbo wooden knob for easy grasping. This puzzle encourages eye-hand, fine motor, and visual perception skills. DIMENSIONS (LxWxH): 12.5 x 12 x 1.7 inches. WEIGHT: 1.5 pounds. COLOR: The house is blue with a red chimney.


text:
Tag Archives: Lake View Cemetery
A Quickie Guide to the Cemeteries of Seattle
Posted on July 26, 2012 | 2 comments
Cemeteries of Seattle (Images of America) by Robin Shannon
A good addition to the Images of America graveyard books. As is typical, the text is circular and no doubt leaves much out, but if it inspires a true guide (with color pictures!) to Seattle's lovely Lake View Cemetery, then it will have done its job.
It did guide my own visits to the graves of Jimi Hendrix and Bruce Lee, despite the typo in the listing of Hendrix's final resting place. Lucky for me, there is no Evergreen Cemetery in Renton, Washington.
The author did a good job with the Seattle pioneers buried in Lake View, including both photos of the people and of their tombstones. Some cemetery books actually forget to show you what you're looking for.
You can inspire your own exploration of Seattle's permanent residents by getting your own copy at Amazon: Cemeteries of Seattle (Images of America: Washington)
Cemeteries of Seattle on Cemetery Travel:
Cemetery of the Week #49: Greenwood Memorial Park, Renton, Washington
Cemetery of the Week #69: Lake View Cemetery, Seattle, Washington
Tagged Bruce Lee grave, Greenwood Memorial Park, Jimi Hendrix grave, Lake View Cemetery, Seattle cemetery, Washington cemetery
Cemetery of the Week #69: Seattle's Lake View Cemetery
1554 15th Avenue E
Email: office@lakeviewcemeteryassociation.com
Founded: October 16, 1872
Number of interments: 17,000 or more
Open: 9 a.m. to dusk daily (4:15 in winter, 6 p.m. in spring, 8 p.m. in summer)
As opposed to Cleveland's Lake View Cemetery, which looks out onto Lake Erie, Seattle's Lake View Cemetery looks down from Capitol Hill toward Lake Union, Portage Bay, and Lake Washington.
Established as Seattle's Masonic Cemetery in 1872, the cemetery was renamed in 1890. It lies adjacent to Volunteer Park, which served as Washelli Cemetery until Leigh Hunt, editor of the Seattle Post-Intelligencer, demanded that the bodies lying there be moved so that the area could be enjoyed by the living. Some of these people had already been moved once before, when the city took over an original pioneer graveyard to make Denny Park.
The Denny family plot
Among those buried in Lake View Cemetery is Princess Angeline, the eldest daughter of Chief Sealth who gave his name to Seattle. Angeline's given name was Kikisoblu, but after her conversion to Christianity, she was given a new name because she was "too handsome a woman to carry a name like that."
At the crest of the hill rest four generations of the Denny family. Arthur Armstrong Denny and his wife Mary Boren Denny are credited with founding Seattle. Also in Lake View are Washington's first governor (Elisha P. Ferry), Seattle's first mayor (John Leary), Seattle's first banker (Dexter Horton), and Seattle's first shopkeeper (Dr. David Swinson Maynard, who declared his first wife dead so he could marry his second. Things turned awkward when wife #1 moved in with them, claiming half of Maynard's land).
In the northeast corner stands the Nisei War Memorial Monument, dedicated in 1949 to Japanese Americans who volunteered to fight in World War II as a way to escape internment camps like the one in Puyallup, Washington.
Some of Lake View's most interesting monuments draw from a wide variety of ethnic traditions, from Japanese, to Chinese, to Native American. One of my favorites was this one:
Lake View's most famous permanent resident is Bruce Lee, who died in 1973 at the young age of 32 from cerebral edema caused by a bad reaction to a headache tablet. Beside him lies is son Brandon, who perished 20 years later at the age of 28, after being shot with an improperly loaded gun on the set of the original The Crow movie.
Bruce and Brandon Lee
Bruce's large red granite slab identifies him as the founder of Jeet Kune Do (the Way of the Intercepting Fist), but his fans adore him for his movies: Enter the Dragon, Fists of Fury, and for upstaging the Green Hornet when he played Kato in the 1960s TV series. San Francisco-born Bruce Lee opened martial arts studios in Oakland, California and in Los Angeles, where he taught Steve McQueen and James Coburn, both of whom served as his pallbearers.
Brandon Lee's monument is even more striking. Made of polished black granite, it has a swooping protuberance as if a shrouded figure is stepping clear of the stone. It includes a long epitaph which says in part: "How many more times will you remember a certain afternoon of your childhood, some afternoon that's so deeply a part of your being that you can't even conceive of your life without it? Perhaps four or five times more. Perhaps not even that. How many more times will you watch the full moon rise? Perhaps twenty. And yet it all seems so limitless."
Flowers, coins, pebbles, and other tributes often surround both graves, which lie just beneath the crest of the hill facing the water.
Lake View Cemetery homepage
A History of the Capitol Hill neighborhood
More information about the removable of graves from the Washelli Cemetery
Famous gravesites in Seattle
More information about Princess Angeline
Haunted Lake View Cemetery's report on Princess Angeline
GPS coordinates from CemeteryRegistry.us
Other Seattle links on Cemetery Travel:
Cemetery of the Week #49: Greenwood Memorial Park
My visit to Greenwood Memorial Park to see Jimi Hendrix
My review of Cemeteries of Seattle (Images of America)
Posted in Cemetery of the Week, Famous person grave
Tagged Bruce Lee grave, Lake View Cemetery, Princess Angeline grave, Seattle cemetery, Washington cemetery
Cemetery Postcards: the Earliest Years
Eldorado Engine Oil trade card, circa 1884
The earliest postcards weren't actually postcards at all. They were trade cards, designed to be collected as souvenirs for the pictures on their faces. Their reverses were filled with advertising text. Cleverly designed, they were advertisements that people chose to keep around.
This card on the left is an advertisement for Eldorado Engine Oil, "the best oil made." On its face is a reproduction of an etching of the monument to James A. Garfield, America's assassinated president, who was laid to rest in Cleveland, Ohio's Lake View Cemetery.
The Garfield Monument, November 2011
The etching puzzles me. The monument resembles the Garfield Monument, in that it has a similar square Romanesque base and a conical tower. However, the tower as built wasn't nearly as tall. I don't know if this artwork was based upon the original architect's plan (which wasn't entirely executed for some reason) or if this is an artist's rendering from imagination, description, or another source. It's clearly not from life. Even the stairways and terrace are different — though eerily similar.
A little poking around reveals that the tomb wasn't completed until 1890. My tentative dating on the card is 1884, based on the text on the card's back, which reads in part:
Clark, Clark Co., Dakota
Gentlemen: — We have fully tested Eldorado Engine Oil during the past year on all kinds of Farm Machinery and on our Threshing Machines….
Very respectfully yours,
Isaac Ulyott
So the card can't be earlier than 1881, when Garfield died, and is probably no later than 1890, when the President was entombed. 1884 seems as likely a date for it as any.
This card was never intended to be sent through the mail, though. (In fact, the penny postcard stamp was not put into use until 1898). This card is printed on very thin card stock or very sturdy paper. It survives because it was pasted into an album. The advertising side of the card is still slightly rough with remnants of the adhesive.
It's the oldest card in my collection. So far, anyway.
The other postcard essays are:
Cemetery Postcards
Cemetery Postcards: The first real postcards
Posted in Cemetery postcard
Tagged James A. Garfield monument, Lake View Cemetery, Ohio cemetery
A fine introduction to Lake View Cemetery
Cleveland's Lake View Cemetery (OH) by Marian J. Morton
Morton's book does a great job of introducing an unfamiliar visitor to the cemetery. She introduces the important permanent residents with an appropriate amount of information, then focuses on the lovely and unusual statuary in the cemetery's permanent collection. She includes Cleveland-area history, illustrated with just the right number of vintage photographs. She discusses the varieties of nationalities-of-birth represented in Lake View.
My chief issue with this cemetery guide is the cover photo, which — while hinting at the diversity of monuments within Lake View Cemetery — gives no indication how beautiful the place is. Even in mid-November, with most of the leaves already drifted to the grass, Lake View is a gem of garden cemetery design.
I found this book in the shop at the Cleveland Clinic, which turns out to be just down the road from Lake View Cemetery. Morton's guidebook encouraged me to visit Lake View for myself. I am so glad I did. The restful beauty was exactly the respite I needed from my hospital vigil.
You needn't go to such lengths to get your own copy of the book. You can order it from Amazon: Cleveland's Lake View Cemetery (OH) (Images of America)
Posted in Cemetery book review, Famous person grave
Tagged James A. Garfield monument, Jeptha H. Wade Chapel, Lake View Cemetery, Ohio cemetery, presidential grave
Proudly powered by WordPress Theme: Coraline.


text:
Q: Creating a JTable with a links on the right side I'm working on a project for work where I input a log file, parse it based on the
threads in the log and place the complete thread confirmation in an JTable. For each thread if there is an error or okay message in a specific column it shows up as either red or blue. I have already implemented this. The next step in my project is to implement a bar on the right side of the GUI that will show up links that you can click and it will go to that row of the JTable.
A good example of this would be in the NetBeans IDE. When you are looking at the
the main window and you select any variable, there is a bar on the right that shows the
occurrences of that variable. This is an idea what I need to implement.
EDIT:
This is a newer version that I'm working on with a sample from the tutorials. What I did was create 3 "element" panes (Each with their own layout managers of course) and then added them to a border layout manager. This part works fine. The issue I'm having is wether or not I can have the JTable on the side change the row heights as the size of the gui changes (full screen, or made smaller).
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package testcolumnheadings;

import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import javax.swing.JOptionPane;
import javax.swing.event.*;
import javax.swing.table.*;
import testcolumnheadings.TestColumnHeadings.Status;
import static testcolumnheadings.TestColumnHeadings.table;

public class TestColumnHeadings extends JPanel {

    enum Status {SELECTED, DESELECTED, INDETERMINATE}
    DefaultTableModel model = null;
    static JTable table = null;
    static JTable jbl = null;
    static JFileChooser fileChooser;
    static File prtFile = null;
    static String prtFilePath = null;

    public TestColumnHeadings(){
        super (new BorderLayout());
        Object[] columnNames = {Status.INDETERMINATE, "Integer", "String"};
        Object[][] data = {{true, 1, "BBB"}, {false, 12, "AAA"},
            {true, 2, "DDD"}, {false, 5, "CCC"},
            {true, 3, "EEE"}, {false, 6, "GGG"},
            {true, 4, "FFF"}, {false, 7, "HHH"},
            {true, 1, "III"}, {false, 312, "JJJ"},
            {true, 12, "KKK"}, {false, 75, "LLL"},
            {true, 2, "DDD"}, {false, 5, "CCC"},
            {true, 3, "EEE"}, {false, 6, "GGG"},
            {true, 4, "FFF"}, {false, 7, "HHH"},
            {true, 1, "III"}, {false, 312, "JJJ"},
            {true, 12, "KKK"}, {false, 75, "LLL"},
            {true, 2, "DDD"}, {false, 5, "CCC"},
            {true, 3, "EEE"}, {false, 6, "GGG"},
            {true, 4, "FFF"}, {false, 7, "HHH"},
            {true, 1, "III"}, {false, 312, "JJJ"},
            {true, 12, "KKK"}, {false, 75, "LLL"},
            {true, 13, "MMM"}, {false, 46, "NNN"},
            {true, 14, "OOO"}, {true, 67, "PPP"},
            {true, 11, "QQQ"}, {false, 112, "RRR"},
            {true, 22, "SSS"}, {false, 35, "TTT"},
            {true, 23, "UUU"}, {false, 56, "VVV"},
            {true, 24, "WWW"}, {true, 97, "XXX"}};
        model = new DefaultTableModel(data, columnNames){
            @Override
            public Class<?> getColumnClass(int column){
                return getValueAt(0, column).getClass();
            }
        };

        table = new JTable(model){
            @Override
            public void updateUI(){
                super.updateUI();

                TableCellRenderer r = getDefaultRenderer(Boolean.class);
                if(r instanceof JComponent){
                    ((JComponent)r).updateUI();
                }
            }
            @Override
            public Component prepareEditor (TableCellEditor editor, int row, int column){
                Component c = super.prepareEditor(editor, row, column);
                if (c instanceof JCheckBox){
                    JCheckBox b = (JCheckBox)c;
                    b.setBackground(getSelectionBackground());
                    b.setBorderPainted(true);
                }
                return c;
            }
        };

        int modelColumnIndex = 0;
        TableCellRenderer renderer = new HeaderRenderer (table.getTableHeader(), modelColumnIndex);

        table.getColumnModel().getColumn(modelColumnIndex).setHeaderRenderer(renderer);

        model.addTableModelListener(new HeaderCheckBoxHandler(table, modelColumnIndex));

        add(new JScrollPane(table));
        setPreferredSize (new Dimension(320, 240));
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run(){
                createAndShowGUI();
            }
        });
    }

    public static void createAndShowGUI() {
        try{
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e){
            e.printStackTrace();
        }
        JFrame frame = new JFrame ("Table Header Check Box");
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.setLayout(new BorderLayout());
        TestColumnHeadings tstHead = new TestColumnHeadings();

        JPanel p1 = new JPanel();
        p1.setLayout(new BorderLayout());
        p1.add(tstHead);

        jbl = new JTable(table.getRowCount(), 1);
        jbl.setRowHeight(6);
        jbl.getColumnModel().getColumn(0).setMaxWidth(6);
//        jbl.;

        JPanel p2 = new JPanel(new BorderLayout());
        p2.add(jbl, BorderLayout.CENTER);

        JButton btn = new JButton("Save Selection");
        btn.addActionListener(new ActionListener(){

            @Override
            public void actionPerformed(ActionEvent ae) {
                int i, j;
                boolean row;
                String selected = null;
                JLabel lbl = new JLabel();

                for (i = 0; i < table.getRowCount(); i ++){

                    row = (boolean)table.getValueAt(i, 0);
                    if (row){
                        if (selected == null){
                            selected = (String)(i + " " + table.getValueAt(i, 1) + " " + table.getValueAt(i, 2) + "\n");
                        }
                        else{
                            selected += (String)(i + " " + table.getValueAt(i, 1) + " " + table.getValueAt(i, 2) + "\n");
                        }
                    }
                }
                fileChooser = new JFileChooser();
                fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
                j = fileChooser.showSaveDialog(new JFileChooser());

                if (j == JFileChooser.APPROVE_OPTION){
                    prtFile = fileChooser.getSelectedFile();
                    prtFilePath = prtFile.getAbsolutePath();
                    System.out.println("Save File Selected: " + prtFilePath);
                    try {
                        try (FileWriter fw = new FileWriter(prtFile)) {
                            fw.write(selected);
                        }
                        JOptionPane.showMessageDialog(new JOptionPane(), "File saved completed.");
                    } catch (IOException ex) {
                        Logger.getLogger(TestColumnHeadings.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
            }
        });

        JPanel p3 = new JPanel(new FlowLayout (FlowLayout.RIGHT));
        p3.add(btn, BorderLayout.SOUTH);

        frame.add(p1, BorderLayout.CENTER);
        frame.add(p2, BorderLayout.EAST);
        frame.add(p3, BorderLayout.SOUTH);

        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }

    public class StatusColumnCellRenderer extends DefaultTableCellRenderer {
        @Override
        public Component getTableCellRendererComponent (JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column){
            JLabel l = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);

            l.setBackground(Color.WHITE);
            l.setForeground(Color.BLACK);

            if (table.getValueAt(0, row).equals(true)){
                l.setForeground(Color.WHITE);
                l.setBackground(Color.RED);
            }
            else {
                l.setForeground(Color.WHITE);
                l.setBackground(Color.CYAN);
            }
            return l;
        }
    }
}

class HeaderRenderer extends JCheckBox implements TableCellRenderer {
    private final JLabel label = new JLabel ("Check All");
    private int targetColumnIndex;

    public HeaderRenderer (JTableHeader header, int index){
        super ((String)null);
        this.targetColumnIndex = index;
        setOpaque(false);
        setFont(header.getFont());
        header.addMouseListener(new MouseAdapter(){
            @Override
            public void mouseClicked (MouseEvent e){
                JTableHeader header = (JTableHeader)e.getSource();
                JTable table = header.getTable();
                TableColumnModel columnModel = table.getColumnModel();
                int vci = columnModel.getColumnIndexAtX(e.getX());
                int mci = table.convertColumnIndexToModel(vci);
                if (mci == targetColumnIndex){
                    TableColumn column = columnModel.getColumn(vci);
                    Object v = column.getHeaderValue();
                    boolean b = Status.DESELECTED.equals(v);
                    TableModel m = table.getModel();
                    column.setHeaderValue(b ? Status.SELECTED : Status.DESELECTED);
                    for (int i = 0; i < m.getRowCount(); i++){
                            table.setValueAt(b, i, 0);
                    }
                    header.repaint();
                }
            }
        });
    }
    @Override
    public Component getTableCellRendererComponent (JTable tbl, Object val, boolean isS, boolean hasF, int row, int col){
        TableCellRenderer r = tbl.getTableHeader().getDefaultRenderer();
        JLabel l = (JLabel)r.getTableCellRendererComponent(tbl, val, isS, hasF, col, col);
        if (targetColumnIndex == tbl.convertColumnIndexToModel(col)){
            if (val instanceof Status){
                switch ((Status) val){
                    case SELECTED:
                        setSelected(true);
                        setEnabled(true);
                        break;
                    case DESELECTED:
                        setSelected(false);
                        setEnabled(true);
                        break;
                    case INDETERMINATE:
                        setSelected(true);
                        setEnabled(false);
                        break;
                }
            }else{
                setSelected(true);
                setEnabled(false);
            }
            label.setIcon(new ComponentIcon(this));
            l.setIcon(new ComponentIcon(label));
            l.setText(null);
        }

        return l;
    }
    @Override
    public void updateUI(){
        setText(null);
        super.updateUI();
    }
}

class HeaderCheckBoxHandler implements TableModelListener {
    private final JTable table;
    private final int targetColumnIndex;

    public HeaderCheckBoxHandler (JTable table, int index){
        this.table = table;
        this.targetColumnIndex = index;
    }
    @Override
    public void tableChanged (TableModelEvent e){
        if (e.getType() == TableModelEvent.UPDATE && e.getColumn() == targetColumnIndex){
            int vci = table.convertColumnIndexToView(targetColumnIndex);
            TableColumn column = table.getColumnModel().getColumn(vci);
            if (!Status.INDETERMINATE.equals(column.getHeaderValue())){
                column.setHeaderValue(Status.INDETERMINATE);
            } else{
                boolean selected = true, deselected = true;
                TableModel m = table.getModel();
                for (int i = 0; i < m.getRowCount(); i ++){
                    Boolean b = (Boolean)m.getValueAt(i, targetColumnIndex);
                    selected &= b;
                    deselected &= !b;
                    if (selected == deselected)
                        return;
                }
                if (selected){
                    column.setHeaderValue(Status.SELECTED);

                }else if (deselected){
                    column.setHeaderValue(Status.DESELECTED);
                }else{
                    return;
                }
            }
            JTableHeader h = table.getTableHeader();
            h.repaint(h.getHeaderRect(vci));
        }
    }
}

class ComponentIcon implements Icon {
    private final JComponent cmp;

    public ComponentIcon(JComponent cmp){
        this.cmp = cmp;
    }

    @Override
    public int getIconWidth(){
        return cmp.getPreferredSize().width;
    }

    @Override
    public int getIconHeight(){
        return cmp.getPreferredSize().height;
    }

    @Override
    public void paintIcon(Component c, Graphics g, int x, int y){
        SwingUtilities.paintComponent(g, cmp, (Container)c, x, y, getIconWidth(), getIconHeight());
    }
}

A: I think you need somthing like this

At left you have your table, and at the right you have Panel with information. I use BorderLayout for that, read tutorial. In the riht panel you can write your logic for links which would be call t.editCellAt(a) or somthing else. And code:
public class Form extends JFrame {

    public Form() {
        DefaultTableModel model;
        final JTable t = new JTable(model = new DefaultTableModel(new Object[][]{},new Object[]{1,2,3,4,5}));
        for(int i =0;i<10;i++){
            model.addRow(new Object[]{i,i,i,i,i});
        }
        JScrollPane jsp = new JScrollPane(t);
        final RightPanel right = new RightPanel();
        t.getSelectionModel().addListSelectionListener(new ListSelectionListener() {

            @Override
            public void valueChanged(ListSelectionEvent arg0) {
                right.col.setText("Col " + t.getSelectedColumn());
                right.row.setText("Row " + t.getSelectedRow());
                if(t.getSelectedColumn() != -1 && t.getSelectedRow() != -1){
                    right.text.setText("Value " + t.getValueAt(t.getSelectedRow(),t.getSelectedColumn()));
                }
            }
        });
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        add(jsp, BorderLayout.CENTER);
        add(right, BorderLayout.EAST);
        pack();
        setLocationRelativeTo(null);
    }

    public static void main(String[] args) throws Exception {
        SwingUtilities.invokeLater(new Runnable() {

            public void run() {
                new Form().setVisible(true);
            }
        });
    }

    class RightPanel extends JPanel{

        JLabel row;
        JLabel col;
        JLabel text;

        public RightPanel(){
            setLayout(new GridBagLayout());
            GridBagConstraints c = new GridBagConstraints();
            c.insets = new Insets(5, 5, 5, 5);
            JLabel l = new JLabel("Option Panel");
            c.gridy = 0;
            add(l,c);
            row = new JLabel("2");
            c.gridy++;
            add(row,c);
            col = new JLabel("3");
            c.gridy++;
            add(col,c);
            text = new JLabel("4");
            c.gridy++;
            add(text,c);
        }

    }
}


Who would say no to the honeymoon of a lifetime in a paradise location aboard your very own luxury crewed charter yacht?
You will be amazed how special your honeymoon will be on board a luxury boutique hotel afloat. You will have total privacy for that very special time together in a magical destination away from the crowds that you would likely encounter in a popular resort.
Dine beneath the stars together each evening on cuisine that has been cooked just for you by your very own private chef aboard your yacht. During the day sail to different islands and secluded picture perfect bays where you can relax together, or enjoy your charter yacht's water sports equipment. There's so much to do on a luxury yacht charter and it's all included within your charter fee. The honeymoon of a lifetime is waiting just for you!
If you would like a small intimate wedding with just a few family members and close friends then why not have a wedding with a difference aboard a charter yacht? This truly unique venue is perfect, a lovely outdoor wedding in the sunshine followed by a honeymoon in paradise.
If you are already married and are considering a renewal of wedding vows then why not hold this in conjunction with your yacht charter. Whether you prefer to renew your vows aboard the yacht or on a secluded white sandy beach, the choice is yours. But afterwards you can relax and enjoy your second honeymoon aboard your exclusive floating hotel.
We can offer help and advice in planning your honeymoon, wedding or renewal of vows charter – so contact us today – our advice is completely free of charge!


We have 13 beautifully crafted Pandaw ships in operation that we built ourselves. Each ship, hand finished in brass and teak by traditional craftsmen, are in themselves objects of great beauty.
The secret of our success is that on our ships, whilst luxury and comfort are discreetly present, it is the colonial character and friendly atmosphere that predominate. All our Pandaws have ultra-shallow drafts and can travel to remote areas, which would be unreachable by other vessels, let alone overland.
The RV Mekong Pandaw received a full refit in September 2013.
new sliding French windows leading to the promenade deck. The numbers of cabins have been reduced to just twenty-four making way for a much enlarged spa, new gym, lecture and movie theatre, art gallery, fair-trade-shop and library on the lower deck.


i started the implementation process of the already discussed variant of structuring data in an automated way.
Maybe i'm blind, but how can i define a primary Key in a model with more than one column ?
Do i've to overwrite the model functionality with my own because this isn't supported or do i overlook things here ?


This module is a part of the NetHomeServer. The AudioProtocolParser is one of the core Items in NetHomeServer. It allows you to connect an IR-receiver or a digital radio receiver to the microphone input and decode the signals. Examples of how to build such receivers can be found here.
Channel [get] [set] Which channel of the audio input to use: Left, Right or Mono. Normally Mono for a microphone input.
UseFilter [get] [set] true or false. Set to true if the input signal is noisy.


text:
Examples of gspread Usage
=========================

If you haven't yet authorized your app, read :doc:`oauth2` first.

Opening a Spreadsheet
~~~~~~~~~~~~~~~~~~~~~

You can open a spreadsheet by its title as it appears in Google Docs:

.. code:: python

   sh = gc.open('My poor gym results')

If you want to be specific, use a key (which can be extracted from
the spreadsheet's url):

.. code:: python

   sht1 = gc.open_by_key('0BmgG6nO_6dprdS1MN3d3MkdPa142WFRrdnRRUWl1UFE')

Or, if you feel really lazy to extract that key, paste the entire spreadsheet's url

.. code:: python

   sht2 = gc.open_by_url('https://docs.google.com/spreadsheet/ccc?key=0Bm...FE&hl')

Creating a Spreadsheet
~~~~~~~~~~~~~~~~~~~~~~

Use :meth:`~gspread.Client.create` to create a new blank spreadsheet:

.. code:: python

   sh = gc.create('A new spreadsheet')

.. NOTE::
    If you're using a :ref:`service account <service-account>`, this new spreadsheet will be
    visible only to this account. To be able to access newly created spreadsheet
    from Google Sheets with your own Google account you *must* share it with your
    email. See how to share a spreadsheet in the section below.

Sharing a Spreadsheet
~~~~~~~~~~~~~~~~~~~~~

If your email is *otto@example.com* you can share the newly created spreadsheet
with yourself:

.. code:: python

   sh.share('otto@example.com', perm_type='user', role='writer')

See :meth:`~gspread.models.Spreadsheet.share` documentation for a full list of accepted parameters.

Selecting a Worksheet
~~~~~~~~~~~~~~~~~~~~~

Select worksheet by index. Worksheet indexes start from zero:

.. code:: python

   worksheet = sh.get_worksheet(0)

Or by title:

.. code:: python

   worksheet = sh.worksheet("January")

Or the most common case: *Sheet1*:

.. code:: python

   worksheet = sh.sheet1

To get a list of all worksheets:

.. code:: python

   worksheet_list = sh.worksheets()

Creating a Worksheet
~~~~~~~~~~~~~~~~~~~~

.. code:: python

   worksheet = sh.add_worksheet(title="A worksheet", rows=100, cols=20)

Deleting a Worksheet
~~~~~~~~~~~~~~~~~~~~

.. code:: python

   sh.del_worksheet(worksheet)

Getting a Cell Value
~~~~~~~~~~~~~~~~~~~~

Using `A1 notation <https://developers.google.com/sheets/api/guides/concepts#a1_notation>`_:

.. code:: python

   val = worksheet.acell('B1').value

Or row and column coordinates:

.. code:: python

   val = worksheet.cell(1, 2).value

If you want to get a cell formula:

.. code:: python

   cell = worksheet.acell('B1', value_render_option='FORMULA').value

   # or

   cell = worksheet.cell(1, 2, value_render_option='FORMULA').value

Getting All Values From a Row or a Column
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Get all values from the first row:

.. code:: python

   values_list = worksheet.row_values(1)

Get all values from the first column:

.. code:: python

   values_list = worksheet.col_values(1)

.. NOTE::
    So far we've been fetching a limited amount of data from a sheet. This works great until
    you need to get values from hundreds of cells or iterating over many rows or columns.

    Under the hood, gspread uses `Google Sheets API v4 <https://developers.google.com/sheets/api>`_.
    Most of the time when you call a gspread method to fetch or update a sheet gspread produces
    one HTTP API call.

    HTTP calls have performance costs. So if you find your app fetching values one by one in
    a loop or iterating over rows or columns you can improve the performance of the app by fetching
    data in one go.

    What's more, Sheets API v4 introduced `Usage Limits <https://developers.google.com/sheets/api/limits>`_
    (as of this writing, 300 requests per 60 seconds per project, and 60 requests per 60 seconds per user). When your
    application hits that limit, you get an :exc:`~gspread.exceptions.APIError` `429 RESOURCE_EXHAUSTED`.

    Here are the methods that may help you to reduce API calls:

        * :meth:`~gspread.models.Worksheet.get_all_values` fetches values from all of the cells of the sheet.
        * :meth:`~gspread.models.Worksheet.get` fetches all values from a range of cells.
        * :meth:`~gspread.models.Worksheet.batch_get` can fetch values from multiple ranges of cells with one API call.
        * :meth:`~gspread.models.Worksheet.update` lets you update a range of cells with a list of lists.
        * :meth:`~gspread.models.Worksheet.batch_update` lets you update multiple ranges of cells with one API call.

Getting All Values From a Worksheet as a List of Lists
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code:: python

   list_of_lists = worksheet.get_all_values()

Getting All Values From a Worksheet as a List of Dictionaries
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code:: python

   list_of_dicts = worksheet.get_all_records()

Finding a Cell
~~~~~~~~~~~~~~

Find a cell matching a string:

.. code:: python

   cell = worksheet.find("Dough")

   print("Found something at R%sC%s" % (cell.row, cell.col))

Find a cell matching a regular expression

.. code:: python

   amount_re = re.compile(r'(Big|Enormous) dough')
   cell = worksheet.find(amount_re)

`find` returns `None` if value is not Found

Finding All Matched Cells
~~~~~~~~~~~~~~~~~~~~~~~~~

Find all cells matching a string:

.. code:: python

   cell_list = worksheet.findall("Rug store")

Find all cells matching a regexp:

.. code:: python

   criteria_re = re.compile(r'(Small|Room-tiering) rug')
   cell_list = worksheet.findall(criteria_re)

Clear A Worksheet
~~~~~~~~~~~~~~~~~

Clear one or multiple celle ranges at once:

.. code:: python

   worksheet.batch_clear(["A1:B1", "C2:E2", "my_named_range"])

Clear the entire worksheet:

.. code:: python

   worksheet.clear()

Cell Object
~~~~~~~~~~~

Each cell has a value and coordinates properties:

.. code:: python

   value = cell.value
   row_number = cell.row
   column_number = cell.col

Updating Cells
~~~~~~~~~~~~~~

Using `A1 notation <https://developers.google.com/sheets/api/guides/concepts#a1_notation>`_:

.. code:: python

   worksheet.update('B1', 'Bingo!')

Or row and column coordinates:

.. code:: python

   worksheet.update_cell(1, 2, 'Bingo!')

Update a range

.. code:: python

   worksheet.update('A1:B2', [[1, 2], [3, 4]])

Formatting
~~~~~~~~~~

Here's an example of basic formatting.

Set **A1:B1** text format to bold:

.. code:: python

   worksheet.format('A1:B1', {'textFormat': {'bold': True}})

Color the background of **A2:B2** cell range in black, change horizontal alignment, text color and font size:

.. code:: python

   worksheet.format("A2:B2", {
       "backgroundColor": {
         "red": 0.0,
         "green": 0.0,
         "blue": 0.0
       },
       "horizontalAlignment": "CENTER",
       "textFormat": {
         "foregroundColor": {
           "red": 1.0,
           "green": 1.0,
           "blue": 1.0
         },
         "fontSize": 12,
         "bold": True
       }
   })

The second argument to :meth:`~gspread.models.Worksheet.format` is a dictionary containing the fields to update. A full specification of format options is available at `CellFormat <https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/cells#cellformat>`_ in Sheet API Reference.

.. Tip::
    `gspread-formatting <https://github.com/robin900/gspread-formatting>`_ offers extensive functionality to help you when you go beyond basics.

Using gspread with pandas
~~~~~~~~~~~~~~~~~~~~~~~~~

`pandas <https://pandas.pydata.org/>`_ is a popular library for data analysis. The simplest way to get data from a sheet to a pandas DataFrame is with :meth:`~gspread.models.Worksheet.get_all_records`:

.. code:: python

   import pandas as pd

   dataframe = pd.DataFrame(worksheet.get_all_records())

Here's a basic example for writing a dataframe to a sheet. With :meth:`~gspread.models.Worksheet.update` we put the header of a dataframe into the first row of a sheet followed by the values of a dataframe:

.. code:: python

   import pandas as pd

   worksheet.update([dataframe.columns.values.tolist()] + dataframe.values.tolist())

For advanced pandas use cases check out these libraries:

 * `gspread-pandas <https://github.com/aiguofer/gspread-pandas>`_
 * `gspread-dataframe <https://github.com/robin900/gspread-dataframe>`_

Using gspread with NumPy
~~~~~~~~~~~~~~~~~~~~~~~~

`NumPy <https://numpy.org/>`_ is a library for scientific computing in Python. It provides tools for working with high performance multi-dimensional arrays.

Read contents of a sheet into a NumPy array:

.. code:: python

   import numpy as np
   array = np.array(worksheet.get_all_values())

The code above assumes that your data starts from the first row of the sheet. If you have a header row in the first row, you need replace ``worksheet.get_all_values()`` with ``worksheet.get_all_values()[1:]``.

Write a NumPy array to a sheet:

.. code:: python

   import numpy as np

   array = np.array([[1, 2, 3], [4, 5, 6]])

   # Write the array to worksheet starting from the A2 cell
   worksheet.update('A2', array.tolist())


text:
Q: DTD syntax - Is it possible to specify an element that can only contain attributes? Using DTD syntax, can one specify an element that contains only attributes, and no possible child node? Meaning no child elements or no child text.
I want a dtd to restrict an element as follows:
<element att1="CDATA" att2="CDATA"/>

I've tried this, but %element.content; won't validate:
<!ENTITY % element.content "">
<!ENTITY % element.attributes
            "att1
                    CDATA
                            #REQUIRED
             att2
                    CDATA
                            #REQUIRED">
<!ATTLIST element     %element.attributes;>
<!ELEMENT element     %element.content;>

A: Found the answer after posting:
<!ENTITY % element.content "EMPTY">

Duh.


text:
LTSE 2023
ICC, Wales
Learning & TeachingCMBE Events
4 sessions taking place between February and June 2023
In-person, multiple venues
4 sessions taking place between February and September 2023
Opportunities for UK business schools in India
With India set to become the 7th largest economy in the world, Kevin McCole, UKIBC discusses the approach that UK…
LeadershipInternationalPolicyCommunications
Dare to evolve: Re-assessing assessments in business schools
As business school educators, we have a great opportunity to help students obtain their most desirable post-study…
Using pedagogical research to help develop academic identity
All business schools employ individuals who have made the move from practitioner, to academic. Very often these…
Auditing the Auditors: An evaluation of the REF2021 output results for UoS 16
The UK has recently concluded the Research Excellence Framework (REF2021) exercise, involving 157 universities, 76,132…
The CMBE wins Best Professional Development Initiative award
CMBELearning & Teaching
The Certified Management & Business Educator has been recognised at the Association Awards as the 'Best Professional Development Initiative' in 2019.
The Chartered ABS scheme was launched in May to provide business school educators with professional recognition and a pathway to support their ongoing professional development. The CMBE was developed in response to growing demand from teaching staff for support to advance their teaching practice on a continuous basis and following growing pressure on academics and institutions to meet standards set by the TEF, NSS and accrediting bodies.
The CMBE provides eligible educators with the professional recognition of the 'CMBE' and commits staff to undertaking 40 hours continuous professional development each year.
Two-thirds of UK business schools already have staff holding the CMBE designation within their faculty, and there is a growing interest internationally with CMBEs teaching across 15 countries worldwide. If all 15,000 academics teaching in the fields of business and management in the UK committed to their ongoing professional development through the CMBE, it could lead to a step change in the experience and outcomes of the 250,000 students taught in UK business schools.
Barney Roe, Director of Communications & External Relations at the Chartered ABS, said: "We are thrilled to receive this recognition for the CMBE. The foundation of everything we do is in response to our members needs and the CMBE is no exception. We began this journey three years ago and have worked closely with members throughout to design a unique scheme which we hope will transform business and management education for the benefit of educators, institutions and their students."
The awards' judging panel said: "an innovative CPD initiative with clear aims and objectives based on sound research and strategy, responding to a clearly perceived need within the sector, with the potential to bring higher standards in teaching and a better student experience. Strong understanding of the importance of shaping the programme to the users' needs. Impressive use of the full range of tools and technologies available."
You can find out more about the Certified Management & Business Educator here.
On the 23rd of August, Chartered ABS carried out a survey measuring how reforms to the apprenticeship system are…
New update from Bloomberg
Bloomberg have provided a further update on emergency access to their trading terminals.
The CMBE has won the Association Awards' 'Best Professional Development Initiative 2019'.
Improving the feedback experience: Usefulness through verbalisation
Students are expressing dissatisfaction with feedback in higher education (Boud & Molloy, 2013). This can be seen in…


ZURICH UBS (S:UBSG) has reorganized its pay policy for 10,000 back-office workers, Switzerland's biggest lender said on Monday, changing how their bonuses are calculated.
"While not guaranteed, variable compensation is anticipated to be around one-half of a month's salary. In a good performance year for the group, variable compensation can be higher," UBS said in a statement.
The seller of a $5.5 million property in Carbonear, Canada, is willing to accept payment in any one of 28 fiat currencies or three cryptocurrencies. Those cryptos welcomed for payment of the Stone Jug are the top three by market capitalisation – Bitcoin (BTC), Ether (ETH), and XRP. As you probably guessed from its seven-figure...The post Bitcoin, Ether, and XRP Accepted for $5.5 Million Events Venue appeared first on NewsBTC.