About: Aid for tuition and other educational expenses are available for Veterans and their family members who are attending an institution of higher learning within the borders of the State of Maryland.
Or a state or local public safety employee or volunteer who was 100 percent disabled in the line of duty. Call 800-974-1024 for more information.


If you are a true lover of Chocolate and Peanut Butter then this recipe is made for you!
When it comes to eating candy, raise your hand if you tend to choose one with chocolate?
I have a few in my family who go for the Reese's, Kit Kats, Rolos, and Heath bars. Every time.
Me and my hubby though, we prefer the chewy fruity…Swedish Fish, Starburst, and my personal favorite: Skittles.
But, back to the recipe! This past holiday I made a couple batches of our favorite recipe: Buckeyes. If you haven't had one, you really should try them.
Remember I said I made several batches? Well, after dipping the umpteenth buckeye in chocolate, it made me wonder if they could be made into bars instead. I mean really, how easy would that be, right?
After my first attempt, I knew I had the peanut butter layer nailed, but I had too thin a layer of chocolate on top (if you follow me on Instagram you would have seen this photo!) Instead of just adding more chocolate, I made a whole extra batch with a thicker layer of chocolate.
They were perfect. I decided to call them "Buckeye Bars." But, after my oldest took one, he said they tasted like a Reese's. SCORE!!!
You can call them Reese's, or Buckeye Bars, but just promise you make a batch. I've seen other recipes that use graham crackers crushed into the bar, and while I'm sure that is delicious, this recipe has no crumbs. It's melt in your mouth peanut butter, sugar, and butter!
I used Ghirardelli semi-sweet chocolate bars for the top layer. The chocolate melts so smooth, and tastes amazing.
If you don't want your chocolate to "crack" when cutting your bars, don't refrigerate these bars. And cut them as soon as the chocolate sets (about 30 minutes room temperature). I originally cut them into squares, but in an attempt to portion control and make them smaller, I cut each square into a triangle. So fun!
If you're looking for more peanut butter treats…have you made these Buckeye Brownies yet? They are calling my name!
Buckeye Bars: no bake chocolate peanut butter candy that tastes like a Reese's peanut butter cup!
Line a 13x9 inch baking sheet with foil. Set aside.
In a large mixing bowl, beat 3/4 cup melted butter, powdered sugar, peanut butter and vanilla extract together. Mixture will come together into a "dough." Using your hands, press into the bottom of the 13x9 dish.
In a microwave bowl, combined chocolate bars (broken into pieces) with 1 tablespoon butter. Heat for 30 second intervals, stirring until chocolate is smooth (mine took about 1 1/2 minutes).
Spread evenly over top of peanut butter layer.
SCORE!!!, indeed, Aimee! Love, love, love me some chocolate and PB…especially if it tastes like Reese's PB cups! Thank you for sharing. Pinning!
Been making these for over 30 years from the Silver Palette cookbook. Yummy!! Nice to see them now and again!!
Buckeyes in bar format, genius! So you don't have to roll out all those buckeyes! Patience is not my virtue 🙂 Pinned of course!
Chocolate and PB is right up there for me, and I love buckeyes. And in bar form too, oh yes!
OMG. I'd eat the ENTIRE PAN. These would be dangerous. Love!
My husband is the biggest PB fan I know. He would adore these bars!
YUM! I love how these are so simple to make and no-bake! Doesn't get much easier than that. I'll have to wait to make them for a party or gathering, or I'll eat the whole pan myself.
This stuff is pure crack, Aimee! I mean, I know coffee is your thing, but I have a hard time not mainlining chocolate and PB on a daily basis. These are definitely my favorite!
Perfect for Valentine's Day!! Love love love.
Reese's are my favorite candy bar and these just got added to my must-do list!
I grew up eating these and love everything about them!
My candy craving change depending on the day. Sometimes its chocolate and other times it is the chewy candy. These buckeye bars look so much easier than having to roll all the balls!
Yum! peanut butter and chocolate are two of my favorite things!
Saw these in your email yesterday morning and loved them so much, I made them for the Super Bowl! I love buckeyes, and this was a great way to get the yummy without the tedious forming and dipping of the balls. I would like to suggest a few clarifications to the recipe though — since you recommend lining the pan with foil, could you say why in the instructions? I made mine in a 9×13 Pyrex, did not line it with foil, and had no issues getting the bars out. Also, for clarity you may want to edit the chocolate line in the ingredients — when I printed it out, it came out as "4 4 ounces ghirardelli semisweet chocolate bar" which momentarily threw me for a loop as 44 ounces is nearly 3 lbs of chocolate. I guessed you meant 4 x 4 oz for a total of 16 oz… which is what I did. My chocolate layer does not look as thick as yours does so I'm still wondering. They tasted yummy anyway!
I line mine with foil, because then I can lift the foil out of the pan, place it on a cutting board and get nice even cuts. Oooh, yeah, i see what you mean about the 44oz. Nope you had that right, 4 (4oz) bars. My middle pieces were thicker with chocolate, so maybe those are the ones in the photo? Glad you enjoyed the recipe, thanks for coming back with your tips!!
These would be a whole lotta dangerous in my house!
I will need my fat pants. These look and sound delicious!
What incredible looking buckeye bars. I just love how easy they are to make and how little ingredients they require whilst still being so sweetly delicious (i bet)!
I love Reese's and buckeyes so really I'm obsessed with these bars either way!! and SUCH a genius idea to make them bars to save yourself on time!!
I have become quite the lazy baker when it comes to truffles and candies lately…bars all the way!!! And these peanut butter chocolate wonders would totally not last the day in my house! Love that you remade them to have more chocolate!!!
OMG! I'm already craving these! Peanutbutter and chocolate are my akillesheal.. Maybe I'll make these on Satursday with a heavy red wine. Yum!
Hi! Could these be made with peanuts instead of peanut butter? Because it's kind of expensive here in Croatia. Regards!
I was trying to find inspiration for dinner, but saw this instead and now this is all I want. Hey, peanut butter is good for you so this could count as dinner, right?
I totally put a stamp of approval on this idea, haha!!!
These do look and sound delicious, but aren't they only a "Buckeye" because of their distinctive shape (shaped to look like the buckeye nut from the tree of the same name); without that shape it's just another peanut butter cup wanna-be. I doubt that any Ohioan would call these a Buckeye, even if they are delicious.
Having lived in Ohio for 8 years, I'm pretty sure none of my neighbors complained when I brought them a plate of these "buckeye bars." After all, it's just a name. And they taste EXACTLY like the traditional treat, only in a "bar form." Making it easier for many people to enjoy!
Could you use chocolate chips instead of the candy bars? If so how many cups would you use? I have the chocolate chips on hand……thanks!
So easy and so good. Family loves them too.
Have you found the same to be true with the bars–just asking as the PB isnt encased in chocoate as balls are?? thanks in advance for your response!
They definitely seem to dry out faster. But if keep them stored in an airtight container (I would keep them UNCUT), they should be fine now until Christmas!
Going to try this. Should the pan be chilled before covering with the chocolate? I normally would chill the balls before dipping.
They don't have to be. I've done it both ways.
My peanut butter part seemed to soft,chocalate melted as soon as you touched it.would have liked it to be firm.
Can you use dark chocolate chips instead of bars?
I can't eat anything dairy so wonder if the could be made without butter.
Sorry I hit wrong key. My question was about making these without butter as I cannot have any daily products.
We use earth balance. Or whatever.
Hi seen your recipe on Facebook and in the video it looks like you used chocolate chips but it isn't listed in the ingredients?
Looks delicious- I made them & forgot to cut as directed – & put in frig to speed u setting ????
Guess now all cuts will crack ?
You can try to let it come to room temp and then cut it?
Does the recipe call for natural peanut butter ore regular peanut butter. Just want to be sure.
Do you make 2 batches of chocolate to put on top?
Chocolate and Peanut Butter, can it get any better? These look delicious, and can't wait to make them!
I love that this is a no bake recipe…it's so easy!
I am seriously drooling right now. There isn't anything like sweet peanut butter and chocolate together. I'd definitely have to have a plan to share before making them though because I wouldn't trust myself alone with these treats!
I love buckeye bars!! They are always a hit with everyone. They are smooth & creamy & I love the peanut butter/chocolate combination!
I always make these as gifts and everyone LOVES them!!!
Can I use the 20 oz package of Almond Bark, like I use to dip the balls in?


Isola Maggiore is a wonderful encounter with history, culture, arts, crafts, environment and gastronomy. A unique experience all to live.
Isola Maggiore is part of the municipality of Tuoro sul Trasimeno, has an area of 24 hectares, is therefore relatively small despite its name, in fact Isola Polvese is the largest of the three islands of Trasimeno Lake. Isola Maggiore is the only of the three islands of the Trasimeno to be inhabited again. The 18 people who populate the island live in the western area, along Via Guglielmi, the main street. The characteristic feature of the island still retains the atmosphere of the village of the '400 fishermen, in fact, in the past, fishing was the main source of livelihood of the island.
In 1803 the island came under the jurisdiction of Castiglione del Lago, for the disposal of Pope Pius VII. In 1875, at the behest of the islanders, who at the time were about 200, the territory was included in the municipality of Tuoro sul Trasimeno. In 1887, the Marquis Giacinto Guglielmi bought the Franciscan monastery and the adjacent church, turning it into a private castle. The castle remained the property of the Guglielmi family until 1975.
When you arrive to Isola Maggiore you arrive at a small square, from here going to the right, towards Via dei 3 Martiri, you can see the characteristic wind mill, while going up Via San Michele Arcangelo you arrive at the homonymous church, on top of the island. To the left instead follow Via Guglielmi and the lake promenade. Along the brick-paved street you begin a journey back in time, between the fourteenth century palaces and houses of the seventeenth century fishing. The two oldest parish churches (XII century) and the Casa del Capitano del Popolo (XIV century) testify to the splendor reached in the centuries from the small island community. It is can to admire Villa Isabella built, in the late nineteenth century by the Marquis Guglielmi, on the ruins of a church and a Franciscan monastery dating from the early fourteenth century. You can also visit the Chapel reminding the landing of San Francesco, when in 1211 he went to a hermitage on the Isola Maggiore to pass Lent in "solitude and fasting" and the rock where the saint stopped to pray.
The island also houses the Museo del Merletto, as the tradition of lace "point of Ireland", a special process made crochet lace, is characteristic of Isola Maggiore. This tradition dates back to the early '900, when Elena, daughter of the Marquis Guglielmi, who a few years he had built a villa-castle on the south shore of the island, decided to create a profitable business for the island's women, and founded a school lace. For this purpose he brought from Turin an expert teacher in the "point of Ireland", an elaborate lace made with a cotton thread worked with a very thin crocheting. A girl of Isola Maggiore, Elvira Tosetti, first learned this art and later taught it to the other island. In a short time the young were able to increase the family economy realizing clothing and home accessories, required by the noble ladies who frequented the Marquis Guglielmi.
Even today, along Via Guglielmi, you see women intent on achieving these craft masterpieces.
At "Museo del Merletto" are on display some of the best examples made.
Closed from 2 November until Easter.


text:
65 results for "summer"
View ALL | WATCH | SHOP | READ
Tennis, "Take Me Somewhere"
Denver pop twosome takes to the sea.
Colorado-bred duo Tennis make breezy, simple pop jams that are perfectly suited to easy summer days spent doing stuff outside. Like, for example, playing tennis, or sailing. So the video for "Take Me Somewhere," shot on Chesapeake Bay aboard what looks to be a very nice sailboat, is an ideal fit. Directed by Ian Perlman, the footage was shot on a vintage 16mm Bolex camera, giving it a nostalgic......read more
Lemon Ball
Throwback baseball conjures earlier era. $35.00
Created by Paul Cunningham, a longtime Major League Baseball photo editor, the Lemon Ball is a throwback baseball made from premium leather. Based on the original lemon peel style ball from the early 19th Century, the Lemon Ball is a beautiful tribute to an earlier era. Designed to withstand the rigors of outdoor play, the Lemon Ball is perfect for a game of stick ball, baseball, or street ball,......read more
Hollie & Harrie Sombrilla
Stylish shade for sunny days at the beach $150.00
Aussie design duo Hollie & Harrie answer the call for stylish, airy sun protection with their brightly colored Sombrilla. Offered in three colors — Morrocan Blue, Beach Yellow and French Stripe — the Sombrilla is big enough to shade the whole family. "With five very active children between us, we adore the beach and outdoors but dread the sunburn," they say on their......read more
Magical 35mm Travel Photos by Jess Gough
London photog takes us on a trip through the woods
One of the reasons why travel photos can be so compelling is that the person shooting them is out of his or her comfort zone, eyes wide open to the new stuff that surrounds them. That's definitely the case with 22-year old, London-based photographer Jess Gough, who says the best opportunities for taking pictures come on the road, without the distraction of work obligations and a buzzing cell......read more
Trout Is All
Three Swedish snowboarders trade in their shred sticks for flyrods
In terms of connecting with the rhythms of nature, there may be no greater pastime than fly-fishing. Add camping to the equation, and you have the perfect environmental experience. "Trout Is All" from Rolf Nylinder of Frontside Fly captures both activities in beautiful fashion. Shot on a summer sojourn to the upper Vindel River in the backcountry of northern Sweden, the clip features a couple of......read more
A Nordic Vacation with Daniel Gebhart de Koekkoek
Austrian photographer takes us on a summer excursion to a Finnish lake
Is there anyone else out there who can't wait to leave work behind and spend some lazy summer days by a body of water? If so, these pics from Daniel Gebhart de Koekkoek aren't going to make you feel any more patient. Last summer, the Vienna-based photographer traveled with his girlfriend and dog to the Finnish forests of Harjumaa, where they settled into a tiny cabin on a lake. The photos......read more
A short animation about... well... getting away
Well, summer's right around the corner. That's great and all, but for those of us that live in the city (i.e. pretty much everyone), summer means heat bouncing off concrete and sweat dripping down our backs. Apart from synthetically cooled buildings and the occasional promise of a cool evening, there's only one real respite from the daily grind: getting the hell out of the city. This animated......read more
Steven Perriloux's Sun-Kissed California
Laid-back Los Angeles vibes reign supreme in these photos from Terry Richardson's protégé
Photographer Steven Perriloux leads a bicoastal existence, dividing his time between LA and NYC shooting fashion editorials for major magazines. But it's his album of personal photos that caught our eye. In the series, the friend and former assistant of Terry Richardson captures California subculture in all its casual, sun-drenched glory. Perriloux discussed his attraction to underground culture......read more
River Rafting in Sweden
A Scandanavian eco-tourism outfit lets travelers embrace their inner Huck Finn
Thanks to Mark Twain, the image of a timber river raft drifting lazily downriver is forever embedded in the American consciousness. Over the years, it's become the ultimate symbol of escapist freedom. Now, you too can enjoy that very activity on your next holiday. The only catch? You have to travel to Sweden to make it happen. During the summer months, a Swedish eco tourism outfit called......read more
Cityboy Picnic Grill
Finnish designer Klaus Aalto's portable BBQ has your on-the-go grilling needs covered $229.00
It's official: Summer is right around the corner, which means it's time to get grilling. For those of you that are lucky enough to have a backyard, BBQing is easy -- walk out the back door, light up the grill, and and go to town. But for the rest of us plebs, we have to head to parks and other public spaces for covert picnics. And that requires a portable grill. With the Cityboy Picnic Grill,......read more

redpajama_set_name: RedPajamaCommonCrawl


Are you planning to welcome the New Year in a unique style? Then paying a visit to the United States is worth a while. The US offers an excellent festival on New Year's Eve with Crackers, lightning's and count down parties. If you are planning to have a look on breathtaking New Year's parties then visit these top American cities to fulfill your wishes. They have some of the best New Year celebrations in the world.
Watch an astonishing demonstration performing at one of the New York City's incredible execution venues.
Dining in a NYC restaurant. Many will have special menus for the New Year.
A harbor tour to watch the city lights and the various splendid firecrackers shows.
A family cruise complete with DJ, live groups, dinner, and top-rack bars.
A city crawl to the many masquerade balls, themed affairs and style shows in town.
New Year's Eve in Atlanta means inviting new conceivable outcomes in whatever manner you may pick. Celebrating New Year in Atlanta is the life time event. Here are the top activities for an awesome New Year's Eve celebration in Atlanta.
Attend the yearly Peach Drop at Underground Atlanta. This 20-year-old festival is the biggest New Year's Eve party in Southeast America.
Listen to the Atlanta Symphony Orchestra. It helps bring down the window ornament on the year with an astonishing and altogether agreeable night.
Visit the Walt Disney World Resort with its parades, firecrackers and the magic of Disney.
Spend time in either or both of Universal Orlando's amusement parks: Islands of Adventure and Universal Studios. Both are open of New Year's Day.
Head over to Sea World to enter the New Year in harmony with the ocean wildlife. They have shows, music festivals and everything to make your day memorable.
New Year is a time to celebrate and make new resolutions in the life. If you want it to be memorable, you really want to end 2014 in one of these world-class American cities in the America for a life time experience.
Ruby Andrew is a prolific author and blog writer from Bristol, UK. She works as a guest blogger on her chosen areas of interest and currently writes on behalf of esta visas.


text:
Lin Clark
Lin Clark is a code cartoonist. She takes coding concepts and turns them into cartoons. She also works in Mozilla's Emerging Technologies group, where she gets to tinker with things like WebAssembly, Servo, and Rust. In previous lives, she worked at npm, was a core contributor to open source projects like Firefox's developer tools, and contributed to HTML data standards.
The future of the browser
The browser needs to get faster. The first browser was created almost 30 years ago. Since then, the browser has moved from its past as a simple document viewer towards a future as a fully-featured application platform. But those applications are testing the limits of current browsers, especially on devices like smartphones. To support those applications, browsers need to adapt to modern hardware.
In this talk, Lin explains how the browser works today. She'll share what browser vendors need to do over the next few years to ensure their browsers (and the web itself) meet the upcoming demands.
Audience: [Applause]
Lin Clark: Well, thank you, all. Thank you, all, very much for that welcome.
Hi, I'm Lin Clark, and I make code cartoons. I also work at Mozilla where I'm in the emerging technologies group. That's things like the Rust programming language and Web Assembly, which is a fast way to run languages other than JavaScript in the browser. We also work on Servo, which is a new Web engine. I'll be talking about all of these things today because they're all part of the future of the browser.
Why talk about the future of the browser? Because browsers are facing a challenge. Whether or not browsers meet this challenge could change the Web as we know it.
What is this challenge? Browsers need to get faster. Let's look at the trajectory of the speed of the browser over the past two decades.
In the early days of the Web, speed really didn't matter that much. We were just looking at static documents. So, as soon as that document was rendered to the screen, the browser was pretty much done with it. It might need to do a little bit more work if you scrolled the page up and down, but that work wasn't too complicated.
Then people started pushing the boundaries. They started thinking, "What can we do with this Web besides just delivering static documents?" Pages started getting interactive. They started having animations.
Do you remember back when everybody went dropdown crazy, and we had drop-down menus everywhere? People created these fancy, sliding, up and down, and in and out ones with jQuery? Once those were part of the page, the Web page wasn't just being painted once to the screen. With every change, it needed to be repainted. Sometimes, like when you had this motion, it needed to be repainted multiple times for that change to give you that sense of movement.
For every one of those changes, there were multiple repaints of the screen. If you wanted interactions and animations to look smooth, those repaints needed to be happening at a certain rate. There needed to be 60 of them every second. That meant that you only had 16 milliseconds to figure out what exactly the next version of this page should look like.
Browsers made all sorts of changes to come up to speed, to accommodate these new applications and get up to 60 frames per second. But as is the way with the Web, content authors started pushing the boundaries even further. They started not just making their Web applications more interactive, but bringing whole new classes of applications to the Web, like PC games. Companies started talking about bringing their applications to the Web, applications like PhotoShop. These new classes of applications are taxing the Web even more and making clear that things like JavaScript need to get even faster.
It's not just the content authors that are pushing these boundaries either. It's also hardware vendors. For example, the new iPad is going from 60 frames per second up to 120 frames per second. That means that the browser has half as much time to do just as much work.
New kinds of content are coming to the Web and pushing this even further. For example, with VR, you have two different displays, one for each eye, and they both need to be going at least 90 frames per second to avoid motion sickness. On top of that, a lot of these are at up to 4K resolution, which means you have a whole lot more pixels that you actually have to paint.
Let's think about what this change means. If we're running a website on a 13-inch MacBook Pro, we have 16 milliseconds to fill in 4 million pixels. With the next iPad, you have half as much time. You have eight milliseconds to do three million pixels. With a VR experience, you have 11 milliseconds to fill in 16.5 million pixels. This doesn't even include any heavier JavaScript needs. That is a huge leap that browsers need to make in order to keep up.
What happens if browsers don't keep up? Well, as more and more people buy these new devices, and as more and more content moves towards these heavier applications, if browsers don't keep up, people will stop seeing the Web as the default place where they should put their content. This could mean that the Web, as we know it, withers, which is a pretty scary thought.
But, to be honest, I'm actually not too worried about this. I'm confident that browsers can make this leap. The reason that I'm confident is that, at Mozilla, we've been prepping for this change for the past ten years. We've been looking at the direction that computer hardware is going. We've been figuring out the new way that we need to program to keep up with these changes.
The answer is parallelism. The future of the browser is parallel. We've only just started taking full advantage of this in Firefox, but we're already seeing big wins from it, and every indication is that this new way of doing things can get the browser where it needs to be.
In this talk, I want to explain exactly what browsers need to change in order to keep up with these changes. But, before I do that, let's talk about what the browser actually does. I'm going to start with the rendering engine. This is the thing that takes your HTML and CSS and turns it into pixels on the screen.
It does this in five steps. But, to make it simpler, I can split up these five steps into two different groups. The first group takes the HTML and CSS and figures out a plan. It figures out what the page should look like. This is kind of like a blueprint. It specifies where everything will go on the screen, and it specifies things like the widths, the color, and the heights of elements. Then the second group takes this plan, and then it turns that into pixels, the pixels that you see on your screen.
Now, let's look more closely at each step in this process. The first step is called parsing. What the parser does is it turns the HTML into something that the browser can understand because, when this HTML comes into your browser, it's just one big, long string of text. It's kind of like a big, long paper ribbon that has a lot of characters all in a row. But, what we need is something different, something that the browser can actually use.
We need a data structure that tells us what the different elements on the page are and how they're related to each other, like parent/child relationships. I think of this kind of like a family tree. We need to turn this long paper ribbon into a family tree of the page. What the parser does is it goes along this paper ribbon with a pair of scissors. When it seems the opening tag for an HTML element, it cuts out that HTML element, and it puts it on the wall into the family tree.
For example, if it came across a div, it would cut that out and put that into the family tree. Then the next element it comes across goes under that div. It draws a line to represent that parent/child relationship.
This family tree is called the DOM tree, the Document Object Model. It's called that because it provides a model of the document, which we can use to make changes, whatever changes we want to make to the page. If JavaScript wants to change what shows up on the page, for example, if we wanted to not show some of these paragraphs on the page, it can make a change to that family tree. Then those paragraphs would disappear from the page.
At the end of parsing, we have this family tree, the DOM tree. That tells us about the structure on the page and those parent/child relationships. What it doesn't tell us is what these things should look like. In order to figure out what they would look like, we take the CSS that we've downloaded and figure out which styles apply to which of the elements in this tree. That's the next step: CSS style computation.
I think of CSS style computation like a person filling in a form for each one of these elements in the tree. This form is going to tell us exactly what this element should look like. For example, it's going to tell us what the color should be and what the font size should be. It has more than 200 form fields on it, one for every single CSS property. This form needs to be completely filled out.
For every element in this tree, we need to fill in all of the form fields on this form. But, for every element, there are going to be some properties that aren't set in our CSS files. You aren't going to type in 200 different declarations for everything that you have on your page, so we're going to have to figure out values for those missing CSS properties. This means going through multiple steps for each element.
First, we figure out which rules in the CSS apply to the element. The rule is the thing between the braces, all of those properties that you declare. For example, if you have a paragraph and it has margin and padding, the rule contains both that margin declaration and the padding declaration. If we're on a DOM element, if we're going through this tree and we're on a paragraph, a DOM element, then that matches; that rule matches that DOM element. Multiple rules can match a single DOM element.
This process of figuring out which rules apply to the DOM element that you're on is called Selector Matching. We get this list of matching rules for every match to this particular element, and then we sort those rules. We figure out which is the most specific. Then we fill in the form field values based on that. We take whatever properties it has and fill that into the form.
After that, we go to the next most specific. If it has values for anything that we haven't already filled in, we fill those in. We keep going down the list until we get to the end of this list of rules. But, we're still going to have lots of empty form fields. If none of the matching rules contained a declaration for this property, then that property is going to be empty.
Some properties get a default value in this case. Others inherit from their parents. In that case, we just look at the parent and use whatever value it has. That process is called The Cascade.
At the end of CSS style computation, each element has its form completely filled out with all of the CSS property values, but there's still a little bit more that we need to figure out. We need to figure out how wide and how high things are going to be and where they're going to be on the page. The next step, Layout, is what takes care of this.
It looks at the dimensions of the browser window. From that, it calculates those relative values. If a div is 50% of its parent, it will figure out exactly what that means. It will also do things like break up a paragraph element into multiple elements, one for each line in the paragraph. That way it knows how many lines high the box needs to be to accommodate that whole paragraph.
The output of this step is another tree. In Firefox we call it the Frame Tree, but in other browsers, it's called the Render Tree or the Box Tree. This is the ultimate plan. This is that blueprint. This is what tells us exactly what the page should look like.
Now we move on to the next part of rendering, which is turning that plan into the pixels on the screen. Before I get into the details of this, I want to talk about what that means, what it means to put pixels on the screen. You can think of the screen as basically a piece of graph paper. There are lots of tiny boxes, rows, and columns. When you're rendering, what you're doing is you're coloring in each one of these boxes with a single color.
Of course, there's not actually graph paper in your computer. Instead, there's a part of memory called The Frame Buffer. In that part of memory, there's a box that corresponds to every pixel. It says what color the pixel should be, and the screen checks that part of memory. Every 16 milliseconds, it will check that part of memory and see what the color should be for each pixel. Whatever colors are in that frame buffer whenever it checks are what would get shown on the screen.
But, we don't just fill in this frame buffer once. We end up having to fill it in over and over and over again. Anytime you have that interaction or animation, any time you have a change to the page, you have to update that frame buffer. Even if the user is just highlighting something on the page, though, so even if you don't have interactivity in your site, that act of highlighting means that the browser is going to need to refill this frame buffer as well.
This frame buffer can be pretty big. Depending on how big your screen is, you can have millions of pixels. That's a huge piece of graph paper. It means that filling in pixels can take a really long time, especially when there are a lot of things that are rapidly changing on the page. Because of this, browsers have tried to figure out ways to reduce the amount of work that they have and make it faster.
One way that they've done this is by splitting off what gets rendered into multiple different layers. These layers are like you have in PhotoShop. I think of them like the layers that you would have had if you were doing animation in the old days, like those onion skin layers that they used to do Bugs Bunny cartoons on.
You have the background on one layer, and then the characters on another layer or multiple layers. Then if the characters move, you don't need to repaint the background. The background just stays the same. It's only that top layer that needs to change.
The first step in this process is called painting. That's where you actually create these layers. The next step is called compositing. That's where you take these layers and put them together. Then you basically take a picture of it. That is what goes to the screen. That's how the page gets rendered.
Now, I framed this as the way that a Web page's content goes from HTML and CSS to pixels. But, what you might not know is that there's another part of the browser, the tabs and the URL bar, all of that stuff. That part is actually separate. It's called the Browser Chrome.
In some browsers, like Firefox, rendering Browser Chrome is also handled by the rendering engine. You have this rendering engine, and it has two different tasks that it needs to do. It has to render the inside of this window, which is called the Content, and outside, which is called the Chrome.
Actually, it's not just two tasks, though, because, for any tab that you have open, there's going to be another content window. Even if its pixels aren't showing because it's not the selected tab, it could be running JavaScript in the background. The browser has multiple things to do, and they're pretty independent of each other.
This is one of the earliest places where parallelism was introduced to the browser. In 2008, you started seeing a browser take advantage of new hardware to run these all at the same time, independently of each other. But, it wasn't us that did that. It was Chrome.
When Chrome launched, its architecture was already using parallelism like this. It's called the Multi-process Architecture. That's one of the reasons why Chrome was faster and more responsive than Firefox.
Now, I feel like I should take a step back here and explain what this all really means, what hardware changed specifically that Chrome was taking advantage of, and what that change made possible. So, let's do a little crash-course in computers and how they work. You can think of a computer kind of like you think of a brain.
There are different parts of this brain. There's a part that does the thinking, so that's addition, subtraction, any logical operations like "and" or "or." Then there's some short-term memory. These two are pretty close together in the same part of that brain. Then there's long-term memory.
These parts all have names. The part that does the thinking, that's called the arithmetic and logic unit. The short-term memory, those are called registers. Those two are grouped together on the central processing unit or the CPU. The long-term memory is called random access memory or RAM.
Now, in order to get this brain to do anything, we need to give it an instruction. This instruction is going to tell us what we need to do with some bit of the short-term memory. Each box of the short-term memory has a label so that we can refer to it. Then we can use these labels in the instruction to say which value the instruction should act upon. For example, we could add a number to a value that's in short-term memory to get a result, so we could add one to the value that's in R4.
Now, one thing that you may have figured out from this is that we can only do one thing at a time. This brain can only really think one thought at a time. That was really true for most computers, from the earliest computers to the mid-2000s. Even though these computers have these limitations for all those years, though, they were still getting faster.
They are still able to do more. Every 18 months to 2 years or so, they were getting twice as fast. We could run twice as many instructions in the same amount of time.
What made it possible for these computers to get faster was something called Moore's Law. The little electrical circuits that you use to build all these components, like the CPU, they were getting smaller and smaller. That meant that more and more of them could fit on a chip. With more of these building blocks, you can make more powerful CPUs. Also, there was less distance for electricity to travel between the circuits, so they were able to work together faster. But, of course, you can only make things so small, and there's only so much electricity that you can course through a circuit before you start burning it up.
In the early 2000s, these limitations were starting to become apparent. Chip manufacturers had to think, how are they going to make faster and faster chips? The answer that they came up with was splitting up this chip into more than one brain, basically making it possible to think more than one thought at a time, in parallel. These separate brains that the CPU has are called cores. When you hear people talk about a multicore architecture, that's what they're talking about.
Even though each one of these cores, or each one of these brains, is limited in how fast they can think, if you add more of them, they can do more in the same amount of time. But, the thing is, in order to take advantage of this, you need to be able to split up the work that you have to do across these different cores, across your different brains. Unlike before where the speedups were happening automatically and programmers didn't need to do anything, with this, for these speedups, they actual require programmers to change the way that they code. This is harder to do than you might think.
Imagine that two of these cores need to work with the same bit of long-term memory. They both need to add something to it. Well, what number is going to end up in long-term memory at the end of this calculation? Who knows? It depends on the timing of when the instructions run on the different cores.
Let's walk through an example. We start with the number eight in long-term memory. Both cores need to add one to it. Our end result should be ten.
Instructions have to use things that are in short-term memory. They can't act on long-term memory directly. Each core has its own short-term memory.
Let's say that the first core pulls eight from long-term memory into its short-term memory, and then it adds one to get nine, and then puts the value back into long-term memory. That means that the other cores can now access the result of this operation. The long-term memory holds nine now, and the second core is going to pull nine into its short-term memory, add one to get ten, and then put ten back in long-term memory. That means our end result is ten, so all is well. But, it wasn't guaranteed to end up this way.
Let's see what happens when we change the order that the instructions happen on the different cores. The first core pulls eight from long-term memory. Then the second core pulls eight from long-term memory. You may already see where the problem is here.
Then the first core adds one to get nine and then puts nine back in long-term memory. Then the second core adds one to get nine and puts nine back in long-term memory. We end up with a result of nine, which is not what we wanted. This kind of bug is called a Data Race. When you have parallel code with shared memory, so two different cores working with the same part of long-term memory at the same time, you're very likely to have these data races. One way to get around this is to choose paths that are pretty independent of each other so that they don't need to share memory.
Now, let's go back to the Chrome and content example that we were looking at before. You may remember that I said all of these are fairly independent of each other. That means that they're perfect for this kind of parallelism where you don't have to share memory between the cores. That's called Core Screened Parallelism. That's where you split up your program into some pretty large tasks that can be done independently of each other so that they don't have to share memory, but they're still going at the same time.
It's actually pretty straightforward to do this. You just need to figure out those--
[Loud alarm ringing]
Lin: You just need to figure out--
Male: You're all awake again.
Lin: [Laughter] Yeah, woke you all up. This core screened parallelism, it's pretty straightforward. You just need to figure out those large, independent tasks. Chrome had this from the beginning. The Chrome engineers saw that they were going to need to have some level of parallelism to be fast with these new architectures.
Around the same time that Chrome was seeing this change in hardware and seeing that if they wanted to have a fast browser, they were going to need to take advantage of this parallelism, we were seeing the same thing. We knew that we were going to have to have this core screened parallelism in our browser too if we were going to keep up, and we do now, although it took us a while to get there. It was a multiyear effort.
We started testing our multi-process architecture in Firefox 48 with a small group of test users. But, it wasn't until this past summer with Firefox 5 that we turned it on for all users.
Male: (Indiscernible)
Lin: It took us a while to get there because we weren't starting fresh like Chrome was. We had a bumpier road. We were starting with this existing code base, which was developed before multicore architectures were common. And, we needed to figure out how to break apart this code base without breaking anything for our users while we were doing it.
We needed to plan for that. But, we didn't just stop at making plans for this core screened parallelism. We saw that we were going to need to take it further because, when you have this kind of core screened parallelism, there's a good chance that you're still not making the best use of all of your cores.
[Microphone audio feedback]
Lin: Thank you. Thank you for reminding me where I was. [Laughter]
We saw we were going to need to take it further because, when you have this kind of core screened parallelism, there's a good chance you're still not making good use of all of your cores, of all of the hardware that's in your machine.
Male: The audio was on.
Lin: [Laughter] For example--
Lin: --you might have one tab that's doing a whole lot of work, but the others might not be doing much work at all. That means those other cores are sitting idle, so you're not getting the kind of speedup that you could get from a parallel architecture.
We saw that if we wanted to make a browser that was really fast, we couldn't just add this core screened parallelism. We need to add fine-grained parallelism too. What is fine-grained parallelism? Well, that's when you take one of these big tasks, and you split it up into smaller tasks. These can be more easily split up across the different brains or across your different cores, but that does usually mean that you're going to have to share memory between the cores. This opens you up to those data races that I was talking about before. These data races are nearly impossible to avoid when you're sharing memory, and they're incredibly tricky to debug.
The thinking at the time was basically that, to safely program in parallel, you had to have kind of a wizard level understanding of the language that you were working in. One of the distinguished engineers at Mozilla actually put a sign about eight feet high and said, "You must be this tall in order to write multithreaded code."
Audience: [Laughter]
Lin: Now, of course, when you have a project like an open source browser where you have thousands of contributors who are adding code to the code base, you can't code in a way that requires a wizard level understanding of the language. If you do, you're going to run into these data races for sure. These data races and other memory issues cause some of the worst security vulnerabilities in browsers. If we wanted to take advantage of this fine-grained parallelism without the peril that these data races introduce, we couldn't just start hacking a parallel browser. We had to find a way to make it safe to do that.
Rather than starting a project to rewrite the browser, we started sponsoring a project to create a new language to write that browser in. This language is the Rust programming language. As part of its design, it makes sure that these kinds of data races can't happen. If you have code that would introduce these data races to your code base, it just won't compile.
We started sponsoring work on Rust around 2009 or 2010. It wasn't until 2013 that we actually started putting it to use in a browser, though. We started seeing whether or not it could create the browser that we wanted.
I don't know if any of you have heard of the term "yak shaving" where you have to do one seemingly unrelated task before you get to the thing that you really meant to do. But at Mozilla, we have some pretty big yaks to shave.
Lin: In 2013, with this language in hand that allowed us to code in parallel without fear, we started looking at how we could really introduce fine-grained parallelism into the browser. The project that we started to do this is called Servo. We started by looking at the rendering engine pipeline and asking, "What happens if we parallelize all of the things?" This means we're not just sending the different content windows with different pages to different cores.
We're taking a single content window and splitting up the different parts of that page. That means if you have a site like Pinterest, each different pinned item can be processed separately from the others.
For example, for CSS, you could send each pinned item to get its CSS filled out by a different core. This means that you can speed up different parts of the rendering pipeline by however many cores you have, which means that, as chip manufacturers add more cores into the future, these pages are going to get faster and faster automatically.
This is the key. This is why fine-grained parallelism is so important, and this is why we spent so much time and risked so much in pursuing it because it wasn't clear at the start of this project that it was actually going to work. Core screened parallelism is pretty straightforward, but this fine-grained parallelism created a language that made it safe. And then, implementing it in a browser, that was a tough research problem.
That time and effort have really paid off. We found out that these ideas work and that they work really well. Over the past year, we've started bringing pieces from Servo into Firefox. We've been doing this as part of our Project Quantum, which is a major speedup of Firefox that we've been working on for the past year. It's kind of like replacing the different parts of a jet engine mid-flight.
One thing that we brought over is our parallel style engine called Stylo. That splits up all of the CSS processing across the different CPU cores, as I mentioned before. It uses a technique called work stealing to split up that work. Whenever a core runs out of work, it can steal work from the other cores. This makes splitting up work efficient, and it makes it possible to speed up CSS style computation by however many CPU cores you have.
Another piece that we're bringing over is called Web Render. Web Render takes the paint and composite stages and combines them into a single rendering stage. It uses the hardware in a smart way to make painting the pixels faster, which means it can keep up with those larger displays. To do this, it uses another highly parallelized part of the computer, which is specifically meant for graphics. This is called the GPU or the Graphics Processing Unit.
The cores on the GPU are a little different from the cores on the CPU. Instead of having two, four, or six of them like you have on the CPU, there are hundreds or thousands of them. But, they can't do things independently. They have to all be working at the same time on the same thing. You need to do a lot of planning if you want to maximize the amount of work that they can do at the same time, and that's what Web Render does.
With Web Render, we can get rid of performance cliffs that trip up Web developers. For example, if you animate background color right now, your animations can start and stop. It can get janky. It can make it look janky because the paint and composite phase has too much work to do. Because of this, there are currently a lot of rules about what you should and shouldn't animate.
We're going to be able to get rid of a lot of those rules, so Web developers don't need to hack around these performance cliffs. We can take pages that render in Chrome today at 15 frames per second and bring them up to maximum FPS, whether it's 60 frames per second or 120 frames per second. But, it's not just the browser's own code that the browser is going to need to run faster. It's also going to need to run application code faster. What I'm talking about here is stuff like JavaScript.
Now, the JavaScript engine is a part of this pipeline that I haven't talked about yet. Let's see where it fits in. JavaScript gives you a way to change the document object model. That's the thing that you built up, that family tree that we built up during the parsing phase. When you change the DOM, it triggers the creation of a new version of the page through this pipeline. A lot of sites these days are pretty JavaScript heavy; that's where they spend a lot of the time that they have for figuring out what the new page should look like. These sites are using frameworks like React, which does a lot of calculations in JavaScript to figure out what changes it needs to make to the DOM.
Now, browsers can make the JavaScript engines that run this JavaScript faster. But, JavaScript isn't really designed for it to be easy to run quickly. Instead, it's designed to be easy for humans to write. The way that JS engines get fast is by making guesses about where they can take shortcuts with your code. But, sometimes those guesses don't work out for your code, so it could actually make your code slower. And, there are only so many guesses; there are only so many shortcuts that it can make, which means that there's only so much that the JS engine can do to speed up this application code.
But, what if application code could run in parallel? What if application code could take advantage of these multiple cores in the same way that the browser's own code is doing?
Over the past few years, browsers have been adding features that make this possible. One that you may have heard of before is called Web Workers. Those have been in browsers for a few years now. They allow you to have JS code, which runs on different cores.
You may have also heard of shared array buffers, which started landing in browsers this past summer. Those give you the shared memory that I was talking about, which you often need if you have this fine-grained parallelism. But, like I talked about before, it's pretty tricky to actually manage the shared memory on your own, and Web workers can be really hard to use. That's why so few sites and applications are using them today, even though they've been around for a number of years.
It would be nice to have a language like Rust, which gives you those guarantees that you're not going to have data races, which makes it easy to work across different cores, across these different workers without having to do too much on your own. Well, there's actually another standard that landed in browsers that can help with this. It landed this past year.
Web Assembly makes it possible to run other languages besides just JavaScript in the browser. Now, it doesn't quite have access to the DOM yet, but the working group is working on it. They're already very close to getting their threading support finished, and that will make it possible to officially run Web Assembly across the different cores.
There are also other things about Web Assembly that help with application performance. It was designed for machines to run it quickly. It wasn't designed to be easy for humans to write. The reason for that is because usually when people are writing Web Assembly, they're not writing it by hand. Instead, they're writing in a language like Rust, C, or C++ that compiles to Web Assembly. That means that Web Assembly doesn't have to be easily readable by programmers. And so, this means that the engine doesn't have to do that guesswork to figure out where it can take shortcuts with your code. This speed of Web Assembly, even without threading, even without multiple cores, is what's making it possible to run PC games in the browser today.
These standards--Web works, shared array buffers, Web Assembly--they make it possible for applications to take advantage of parallelism too. For example, in a framework like React, you could rewrite the core algorithm in parallel. That way the work of figuring out the changes that it needs to make to the DOM, that could be happening across the different cores.
Ember is already starting to experiment with Web Assembly for their Glimmer VM. They may be able to start introducing some of this parallelism, too, and take advantage of it. I think we're going to see a big shift towards using these standards in frameworks over the next few years.
Let's get back to this challenge that we had. Here are the pieces of the puzzle. Here's how we address this challenge. This is what browsers need to do to support the new devices and the new types of applications that are coming to the Web.
There's the core screened parallelism of splitting the different content windows in the Chrome across different processes. There's the fine-grained parallelism of splitting up the work of a single Web page so that it can be distributed across different cores. Then there's enabling application code to be parallelized as well.
The core screened parallelism is already there in all of the browsers. Chrome was the first to do this, but pretty much all of the browsers have caught up by now. Enabling application code to go parallel, that's something that's happening in standards bodies, and it's being adopted by all of the browsers.
It's this fine-grained parallelism that's still a question mark. This is where most browsers have done the least so far, and it's actually not clear how to do it in most browsers because the C++ that most browsers are written in, it's actually pretty hard to parallelize in this way. But, I think that all of the browsers are going to need to do this. We may be the first browser together. We may be the first browser to actually get this fine-grained parallelism in there and deliver the speedups, but we really want all of the browsers to get there too. We want them to all get there with us because that's the way that we're going to keep the Web going. That's the way that we're going to keep it healthy and vibrant no matter how much the browser's limits are pushed.
Thank you to beyond tellerrand for having me, and thank you, all, for listening.
code-cartoons.com
@linclark
Robin Christopherson Out with accessibility - In with inclusive design
Joshua Davis Pathfinding, Memory and Recursion
Vasilis van Gemert Exclusive Design
Pip Jamieson Creative ambition - It may not be easy, but it will be worth it!
Alla Kholmatova Teams Cultures and Design Systems
Yiying Lu Create Cross-Culture Designs for a Global Audience
Mina Markham Styling Hillary – A Design System for all Americans
Yves Peters Type with character(s) – reclaiming control over OpenType fonts
Dave Rupert Vague But Exciting
Paula Scher Life Lessons from the Field
Jonathan Snook Success
Elliot Jay Stocks Now is Always the Wrong Time


STRATHAM - US outdoor brand Timberland has unveiled its 2016 corporate social responsibility report, sharing progress on its five-year performance targets against three core CSR pillars - product, outdoors and community.
STOCKHOLM – H&M says it aims to use only 100 per cent recycled or other "sustainably sourced" materials in its apparel garments by 2030.
Better Cotton Initiative, London, UK (Shanghai, China may be considered for the right candidate), £60,000 - £65,000 pa.
Dr. O.A. Cleveland praises U.S.
GENEVA - The Better Cotton Initiative (BCI) has revealed the top ten users of BCI cotton by volume.
… Gujarat, India's biggest cotton and cottonseed producing state, taking part … groups as the Better Cotton Initiative and CottonConnect involving companies were helping … produce cotton at the same price as conventional cotton.
FEATURE-Can going green help pick the slavery out of cotton?


"...And Ladies of the Club" by Helen Hooven Santmyer made an enormous impression on me when I first read it back in the mid 1980s.
There I was, an Englishwoman in my late 30s, living in London, UK, totally entranced by a very long tale of small town American life covering sixty years. This book certainly exerted a magic hold over me. It runs to almost 1200 pages so it has to put a spell on the reader to persist to the end.
It must have exerted a similar spell on the author as it is said to have taken her 50 years to write the novel that covers the period from 1868 to 1932 in the small town of Waynesboro, Ohio.
I lent the book to a friend and it disappeared (isn't it always the way?) and, about four months ago, I decided I wanted to read it again. There was nothing for it but to buy another copy. Again, I read it from cover to cover perhaps with even more enjoyment than the first time.
"The formation of the Waynesboro Women's Club was first proposed in the early summer of 1868."
A Synopsis of "...And the Ladies of the Club"
The story begins just three years after the American Civil War with the graduation of two young ladies, Anne Alexander and Sally Cochran. The book follows these two girls from leaving school, throughout their lives and into old age.
The first chapter is not only the start of Anne and Sally as adults, it is also the birth of the ladies' literary club. The two girls are cajoled into joining by their former teacher.
From here, we are introduced to the other ladies who join the club and to their families. We see Anne and Sally get married, have children, go through times of trouble and bereavement. At the same time we follow the stories of the other major characters lives too.
It's a complex novel but you soon get to know the characters and, as each new storyline is introduced, the author gives enough reminders to jog our memories about the people involved. Death, divorce, serious illness and scandal as well as births, marriages and other happy occasions fill the lives of the people we get to know and like or dislike.
Do You Like Multi Generational Novels?
Is this the kind of book you like to read?
Here's another book I intend to read again. Like "...And Ladies of the Club", I first read this story in the 1980s. It is about an ordinary family in China during the great social changes of the 1920s by Nobel Laureate author Pearl S. Buck.
Don't think that this book is just a frivolous novel about the trivialities of everyday life. As important as the events in the lives of the characters are, the story is firmly rooted in the history the time span it covers.
Just as in real life, religion and politics can affect the lives of ordinary people, we see how these affect the lives of the families of Waynesboro.
Waynesboro is a predominantly Republican town, with a large proportion of German Americans living there. We follow the local politics closely through Sally's husband, Ludwig Rausch, who owns a paper mill and is the county organiser for the Republican Party.
Because of Ludwig's involvement in politics, we also learn how national politics and politicians affect the town in some instances. For example, General James Garfield's (see picture) attempt to win the Republican Presidential nomination in 1880 forms the background to several chapters.
Religion in the town influences the characters and events. It is mostly a Presbyterian town with both Reformed and Non-Reformed Presbyterians. We see the conflict occurring when the stricter Reformed Presbyterians are offended by the more liberal Non-Reformed.
This wonderful novel has indeed...touched the lives of millions...I was with Santmeyer a few days after the story of the discovery of her novel was on the front page of the NY Times. She was being interviewed in her nursing home in Xenia, Ohio, by Dan Rather.
Rather said to her, "How do you feel when they say you've written the great American novel?" Helen just chuckled and said, "Oh no. It's just a book about politics."
She lived for almost another year, checking the NY Times every Sunday, and saw her book as #1 every single week for the rest of her life. As one enters Xenia now, there is a sign that says, "Home of Helen Hooven Santmyer, Author."
A page dedicated to the author Helen Hooven Santmyer and is about her life and is illustrated with photographs of her when she was young and in old age.
Sarum is the old name for the city of Salisbury in Wiltshire, England, UK, and the novel tells the story of the city through the stories of generations of a small number of families who lived there. It's fascinating and well thought out. It's a really enjoyable read if you like historical fiction.
Do You Like Historical Fiction?
There are three other Ohio authors I know of, since I live there. One is John Scalzi, who wretis SF, and the other SF writer is a friend of mine who teaches at Kenyon, Joan Slonczewski. There is also an even more prolific children's author than Creech, Margaret Haddix, who lives in Columbus. And there's a children's author who runs a bookstore in my small town. I'm trying to remember her name; we used to buy her books when the kids were younger. In trying to find her name, I was reminded that Natalie Babbit, R.L. Stine, James Thurber, Zane Grey, and Chris Crutcher are from Ohio. And finally I remember her name (with help from Ron)--it's Bonnie Pryor.
I first read this book shortly after it was released back in the early '80's and fell in love with it. Over the years I have read it 4 times and am getting ready to read it again. What I would love to see is a map of the town as it is described in the book. And I also have great hope it will be made into a movie. I'm working on who should play what part. LOL Yes, I am a true fan of this book and always will be.
Blessed by an angel on the Memorial Day bus trip!
@Spook LM: I'm glad you like the books I choose. I like the Poldark series too but it's years since I read them. Maybe I'll put them on my re-reading list.
I haven't read it yet but is the type of thing I love. Also loved your choice of books to read and have read a few of them. Always loved Winston Graham's the Poldark series.
I love family sagas and, especially, if they have a historical aspect. Read this one more than 15 years ago, and you have brought back good memories of it. Excellent review. It's always a good recommendation when you can say that you have read a long book like this twice!
@Wednesday-Elf: How interesting that you've been to Xenia. I love going to places that have been the settings for books I've enjoyed. I just wish I could have found a picture of the sign that honours her.
Interesting book by a fascinating author. I was interested to read there is a sign honoring Helen Hooven Santmyer as you enter Xenia. What I most remember about Xenia, Ohio was the devastating F5 tornado that hit there on 4/3/1974 and nearly wiped the town off the map! Nice to know it's now better known as Helen's homeplace.
I adore family sagas and stories that follow generations. My mother introduced me to Howard Spring in 1960 and I've been hooked on this style ever since (I also like a big fat book). I confess that I haven't read this one and I'll put that omission to rights very soon. I appreciate your taste.
This looks like a great book and it is definitely going on my TBR list. I love your review -- very helpful!! 5* and blessed.
@KathyMcGraw2: It's worth effort, Kathy. It doesn't feel too long once you get into it. I was quite sorry to say goodbye to the characters at the end.
I wasn't sure I would want to read a book that long, but I love that time period in American History..and the way you presented this was fantastic in that it actually sounds like a good book. I read a series that I loved during this time period and I actually read it several times as well. This is *Blessed* for the great writing style.
@anonymous: In that case, you should enjoy it. I don't read many very long books twice but I loved this one just as much when I re-read it as I did back in the 1980s.
@Richard-H: Don't worry that it's too girly or too soppy (sugar sweet if that word isn't used in the US). It isn't that kind of family saga at all. I don't think many men would class it as women's only fiction.
And the ladies of the club looks like a book I would truly enjoy! I love historical fiction!
As a guy, possibly not a book I would naturally pick up, but the Ohio connection was interesting to me. Enjoyed reading your review.
Oh this one was on my list for a long time, and I never got to it! Putting it back on the list. Great review and thank you! I do love a good book!
For as long as it's based on historical facts I love sagas! I explain: one can write a story that is supposed to happen during a certain period but it doesn't imply that it is a quality story or book in this instance. However, just like the Louisiana saga written by Maurice Denuziere was a fantastic relation of the history of Southern America from the 1850s to the 1945's, when a saga relates the events happening in people's lives and affect them and teaches us how things were working, why things happened, what people thought - all of this explained through the story - then it is something worth reading.
From what I've read in this lens, it seems that this book would be one I'd like.
SquidAngel blessings for this homage to "...And Ladies of the Club".
@justholidays: Thank you very much for your comments and the blessing. I'm like you, I want novels to teach me something, not just entertain me. I learned so much about American history of the period that I didn't know from reading this book. Best of all, it was integrated into the book without distracting from the story or feeling like a big chunk of non-fiction in the middle of a novel. I'm not saying the author is the best writer I've ever read but she certainly brought this book to life for me.
This is definitely the kind of book that I enjoy reading. I love history and this sounds wonderful. Great review the book, And The Ladies Of The Club.


text:
Tag Archives: cataclysm
The Apocalypticon ~ Tech support, people, nature, Cheese Zombies, water
9th Jun 2018 Mark Webster
'Tech support' — A team of scammers recently sneakily filmed dozens of Australians by remotely accessing their webcams, then uploaded those videos onto YouTube, according to Australian news outlet ABC.
Unfortunately for customers of MyHeritage, a genealogy and DNA testing service, a researcher uncovered 92 million account details related to the company sitting on a server, according to an announcement from MyHeritage. The data relates to users who signed up to MyHeritage up to and including October 26, 2017 – the date of the breach.
Journalist's data seized — According to The New York Times, the Department of Justice seized a New York Times reporter's phone and email records this year in an effort to probe the leaking of classified information, the first known instance of the DOJ going after a journalist's data under President Trump, according to The Hill. Attorney General Jeff Sessions announced last year the DOJ had tripled the number of leak investigations it was conducting compared to the number under the Obama administration, which had already prosecuted more leak cases than all other administrations.
Zuckerberg grilled at angry shareholders meeting — One investor compared the social network's poor stewardship of user data to a human rights violation. Another warned that scandal is not good for Facebook's bottom line, and one advised Chief Executive Officer Mark Zuckerberg to emulate George Washington, not Vladimir Putin, and avoid turning Facebook into a "corporate dictatorship."
Apple set on 'jamming' Facebook — The next version of iOS and macOS will frustrate tools used by Facebook to automatically track web users. At the company's developer conference, Apple's software chief Craig Federighi said, "We're shutting that down,." He added that Safari – you know, the FREE SECURE BROWSER ON EVERY APPLE DEVICE (see below), would ask owners' permission before allowing the social network to monitor their activity.
Apple also declared war on 'browser fingerprinting'.
Why you should ditch Chrome — Unlike Chrome, Firefox is run by Mozilla, a nonprofit organisation that advocates for a 'healthy'" internet. Its mission is to help build an internet in an open-source manner that's accessible to everyone – and where privacy and security are built in. Contrast that to Chrome's privacy policy, which states that it stores your browsing data locally unless you are signed in to your Google account, which enables the browser to send that information back to Google … [Honestly, the amount of Apple users I have met who insist on using Chrome as a browser and worse, Gmail accounts when there's privacy-protecting Safari on every Mac and Apple device already, and secure, encrypted free iCloud email! Grrr! Bloody madness!]
Psychopathic AI — A team of researchers at the Massachusetts Institute of Technology created a psychopathic algorithm named Norman, as part of an experiment to see what training artificial intelligence on data from "the dark corners of the net" would do to its world view. Unlike most "normal" algorithms by AI, Norman does not have an optimistic view of the world. [I almost wish that was running the US instead of Trump – at least there'd be some logic to it.]
Chinese government hackers have compromised the computers of a US Navy contractor, stealing massive amounts of highly sensitive data related to undersea warfare – including secret plans to develop a supersonic anti-ship missile for use on US submarines by 2020, according to American officials. The breaches occurred in January and February, the officials said, speaking on the condition of anonymity to discuss an ongoing investigation.
At least five cryptocurrencies have recently been hit with an attack in the last month– one that used to be more theoretical than actual.
Carbon bubble burst will hurt — The existence of a "carbon bubble" – assets in fossil fuels that are currently overvalued because, in the medium and long-term, the world will have to drastically reduce greenhouse gas emissions – has long been proposed by academics, activists and investors. A new study published in the journal Nature Climate Change shows that a sharp slump in the value of fossil fuels would cause this bubble to burst, and posits that such a slump is likely before 2035 based on current patterns of energy use.
People — More than 50,000 union workers in Las Vegas are set to go on strike if new contracts are not settled and at the top of the list of concerns for the Culinary and Bartenders Unions is protection against robot replacements.
Suicide rates are up by 30% across the US — Amidst all the name calling and straw man arguments about the overall health of America, sometimes it helps to look at data from people who sacrificed everything based on their perception of reality. Whatever politics you subscribe to, the feeling of hopelessness is evidently real, and frightening. Suicide rates are up by 30% across the nation since 1999, federal health officials have reported.
Opioids caused 1 In 5 deaths of young people in the US in 2016 — A new study published by JAMA Network Open highlights just how devastating the crisis has been to certain age groups. In 2016, it found, opioid overdoses were responsible for a fifth of all deaths among people in their mid-20s to 30s — a fivefold increase from 15 years ago.
Nature — Biggest iceberg ever set to break up: the iceberg is so large that even smaller chunks of it were behemoths in their own right. By 2014, the largest remnant was B-15T, which was so thick it kept running aground. One of those last-made icebergs, B-15Z, may now be nearing the end of its life. At the end of May 2018, the International Space Station crew captured an image of B-15Z that showed a crack running right down its middle. It's ten miles by 5!
How microbes survive in 'sterile' spacecraft — Rakesh Mogul, a Cal Poly Pomona professor of biological chemistry, was the lead author of an article in the journal Astrobiology that offers the first biochemical evidence explaining the reason contamination persists. The research team analyzed several Acinetobacter strains that were originally isolated from the Mars Odyssey and Phoenix spacecraft facilities, finding that under very nutrient-restricted conditions, most of the tested strains grew on and biodegraded the cleaning agents used during spacecraft assembly …
Asteroid strikes Africa soon after it was detected — A meteor lit up the sky over Botswana, Africa, early Saturday evening local time. Scientists discovered the 2m-wide asteroid just hours before it reached – and struck – Earth.
Hurricanes are slowing down and that's a bad thing. The pace at which hurricanes move across the planet is slowing, according to new research. This suggests Hurricane Harvey, which stalled over Texas last year, may not have been an anomaly, and that highly destructive, slow-moving tropical storms are becoming more common.
Finally, some good news: Cheese Zombies! In the late 1950s, a school district in Washington's Yakima Valley received an excess of subsidized cheese. Faced with the abundance of dairy, the food services supervisor (or, by other accounts, a local cafeteria cook) invented a new sandwich that soon appeared on cafeteria menus: the Cheese Zombie.
Excerpt from my forthcoming book: "There's more to water than meets the eyes, of course. Cities like London, New York and Moscow have entire teams and systems dedicated to pumping water away from underground systems built deep underground."
ApocalypseApplecataclysmCheese Zombiesdatadisasterend of daysFacebookHackersnaturepeopleTech supportThe Apocalypticonwater


text:
Handling & processing
Trade & transport
Adriatic and Sandfire partner to fast-track development of Veovaca and Rupice Projects
Global Mining Review, Tuesday, 01 May 2018 10:11
Zinc polymetallic explorer and developer Adriatic Metals PLC (Adriatic) has established a new cornerstone investment and strategic relationship with leading Australian copper producer Sandfire Resources NL (Sandfire). The company has recently completed a heavily oversubscribed initial public offer (IPO) raising US$10 million, of which Sandfire subscribed for US$2 million for a relevant interest of 7.7% in the company.
Sandfire and Adriatic have also entered into a strategic partnership agreement which will enable Adriatic to benefit from Sandfire's significant technical expertise to develop its Veovaca and Rupice Projects in Bosnia and Herzegovina as well as further strategic support as the company moves to unlock the potential from its first mover status and regional exploration portfolio.
Sandfire provides strong endorsement of the company's prospects via a cornerstone investment of US$2 million in Adriatic's recent IPO Adriatic and Sandfire enter into a strategic partnership agreement to allow the company to benefit from Sandfire's technical and strategic expertise via the formation of a technical collaboration committee and strategic shareholder rights Sandfire now the largest shareholder outside Board and management group with a shareholding of 7.7%.
Adriatic's CEO, Geraint Harris, commented: "We welcome Sandfire as a strategic investor and partner of Adriatic as we transition to a publicly listed company. Securing a high-quality partner with world leading expertise in the exploration and development of base metals projects is a strong endorsement to the quality and potential of Adriatic's portfolio following an exhaustive period of due diligence. This also validates the prospectivity of our licence areas to host further discoveries as we commence our 2018 exploration programme. Sandfire brings a tremendous depth of experience in these styles of mineralisation which will enable us to further understand this under-explored and emerging base metals province of central Europe."
The strategic relationship creates an important collaboration between the company and Sandfire that will allow the company to benefit from Sandfire's technical and strategic expertise. It is anticipated that this will assist the company to fast-track the feasibility and development of the company's Veovaca and Rupice Projects. Adriatic and Sandfire have formed a strategic technical committee to oversee the strategy and implementation of the exploration and development of these projects.
As part of the strategic relationship and subject to the waiver or satisfaction of any applicable listing rules of the ASX, Sandfire will hold an anti-dilution right that shall, subject to a number of conditions, enable it to maintain its interest at the Strategic Shareholding. Sandfire shall also be entitled to nominate one director to the Board of the company as a non-executive director should Sandfire's relevant interest reach and be maintained in excess of 10%.
Read the article online at: https://www.globalminingreview.com/finance-business/01052018/adriatic-and-sandfire-partner-to-fast-track-development-of-veovaca-and-rupice-projects/
Resolution Copper project enters next phase
The Resolution Copper project has entered the next phase of public consultation in the ongoing permitting process, led by the US Forest Service, with the release of its independent final environmental impact statement.
WEBINAR: Essential rules of adopting AI in Mining and Metals - February 23, 2021
Watch this OSIsoft webinar to learn a simple definition of AI and the benefits of adopting it into your operations, the anatomy of a successful AI project and real-world examples and success stories.
Register for your free space
Copyright © 2021 Palladian Publications Ltd. All rights reserved | Tel: +44 (0)1252 718 999 | Email: enquiries@globalminingreview.com


text:
<?php

namespace PHPExiftool\Driver\Tag\GPS;

use JMS\Serializer\Annotation\ExclusionPolicy;
use PHPExiftool\Driver\AbstractTag;

/**
 * @ExclusionPolicy("all")
 */
class GPSLatitudeRef extends AbstractTag
{

    protected $Id = 'mixed';

    protected $Name = 'GPSLatitudeRef';

    protected $FullName = 'mixed';

    protected $GroupName = 'GPS';

    protected $g0 = 'mixed';

    protected $g1 = 'mixed';

    protected $g2 = 'mixed';

    protected $Type = 'mixed';

    protected $Writable = false;

    protected $Description = 'GPS Latitude Ref';

    protected $MaxLength = 2;

    protected $Values = array(
        'N' => array(
            'Id' => 'N',
            'Label' => 'North',
        ),
        'S' => array(
            'Id' => 'S',
            'Label' => 'South',
        ),
    );

    protected $local_g1 = 'mixed';

    protected $local_g2 = 'mixed';

    protected $flag_Permanent = 'mixed';

}

redpajama_set_name: RedPajamaGithub


text:
News Sports Entertainment Opinion Obituaries eNewspaper Legals
July Fourth starts with extra transit and traffic
Larry Higgs
If you're reading this and haven't thought about an early getaway for the Fourth of July weekend, it's time to start planning.
NJ Transit will offer getaway service Thursday and officials who run the Garden State Parkway are gearing up for extra beach-bound traffic.
AAA Mid-Atlantic predicts 1.2 million people will make a trip that's 50 miles or more during the holiday weekend, with 84 percent of them predicted to travel by car. AAA also predicts 8 percent of New Jersey residents will take trains, buses or ferries.
On Thursday, NJ Transit will operate extra outbound trains on the Northeast Corridor, North Jersey Coast, Raritan Valley and Morris & Essex lines, starting at 1 p.m. Extra buses will operate from the Port Authority Bus Terminal and the Hudson River waterfront on more than three dozen bus routes starting at about noon. For more details, visit njtransit.com.
Academy Bus customers should check the website at Academybus.com for specific getaway schedules. SeaStreak and NY Waterway ferry schedules are also available on those carriers websites.
On July Fourth, NJ Transit trains will operate on a weekend/major holiday schedule on all lines. Hudson-Bergen Light Rail will operate on a modified weekday schedule. Bus schedules will vary by route.
While PATH trains have stopped running late Friday nights between World Trade Center and Exchange Place for track work, trains will run later for passengers traveling from the New York City fireworks display on the East River.
PATH Trains will stop at the World Trade Center and Exchange Place stations later than usual on July Fourth, until about 2 a.m. Saturday. The stations will then remain closed through 5 a.m. Monday and substitute ferry service will operate.
PATH trains will run between Journal Square and 33rd Street New York (via Hoboken) every 10 minutes for most of the day, July Fourth. Service from Newark to World Trade Center will run every 15 minutes for most of the day, and will make all stops including the World Trade Center and Exchange Place stations.
© 2023 www.dailyrecord.com. All rights reserved.


Full payment is required at time of reservation. Cancellations made by Client will receive full refund, less $20 and credit card processing fees. Cancellations made within 30 days of reservation are non-refundable. The Seward Fishing Club reserves the right to cancel due to weather or fishing conditions and will provide full refunds. The Seward Fishing Club reserves the right to modify a fishing trip due to weather or fishing conditions and are nonrefundable.
Fishing on the "RAINISONG" is pure luxury. Comfortable seating inside for everyone in a warm heated cabin, two CLEAN bathrooms with licensed & Professional Crew.
We'll clean your fish and put them in a heavy duty plastic bag for carrying home.
The RAINISONG is 65 feet long by 20 feet wide and the largest Charter Fishing Boat in Seward Alaska. This super stable boat minimizes motion sickness to enhance your fishing pleasure.
availability and make your reservations.
Welcome to the Seward Fishing Club and the "RainiSong". We have fished the waters around Resurrection Bay long enough to hold intimate knowledge of the very best coves, reefs, and deep waters where the best fishing waits. The "RainiSong" is 65 feet long with all of the comforts of home added to our well equipped fishing setups. We offer full capacity indoor seating, full galley, his and hers restrooms, and sleeping berths below deck. Our friendly crew provide you with everything you will need to make a day's catch! So, sit back and enjoy the day! Bring your camera - abundant wildlife, whales, and seabirds are readily available. We guarantee the day you spend fishing for Halibut or Salmon in Alaska will be a memorable one.
We are the Seward Fishing Club located in Seward, Alaska offering quality charter fishing services. And more.


Sunny and mild conditions make for great beach days through April 24. Some clouds and a chance for scattered thunderstorms increase heading into the weekend of April 27-28.
Click on the webcam links to view beaches, rivers and other great spaces.
The latest red tide tests show the organism that causes red tide, Karenia brevis, is not present at Naples and Marco Island area beaches. For detailed reports on beaches, check the Florida Fish & Wildlife Conservation Commission's new interactive Red Tide Status Map with daily sampling results; or the Mote Marine red tide status maps at VisitBeaches.org.
Want to know more about Florida Red Tide? Red Tide is a naturally-occurring organism and blooms begin offshore in the Gulf of Mexico. Winds and tides can move red tide closer to beaches and inlets. When red tide blooms the Karenia brevis organism releases a toxic substance into the water and the air that can cause respiratory irritation in humans and can kill fish and sea life. Review the MOTE Marine Laboratory & Aquarium's informative Red Tide FAQ.
You can find red tide updates for Naples and Marco Island beaches here, or by calling the Collier County Red Tide Hotline, 239-252-2591.
Still have questions? Click here to watch a presentation about red tide by Collier County Pollution Control.
The water quality in the Florida's Paradise Coast region including Naples, Marco Island and the beaches in the wilderness sections of the Ten Thousand Islands National Wildlife Refuge and the Gulf Coast portion of Everglades National Park was never impacted by outbreaks of blue-green algae, which occurs only in fresh water. News reports about this type of algae outbreak were focused on other areas.


The history of the Vestische Straßenbahn GmbH starts with the tram Recklinghausen-Herten-Wanne. This enterprise was closed by a contract of 12 and 23 June 1899 by the rural municipality, the district and the city Recklinghausen with the municipalities Herne-Crange, Herten and Wanne-Eickel. The since 1888 operated on the route between Recklinghausen, Herten and Wanne horse buses should be replaced by an electric tram connection.
On May 10, 1901, the line between Recklinghausen-Steintor over Hochlar, thistles, Herten and Crange to Wanne was opened. The 12.8-kilometer route was one-third in the street and two-thirds in a side position next to the street.


Join us for our weekly livestream featuring our eSports community gurus, Yoott and Dance210, as they review all the activities that happened in NA eSports in the past week, as well as discuss what's coming soon.
Join us this Thursday, January 30, 16:00-17:00 PST (19:00-20:00 EST) and every Thursday on twitch.tv/wargaming for all the fun!
The Roundup isn't just talk -- highlights of the big battles of the week are part of the presentation, too. Speaking of which, your contributions are encouraged! Send in replays or video clips from tournaments, and they could be featured on the show. Please see the Forum thread for the Weekly Roundup to get more details on what we're looking for and how to contribute.


text:
Upper-Division Seminar: Epistolary Literature
Instructor: King, Rachael Scarborough
Day(s): T
'A letter is a joy of Earth,' wrote Emily Dickinson in 1862. In the age of email and Facebook, letters are both ubiquitous and rare: we spend all day sending each other written communication, but we rarely do so in a way earlier writers would recognize. In the seventeenth and eighteenth centuries, when postal systems first became accessible to everyday letter writers' letters were everywhere in popular culture. Almost as soon as there were newspapers, people began writing letter to their editors, and the first novels also structured themselves as series of letters between characters. This course focuses on the theme of correspondence, examining both fictional and authentic letters, and its role in works of philosophy, history, journalism, fiction, and personal letters. While commentators have often seen the letter as a particularly feminine, introspective genre, we will see it showing up across literary realms from the late 1600s to today. Along the way, we will explore a number of questions: is the letter public or private? Is it a democratic or exclusive genre? And why do letters seem to pop up at moments of intellectual, political, and technological change? By reading a variety of epistolary genres in addition to adopting the epistolary form for some of our critical responses, we will investigate the letter's impact on concepts of literature, originality, and the self.