text:
Atomicity, volatility and immutability are different, part three
So what does "volatile" mean, anyway? Misinformation abounds on this subject.
First off, so as to not bury the lead: in C# the rules have been carefully designed so that every volatile field read and write is also atomic. (Of course the converse does not follow; it is perfectly legal for an operation to be atomic without it being "volatile", whatever that means.)
The way this is achieved is simple; the rules of C# only permit you to annotate fields with "volatile" if the field also has a type that is guaranteed to have atomic reads and writes.
There is no logical requirement for this property; logically "volatile" and "atomic" are orthogonal. One could have a volatile-but-not-atomic read, for example. The very idea of doing so gives me the heebie-jeebies! Getting an up-to-date value that has been possibly splinched through the middle seems like a horrid prospect. I am very glad that C# has ensured that any volatile read or write is also an atomic read or write.
"Volatile" and "immutable" are essentially opposites; as we'll see the whole point of volatility is to impose some kind of safety upon certain dangerous kinds of mutability.
But what does "volatile" mean anyway? To understand this we must first go back in time to the early days of the C language. Suppose you are writing a device driver in C for a temperature-recording device at a weather station:
int* currentBuf = bufferStart;
while(currentBuf < bufferEnd)
int temperature = deviceRegister[0];
*currentBuf = temperature;
It is entirely possible that the optimizer reasons as follows: we know that bufferStart, bufferEnd and deviceRegister are initialized at the beginning of the program and never changed afterwards; they can be treated as constants. We know that the memory addresses mapped to deviceRegister do not overlap the buffer; there is no aliasing going on here. We see that there are never any writes whatsoever in this program to deviceRegister[0]. Therefore the optimizer can pretend that you wrote:
int* currentBuf = bufferStart;
int temperature = deviceRegister[0];
while(currentBuf < bufferEnd)
*currentBuf = temperature;
which obviously is completely different in our scenario. The optimizer makes the seemingly-reasonable assumption that if it can prove that a variable is never written to again then it need only read from it once. But if the variable in question is marked as "volatile" -- that is, it changes on its own, outside of the control of the program -- then the compiler cannot safely make this optimization.
That's what "volatile" is for in C. (And there are a few other usages as well; it also prevents optimizations that would screw up non-local gotos and some other relatively obscure scenarios.)
Let's make an analogy.
Imagine that there is a three-ring binder with a thousand pages in it, called The Big Book of Memory. Each page has a thousand numbers on it, written in pencil so that they can be changed. You also have a "register page" which only has a dozen numbers on it, each with special meaning. When you need to do some operation on a number, first you flip to the right page, then you look up the right number on that page, then you copy it into the register page. You do your calculations only on the register page. When you are done a calculation you might write a number back somewhere into the book, or you might do another read from the book to get another value to operate on.
Suppose you are doing some operation in a loop -- as with our temperature example above. You might decide as an optimization that you are pretty sure that a particular number location is never going to change. So instead of reading it out of the book every time you need it, you copy it onto your register page, and never read it again. That's the optimization we proposed above. If one of those numbers is changing constantly based on factors outside your control then making this optimization is not valid. You need to go back to the book every time.
You'll note that nothing in our C-style volatile story so far said anything at all about multithreading. C-style volatile is about telling the compiler to turn off optimizations because the compiler cannot make reasonable assumptions about whether a given variable is changing or not. It is not about making things threadsafe. Let's see why! (*)
Suppose you have one thread that is writing a variable and another thread that is reading the same variable. You might think that this is exactly the same as our "C-style volatile" scenario. Imagine, for example, that our "deviceRegister[0]" expression above was not reading from some hardware register changing based on outside factors, but rather was simply reading from a memory address that was potentially changing based on the operation of another thread that is feeding it temperature data from some other source. Does "C-style volatile" solve our threading problem?
Kinda, sorta... well, no. The assumption we've just made is that a memory address being changed by the temperature outside is logically the same as a memory address being changed by another thread. That assumption is not warranted in general. Let's continue with our analogy to see why that is by first considering a model in which it is warranted.
Suppose instead of a number being updated by magic because it is somehow reflecting the temperature, suppose instead we have two people taking turns using the book. One is the Reader and one is the Writer. They only have one book and one register page between them, so they have to cooperate.
The Reader again might be reading the same book number slot over and over again. The Reader might decide that they can read the value just once, copy it to the register page, and then keep on using the copy. The Reader does this for a while. When it is time to give the Writer a turn, the Reader writes all of the current register page values to a special page in the book that is reserved for the Reader's use. The Reader then hands the book and the register page to the Writer.
The Writer fills in the register page from their personal special location in the book, and keeps on doing what they were doing, which is writing new values into the book. When the Writer wants to take a break, again, they write the contents of the register page into the book and hand the register page back to the Reader.
The problem should be obvious. If the Writer is writing to the location that the Reader previously cached to their register page then the Reader is making decisions based on an out-of-date value.
If this analogy is a good description of the memory model of the processor then marking the shared location as "C-style volatile" does the right thing. The Reader knows that they should not be caching the value; to get the up-to-date value they have to go back to the book every time because they don't know whether the Writer changed the value when the Writer last had control. (This is particularly true in non-cooperative multithreading; perhaps the Reader and the Writer do not choose for themselves the schedule for taking turns!)
Unfortunately, that is not the actual memory model of many modern multi-processor machines. The actual memory model goes more like this:
Suppose there are two people sharing one book -- again, the Reader and the Writer. Each has their own register page, plus a blank book page. The Reader goes to read a value from the book. But the book isn't there! Instead, there is the Librarian. The Reader asks the Librarian for the book and the Librarian says "you can't have the book itself; it is far to valuable to let you use it. But give me your blank page, and I'll copy the stuff from the book onto it". The Reader figures that is better than nothing. In fact, it's really good, now that we consider it! The Librarian hands the Reader back a copy of the entire page, not just the single number the Reader wanted. Now the Reader can now go to town and really efficiently do calculations involving any number in that page without talking to the Librarian again. Only when the Reader wants something outside of the bounds of the copied page do they have to go back to the Librarian. The Reader's performance just went way up.
Similarly, the Writer goes to write a value in the book at the same time. (Remember, the Reader and Writer no longer have to take turns because they both have their own register page.) But the Librarian does not allow this. The Librarian says "here, let me make you a copy of the page you want to write to. You make your changes to the copy, and when you are done, let me know and I will update the entire page." The Writer thinks this is great! The Writer can write all kinds of crazy things and never talk to the Librarian again until the Writer needs to write to (or read from) a different page. When that happens the Writer hands the modified copy page to the Librarian, the Librarian copies the Writer's page back into the book, and gives the Writer a copy of the new page that the Writer wants.
Clearly this is awesome if the Reader and the Writer are not both reading and writing the same page of the book. But what if they are? C-style volatile does not help at all in this situation! Suppose the Reader decides, oh, this memory location is marked as volatile, so I will not cache the read of the value onto my register page. Does that help? Not a bit! Even if the reader always goes back to the page, they are going back to their copy of the page, the copy made for them by the Librarian. Suppose the Reader then says, "OK, this thing is volatile, so when I read it, heck, I'll just go back to the Librarian again and have the Librarian make me a new copy of this page". Does that help? No, because the Writer might not have submitted the changes to the Librarian yet! The Writer has been making changes to their local copy.
In order to solve this problem the Reader could have a way to tell the Librarian "Hey, Librarian! I need to read the most up-to-date version of this location from the Book". The Librarian then has to go find the Writer and ask the Writer to stop what they are doing and submit the changes right now. Both the Reader and the Writer come to a screeching halt and the Librarian then does the laborious work of ensuring that the Book is consistent. (And of course we haven't even considered situations where there are multiple readers and multiple writers all partying on the same page.) Alternatively, the Writer could tell the Librarian "hey, I'm about to update this value; go find anyone who is about to read it and tell them that they need to fetch a new copy of this page when I'm done". Doesn't really matter; the point is that everyone has to somehow cooperate to make sure that a consistent view of all the edits is achieved.
This strategy gives a massive performance increases in the common scenario where multiple readers and multiple writers are each working on data that is highly contiguous -- that is, each reader and each writer does almost all of their work on the one page they have copied locally, so that they don't have to go back to the Librarian. It gives massive performance penalties in scenarios where readers and writers are working on the same page and cannot tolerate inconsistencies or out-of-date values; the readers and writers are constantly going back to the Librarian, stopping everybody from doing work, and spending all their time copying stuff back into and out of the Book of Memory to ensure that the local caches are consistent.
Clearly we have a problem here. If C-style volatile doesn't solve this problem, what does solve this problem? C#-style volatile, that's what.
Sorta. Kinda. In a pretty bogus way, actually.
In C#, "volatile" means not only "make sure that the compiler and the jitter do not perform any code reordering or register caching optimizations on this variable". It also means "tell the processors to do whatever it is they need to do to ensure that I am reading the latest value, even if that means halting other processors and making them synchronize main memory with their caches".
Actually, that last bit is a lie. The true semantics of volatile reads and writes are considerably more complex than I've outlined here; in fact they do not actually guarantee that every processor stops what it is doing and updates caches to/from main memory. Rather, they provide weaker guarantees about how memory accesses before and after reads and writes may be observed to be ordered with respect to each other. Certain operations such as creating a new thread, entering a lock, or using one of the Interlocked family of methods introduce stronger guarantees about observation of ordering. If you want more details, read sections 3.10 and 10.5.3 of the C# 4.0 specification.
Frankly, I discourage you from ever making a volatile field. Volatile fields are a sign that you are doing something downright crazy: you're attempting to read and write the same value on two different threads without putting a lock in place. Locks guarantee that memory read or modified inside the lock is observed to be consistent, locks guarantee that only one thread accesses a given hunk of memory at a time, and so on. The number of situations in which a lock is too slow is very small, and the probability that you are going to get the code wrong because you don't understand the exact memory model is very large. I don't attempt to write any low-lock code except for the most trivial usages of Interlocked operations. I leave the usage of "volatile" to real experts.
For more information on this incredibly complex topic, see:
Why C-style volatile is almost useless for multi-threaded programming
Joe Duffy on why attempting to 'fix' volatile in C# is a waste of time
Vance Morrison on incoherent caches and other aspects of modern memory models
(*) Of course we already know one reason: volatile operations are not guaranteed to be atomic, and thread safety requires atomicity. But there is a deeper reason why C-style volatility does not create thread safety.


text:
Matt Forte wants to get paid. Soon. And for a long time. Well, now is his chance.
Matt Forte wants to get paid. Soon. And for a long time. Well, now is his chance.
The Bears have never needed Forte more than they do now, with Jay Cutler hurt. Forte, even at his best, has had a bad habit of not running well when teams expect him to run. He was 0-for-7 last year running on third-and-1 or fourth-and-1.
Forte, who had 100 yards eight times in his first 53 games, seemed to answer all questions with four 100-yard games in five weeks and five straight games with at least 5 yards a carry. But he's averaged 3.2 the last two weeks. With Chicago's next two games against the Raiders and Chiefs, who rank 25th and 27th in rushing defense at more than 130 yards a game, it's time for Forte to make things easy on backup Caleb Hanie.
That's what Thomas Jones did for Kyle Orton as a rookie in 2005 when Thomas ran for 1,335 yards. If Forte finishes strong the last six weeks and helps the Bears win without Cutler, he should get his multiyear contract, and not just a one-year franchise offer.
NFL blackout rule should stand
Sen. Sherrod Brown (D-Ohio) has petitioned the FCC to overrule the NFL's blackout rule because today's Bengals game wasn't sold out and won't be aired in Cincinnati and Dayton. Since when did anyone want to watch the Bengals that badly? This is just the latest political attack on the TV blackout rule. Politicians say since taxpayer money — $455 million for the Bengals' home — was spent on NFL stadiums, the people deserve to see their team on free TV. It's not a bad idea; but politicians should have made that a condition before they funded the stadium. It's too late now.
BCS rematch is best choice
Why is it "BCS chaos" if Alabama plays LSU again for the national title? The Bears had to play the Packers in the NFC title game last year after beating them out for the division title and the Brewers had to play the Cardinals in the NLCS after beating them in the NL Central.
Everybody else had their shot and lost. Boise State, Stanford, Oregon, Oklahoma State, Oklahoma, Wisconsin. None has a leg to stand on anymore. The only bad part about an LSU-Alabama rematch is LSU should not have to prove itself again after winning in Tuscaloosa, but if the Tigers aren't complaining, no one else should be either.
Revamp IHSA playoffs
College football should have an eight-team playoff. It would make everyone — coaches, fans, players and critics — happier and bring in a lot more money. But that said, the BCS works way better than the IHSA playoffs. Someone needs to redraw the brackets. In the last six years, the eight state title games have been decided by an average of 18, 24, 18, 18, 21 and (through the first five games this year) 20 points. Dakota ran for 466 yards Friday. NUIC and Big Rivers teams have far more trouble in the second and third round against conference rivals than they usually do in the state title game. The four best teams in Class 1A this year were Dakota, 2010 champ Lena-Winslow, Freeport Aquin and Forreston. The Indians beat all three in the playoffs after going 1-2 (with a three-point comeback win) against them during the season.
Illini need innovative coach
From 6-0 to 0-6 after losing to the Gophers; the Illini didn't exactly fight to keep their coach. I thought Ron Zook was worth a shot for the same reason I sort-of liked hiring Ron Turner at the time; Illinois needed better recruiting. But talent is more important in basketball than football, where Xs and Os count so much. It's time for the Illini to hire a young hotshot, the type the MAC has been so good at churning out the last decade (Urban Meyer, Brady Hoke, Brian Kelly, etc.). Only the Illini would have an Xs and Os coach (Bruce Weber) at a sport (basketball) where talent counts most and a pied piper of a recruiter in the sport that most values discipline and strategy.
Assistant sports editor Matt Trowbridge's Quick Shots on Sports appear Sundays. He can be reached at 815-987-1383 or email@example.com.

subset: commoncrawl


text:
mirror of warcbase library, in order to build and locally publish the artifact
Recent Commits
Minor tweak to README.
|Oct 1 2016
Fixed Issue #251: java.lang.NullPointerException on Collection
|Sep 30 2016
Fix fo issue #244: NPE from link extraction.
|Sep 30 2016
|Jimmy Lin/GitHub
Merge pull request #253 from ukwa/master
|Sep 30 2016
Fixed issue #244: java.util.zip.ZipException: invalid distance code
|Sep 30 2016
Better error trapping for issue #244: java.util.zip.ZipException: invalid…
|Sep 30 2016
|Andrew Jackson
Also allow XHTML through, as per #252.
|Sep 29 2016
minor change to run tests again
|Sep 23 2016
added https to better play with github pages and others
|Aug 5 2016
|Ian Milligan/GitHub
Merge pull request #242 from yb1/checksum
|Aug 2 2016
|Youngbin Kim
Multiple partitions
|Aug 2 2016
|Ian Milligan/GitHub
Merge pull request #241 from yb1/checksum
|Jul 31 2016
|Youngbin Kim
Changed output type to rdd
|Jul 31 2016
Add UDF for computing MD5 checksum. Issue #211
|Jul 28 2016
|Youngbin Kim
|Jul 27 2016
Warcbase ![Build Status](https://travis-ci.org/lintool/warcbase)
Warcbase is an open-source platform for managing web archives built on Hadoop and HBase. The platform provides a flexible data model for storing and managing raw content as well as metadata and extracted knowledge. Tight integration with Hadoop provides powerful tools for analytics and data processing via Spark.
There are two main ways of using Warcbase:
+ The first and most common is to analyze web archives using Spark: these functionalities are contained in the warcbase-core module. + The second is to take advantage of HBase to provide random access as well as analytics capabilities. Random access allows Warcbase to provide temporal browsing of archived content (i.e., "wayback" functionality): these functionalities are contained in the warcbase-hbase module.
You can use Warcbase without HBase, and since HBase requires more extensive setup, it is recommended that if you're just starting out, play with the Spark analytics and don't worry about HBase.
Other helpful links:
+ Detailed documentation is available here. + Supporting files can be found in the warcbase-resources repository.
Getting Started
Clone the repo:
$ git clone http://github.com/lintool/warcbase.git
You can then build Warcbase. If you are just interested in the analytics function, you can run the following:
$ mvn clean package -pl warcbase-core
For the impatient, to skip tests:
$ mvn clean package -pl warcbase-core -DskipTests
If you are interested in the HBase functionality as well, you can build everything using:
$ mvn clean package
Warcbase is built against CDH 5.7.1:
+ Hadoop version: 2.6.0-cdh5.7.1 + Spark version: 1.6.0-cdh5.7.1 + HBase version: 1.2.0-cdh5.7.1
The Hadoop ecosystem is evolving rapidly, so there may be incompatibilities with other versions.
Spark Quickstart
For the impatient, let's do a simple analysis with Spark. Within the repo there's already a sample ARC file stored at warcbase-core/src/test/resources/arc/example.arc.gz. Our supporting resources repository also has larger ARC and WARC files as real-world examples.
If you need to install Spark, we have a walkthrough here. This page also has instructions on how to install and run Spark Notebook, an interactive web-based editor.
Once you've got Spark installed, go ahead and fire up the Spark shell:
$ spark-shell --jars warcbase-core/target/warcbase-core-0.1.0-SNAPSHOT-fatjar.jar
Here's a simple script that extracts and counts the top-level domains (i.e., number of pages for each top-level domain) in the sample ARC data:
scala import org.warcbase.spark.matchbox._ import org.warcbase.spark.rdd.RecordRDD._ val r = RecordLoader.loadArchives("warcbase-core/src/test/resources/arc/example.arc.gz", sc) .keepValidPages() .map(r => ExtractDomain(r.getUrl)) .countItems() .take(10)
Tip: By default, commands in the Spark shell must be one line. To run multi-line commands, type :paste in the Spark shell: you can then copy-paste the script above directly into Spark shell. Use Ctrl-D to finish the command.
What to learn more? Check out our detailed documentation.
The result of analyses of using Warcbase can serve as input to visualizations that help scholars interactively explore the data. Examples include:
+ Basic crawl statistics from the Canadian Political Parties and Political Interest Groups collection. + Interactive graph visualization using Gephi. + Named entity visualization for exploring relative frequencies of people, places, and locations. + Shine interface for faceted full-text search.
Next Steps
+ Ingesting content into HBase: loading ARC and WARC data into HBase + Warcbase/Wayback integration: guide to provide temporal browsing capabilities + Warcbase Java tools: building the URL mapping, extracting the webgraph
Licensed under the Apache License, Version 2.0.
This work is supported in part by the U.S. National Science Foundation, the Natural Sciences and Engineering Research Council of Canada, the Social Sciences and Humanities Research Council of Canada, the Ontario Ministry of Research and Innovation's Early Researcher Award program, and the Mellon Foundation (via Columbia University). Any opinions, findings, and conclusions or recommendations expressed are those of the researchers and do not necessarily reflect the views of the sponsors.


text:
(Updated with the correct answers)
Some of you answered, "A naked picture of Bea Arthur." One of you came within what was probably a brain fart typo of a perfect ballot. The Top 3 finishers of Name That Retro Couple all self-identified as Dipshits.
Here are the answers
1. Jock and Ellie Ewing (Dallas)
2. Oscar and Blanche Madison (The Odd Couple)
3. Barney and Betty Rubble (The Flintstones)
4. Tom and Helen Willis (The Jeffersons)
5. Ward and June Cleaver (Leave It To Beaver)
6. Mike and Carol Brady (The Brady Bunch)
7. Archie and Edith Bunker (All In The Family)
8. Max and 99 Smart (Get Smart)
9. Mike and Gloria Stivic (All In The Family)
10. Walter and Maude Findlay (Maude)
11. Howard and Marion Cunningham (Happy Days)
12. Joe and Rhoda Gerard (Rhoda)
13. Ted and Georgette Baxter (The Mary Tyler Moore Show)
14. George and Louise Jefferson (The Jeffersons)
15. Lou and Edie Grant (The Mary Tyler Moore Show)
16. B.J. and Peg Hunnicutt (M*A*S*H)
17. Rob and Laura Petrie (The Dick Van Dyke Show)
18. Bob and Emily Hartley (The Bob Newhart Show)
19. Fred and Wilma Flintstone (The Flintstones)
20. John and Sue Ellen Ewing (Dallas)
21. Felix and Gloria Unger (The Odd Couple)
22. Henry and Muriel Rush (Too Close For Comfort)
23. Tony and Jeannie Nelson (I Dream Of Jeannie)
24. Lars and Phyllis Lindstrom (The Mary Tyler Moore Show)
25. Ricky and Lucy Ricardo ( I Love Lucy)
26. Thurston and Luvy Howell (Gilligan's Island)
27. Mike and Jill Danko (The Rookies)
28. Bob and Pam Ewing (Dallas)
29. Ray and Donna Krebs (Dallas)
30. Gomez and Morticia Addams (The Addams Family)
31. Darrin and Samantha Stephens (Bewitched)
32. Herman and Lily Munster (The Munsters)
33. Joshua Bolt and Candy Pruitt (Here Come The Brides)
34. George and Jane Jetson (The Jetsons)
35. Jerry and Millie Helper (The Dick Van Dyke Show)
36. Daryl Dragon and Toni Tennille (The Captain and Tennille)
37. Sonny and Cher Bono (Sonny and Cher)
38. Chip and Polly Douglas (My Three Sons)
39. Oliver and Lisa Douglas (Green Acres)
40. Sherman and Mildred Potter (M*A*S*H)
41. Donald and Margaret Penobscott (M*A*S*H)
42. Buddy and Pickles Sorrell (The Dick Van Dyke Show)
Here are the unofficial results
In 9th place, with a score of 7, it's total idiot @aaapharmclub
In 8th place, with a score of 14, it's total idiot @samesadecho
In 7th place, with a score of 18, it's moron ignaciuk
In 6th place, with a score of 20, it's total idiot @TheRevanch1st
In 5th place, with a score of 27, it's dipshit @ursus_blancus
Thanks for playing, you morons and total idiots, but there's a big jump to the Top 4
In 4th place, with a score of 51, it's total idiot @girl_wonderx
In 3rd place, and the bronze medal with a score of 54, it's dipshit Hermit Edwards
And now, in a photo finish so tantalizing it had to be filmed in separate twin beds, the Top 2
With a score of 80 (76 for accuracy and 4 for speed), and the silver medal, it's dipshit @Keisertroll
And with a ballot marred only by typing that Howard and Marian Cunningham were on All In The Family, your winner with 81 points is the biggest dipshit, @ShelleyElwood
Congrats Shelley! You've won four tickets to Hillary Clinton's Inauguration.


text:
Ok, let's flip that and reverse it–I've been out and down.
I've been out (of touch that is) for far too long!!
And I've been down lately…fortunately I am not talking about my mood, but my SCALE! Yep, that's right folks! I am moving on down. So far I am on track, losing a healthy amount of weight each week. I am mixing up my activity and searching high and low for healthy alternatives to satisfy the occasional craving.
It's been a while since I last checked in and I am having withdrawals from you guys! I hope you are all enjoying July and the warm weather. Here are a few updates on my journey:
I am now in my ninth week of working with Emily (my awesome dietitian) and although I haven't checked in on my blog lately, I have had weekly meetings with Emily to keep me on track. I am having so much fun–something that I would never say about dieting. The great thing about having Emily on Team Dee is that she really challenges me, but wants to make sure that I don't get burned out. Each week I learn about a new nutrition concept or work on mastering a concept that she taught me the week before. We are taking this slow, at a pace that works for me and she really works with me not only to understand each aspect of the lesson, but find practical ways for me to successfully incorporate these learnings into my lifestyle! This is really terrific! She has taught me about the importance of Fiber, Fats, Carbs and now we are working on making sure that I am getting the right kind of carbs in my diet. I've had a few grocery assignments to help me stock up on some healthy and yummy snacks that not only taste good, but are good for me. She is slowly giving me an internal (and dare I say…external) makeover.
What I love most about this experience with Emily is that she is sincerely passionate about making sure that I not only make better decisions, but understand why I should make them and teaches me how to make them on my own.
Whether it is preparing a meal at home or eating out with friends, I am learning how to make smarter choices and do something that I haven't done in such a long time…have an occasional splurge. Pre-SkinnyGene (which is what I will refer to my life before Emily), every day, every meal was what someone with a "normal" diet may call a splurge. I would eat out every meal for weeks and not bat an eye. A typical day could have easily consisted of skipping breakfast, having fried chicken tenders, french fries and garlic bread for lunch, and then sharing a pizza with TB for dinner. Now, if I go out at all, I crave a yummy sandwich from Subway. You'd be surprised. Once you detox from a high fat/high carb diet, you really don't crave it as much as you would think. I must admit that I eat more than I feel like I should at Subway, but it's SO good. My sandwich of choice…Turkey and Black Forest Ham on Wheat (no cheese lots of veggies, with honey mustard dressing–that they say is Fat Free, but it sure tastes sinful!!)
Also, since I've been gone I had a few great mood lifters as well. TB told me the other day that he was beginning to notice a little difference in my pants. I didn't believe him because they felt the same to me, but shortly after that I started going into my closet and pulling out a few things that I had tucked away about a year ago because they were too tight. And sure enough, they are fitting a little better these days! They aren't perfect just yet, but the fact that I can wear them out of the house is a HUGE step in the right direction!!
So in short (yea right…nothing I ever write is SHORT!), I am doing great and feeling great! How are you guys?


text:
Oh Wonder Sound Stage Performance
After their weekend at Coachella, Oh Wonder stopped by the RADIO 94.7 Sound Stage to perform an intimate set for some lucky RADIO 94.7 VIPs. These VIPs were also able to have a Q&A with Oh Wonder after their performance, followed by a meet and greet!
Become a RADIO 94.7 VIP to gain access to exclusive opportunities such as Sound Stage performances, meet + greets, concert tickets, and more! Find out how to sign up to be a RADIO 94.7 VIP here.


text:
I am thinking of putting up some network racks that require installing anchor bolts to the cement floor in the garage. What should I look out for? I am guessing that there are pipes in the concrete slab, but how to I make sure I don't hit them?
- Jimmy
I don't know about your Eichler, but our schematics show that there are no radiant heat pipes in the garage floor, and our water heater pipes come out of the side of the foundation in the garage where the concrete is raised. ours is a 1964 atrium model.


text:
Trash to Treasure: A Story of Economic Survival
Written by Nancy L. Babine | Posted by: Anonymous
Cartoneros, Boston College professor Ernesto Livon-Grosman's first documentary film, opens with a quote by French poet, Charles Baudelaire, setting the stage for a fascinating exploration of the complex sociological, ecological, and economic system of trash recycling in his native Buenos Aires:
Here we have a man who has to gather
the day's refuse in the capital city.
Everything that the big city threw away,
everything it lost,
everything it despised,
everything it crushed underfoot,
he catalogs and collects.
In 2001 Argentina suffered a severe economic crisis, closing thousands of factories and leaving millions jobless. Livon-Grosman, who has lived in the United States for over 20 years, was appalled when he visited Buenos Aires and witnessed the hardship the economic downturn had imposed upon his fellow countrymen. Yet, even more stunning were the resourceful and creative measures taken by many who felt the harsh impact of the economic changes.
Every night thousands of cartoneros, loosely translated as "scavengers," come into Buenos Aires from the outskirts to collect items of trash that have been discarded by businesses and households. Men, women, and children, many who are well-educated displaced industrial workers, push two-wheeled carts outfitted with large canvas bags. They rummage through trash bins for cardboard, paper, metal, plastic, glass and other matter with a resale value in the recycling market.
Livon-Grosman was simultaneously revolted and intrigued by the sight of people packed together with mountains of trash in the "Tren Blanco," a passenger train refitted to accommodate the cartloads of trash the cartoneros transport from the city at the end of each night. That image collided with his long-time desire to make a documentary. He knew in that moment this was his film.
Determined to do more than tell a sentimental story of the cartoneros' misfortunes, Livon-Grosman reconstructs the journey of rubbish, from curbside trash receptacle to consumer product. He introduces a network of unconventional entrepreneurs at each level of the recycling process, exposing the resulting micro-society with its own set of codes and hierarchy. "Instead of showing death and misery and suffering, which was a common topic in the news at the time," he said, "I wanted to show how people were able to pool resources and out of their own creativity, establish a new sort of an income based on this informal recycling."
Though Livon-Grosman had studied documentary films over a long period of time, this was his first venture into making one on his own. Besides tackling the challenges of being a first-time filmmaker, he had to overcome the hurdle of being more than 5,000 miles away from his subject. "It was a little more laborious to do the preproduction and to prepare things from here," he said. "But once I got the idea how to do it, when I got people [in Buenos Aires] who were helping me, it was not that complicated. I could read the papers here; they would collect information for me. There was a network of friends and acquaintances who would say this is going on, that is going on."
During the preproduction phase in 2003 he gathered pieces of information and synthesized them, working out how they would fit into the framework of the film. Another problem he confronted was finding dependable sources for data. Many Argentines have a distrust of the city government and are reluctant to participate in a census, therefore rendering statistical information unreliable. No information from the newspapers could be taken at face value, and had to be tested for accuracy.
After a year of preproduction Livon-Grosman left for Buenos Aires to begin filming. He was accompanied by Joe Mastantuono (Salvage, Al Otro Lado, Kettle of Fish), who was familiar with the Panasonic DVX100, a camera that was new at the time. Livon-Grosman chose it because of its ability to shoot at 24p, creating a more film-like quality. "I was in love with the camera. I wanted to use it at all costs," he said.
When Livon-Grosman first began filming in Buenos Aires he approached people at train stations where he had seen cartoneros on other occasions. Through many conversations with the cartoneros he found a tightly woven network in which everybody knew everybody else. He soon discovered that a segment of the estimated 25,000 to 30,000 cartoneros operated within structures of varying degrees of organization. People brought their experience and skill sets from previously held industrial jobs, creating hierarchies and divisions of labor. Co-ops and sophisticated systems of moving the reclaimed trash along its recycle journey were well established.
Two events happened by chance that determined the design of the film. The first involves a cartonera named La Colo, whose story is compelling. Well-educated, holding a master's degree in literature and philosophy, La Colo owned a successful freight company. After the economic collapse, she found herself unemployed and without any means to support her children. One of Livon-Grosman's contacts in Buenos Aires had seen La Colo on a television news interview and encouraged him to speak with her.
"I had no way of knowing how I was going to find her," he said. "I was in Massachusetts. I asked my assistant in Buenos Aires to find out the producer for the channel and we contacted him. He was extremely helpful. He facilitated my gaining access to the train in which all the cartoneros traveled. He introduced me to La Colo and from then on I followed her as much as I could."
La Colo is the film's primary spokesperson for those cartoneros who work independently, with little support. Articulate and intelligent, she offers insights into the daily lives, hearts and minds of the cartoneros. "You have to do this with a sense of dignity," she says. "There is no other way."
The second serendipitous event occurred after Livon-Grosman had begun filming. The city officials were under political pressure to regulate the activities of the cartoneros. The result was the organization of weekly meetings between the cartoneros and government officials. Livon-Grosman was able to bring the camera into the meetings and meet some of the anthropologists who were there on the city's behalf. "I would go there every week," he said. "They were very laborious and long meetings, and (I'd) spend hours there, just listening to the exchanges between cartoneros and the government officials. Once I met the anthropologists who worked as consultants for the government the whole thing opened up."
Livon-Grosman repeated the trip from Boston to Buenos Aires twice more over the course of two years, his crew consisting only of an Argentine camera and lights husband-wife team. Between trips he edited the footage and assessed the development of the characters and their stories. After two years he had 60 hours of footage to make his one-hour film.
Cartoneros had its New England premiere in October at the Boston Latino International Film Festival. It has been well received at film festivals and universities in the US and abroad. The test for Livon-Grosman will be its debut in Argentina next month. He anticipates political references in the film will trigger an audience response not experienced elsewhere. Livon-Grosman has recently signed a distribution deal with Documentary Educational Resources.
Livon-Grosman hopes Cartoneros will convey to an audience the complexity of Argentine society and what its people have been capable of accomplishing in a crisis. He also hopes to provoke a greater awareness among Americans to the cartoneros in our midst. "I would hope that people will be able to make a connection between what's going on there and the fact that we also have cartoneros here, in the Boston area, that the next time they come across one they will see him. Here, as well as there, they tend to become invisible."
Nancy L. Babine is a writer and filmmaker. She can be contacted at email@example.com.
Cartoneros will be screened as part of the mini-festival of the Providence Latin America Film Festival (PLAFF) on Saturday, April 28th at 6 pm in the auditorium of the Rhode Island School of Design. More information about the film can be found at www.cartonerosdoc.com. Visit PLAFF at www.plaff.org. Nancy L. Babine is a writer and filmmaker. She can be contacted at email@example.com.


text:
Romance is probably best spurred by sparkly genuine heartfelt impulses, and so surely it can't have a regulated holiday that demands us to perform affection. It does though! Every year, it's Valentine's Day on February 14, and if you're doing the tablecloth restaurant prix fixe ordeal, you actually schedule it out months in advance. Humans are a contradiction. And the paradoxes of this situation lead to heightened expectations and subsequent disappointments. The best laid plans of mice and men frequently go to shit, especially on nights with high stakes.
Along these lines, we spoke to the owners, waiters, and managers of the most romantic restaurants across the country about what happens after someone gets a glass of champagne in the face, proverbially and literally.
At the Little Door in Los Angeles, a restaurant where proposals are so frequent that they have a special compartment underneath desert plates to hold the rings, the general manager Sue says that on Valentine's Day they have three times the number of usual parties. With this much lovey-dovey hubbub, she has to temper some of the particularly showy plans for proposals. "They want to bring in musicians, which we try to avoid, because we want to accommodate all the guests, not just the ones getting engaged."
The staff at Little Door has also developed a two-pronged system for "storming out situations or when Champagne is thrown at a man." They divide up the staff, to "send a manager to follow the lady to make sure she's okay, and a server will drop the check and make sure the man is okay."
"When the person gets left behind and broken up with, you definitely buy them a drink and let them know there are more fish in the ocean," says Max, a manager at Celeste cocktail bar and supper club in Chicago. He says that he has seen some abandoned people just stick it out. "They don't let it interrupt their dinner!" Not only do they finish their entrée, she says, "They get dessert, they talk to the people next to them who have seen the scandal."
Once, he said, at a previous restaurant he worked at, he saw a shameless cheater get busted during a Valentine's dinner. "We had three seatings and this guy had a table on the first seating with one of his girlfriends and one for the second seating too, and the second girlfriend got there early. It happened!" To minimize the drama, Max engaged in some light gossip with the tables close by, telling them about the impending approach of second seating girlfriend, "so their reaction wouldn't be anything to make it worse. If you give the tables close enough warning, they'll usually just listen in." No kidding. If you hear that you're getting dinner and a show, you eavesdrop as quietly as you possibly can.
This is the type of the thing that a keen waiter sees coming, months in advance. "You see them all year long," he says, "Different girls on different days. It can make you feel a little uncomfortable. Sometimes I would have to warn young ladies, when a guy would go to the bathroom, I will say, This guy is no good! Then he'd come back, and she would have gone and you say you don't know what happened."
It's a time of year when restaurants get cheated on as well. Many managers say they have to deal with clients making reservations at multiple restaurants that night and lots of no-shows. Moez, a manager at Marcel's in DC, says that he usually assumes there are relationship problems when someone cancels a reservation made so long ago, "then you can do the math." Love math: it's fun for almost no one. But maybe that's the best description of Valentine's—a night of calculated romance, with an extreme margin of error. On that note, good luck everyone!


text:
Campus Lens : Romance Edition 2018
Images of romance to celebrate Valentine's Day.
Campus Lens – The Food Issue 2018
Student submitted photos for The Sheaf's food issue.
Campus Lens – 2017's Best Photos
A look back at 2017's best photos.
Campus Lens – Holiday Edition 2017
Campus Lens: Science & Tech 2017
Campus Lens: Halloween Edition 2017
Campus Lens: Saskatoon Edition
Your submitted shots of Saskatoon.
Campus Lens: Travel and Study Abroad
Campus Lens: Food Edition
A glimpse of student submitted eats


text:
Sunday, December 03, 2006
Toys for Twats
Let it never be said that won't support a fabulous cause, even if it's associated with Christmas. Pony Pal™ The Rev has come up with an idea so touching, even the gloomiest heretics will heed Santa's insistent, nagging call.
It seems the kids of the Aryan Nation, forever compassionate, are having a toy drive to benefit all the carefully screened under-privileged blond, blue-eyed children of their merry mindset. The Rev and his buddies suggest helping them out with a provided list of, among other things, black Barbies, dreidels and books for teenage hairdressers.
Nazi Saint Nick is calling! Sharing is caring, people!
5 comments:
That is so sweet! My breast milk is curdling! I think I'll send them my Wiccan Wonderland For Tots and my collection of books on how to get high on common garden pests. Oh, and the Dominatrix Barbie would be fun too. YOUR gift is to die for, but I don't want to copy.
Oh yes, and the Kamasutra for the Advanced teen. Those people do a lot of inbreeding, right? So they need some help spreading their gene pool through the population. I am SO sick of underbites.
Thank you for spreading the cheer Princess Sparkle Pony!
- Sunday, December 03, 2006 12:45:00 PM
LOL...this is awe!..ty
- Sunday, December 03, 2006 11:54:00 PM
As for me, I am going down to my local Barnes&Noble at lunch to buy up every single copy of Heather Has Two Mommies to donate to the most right wing religious church group holiday toys for kids collection!
- Monday, December 04, 2006 8:15:00 AM
I was so hoping this was a real... it would have made this year's shopping for Xmas in the Castro so much easier! Darn your Sparkliness for givething such a grand idea, just to moments later taketh it away!
- Monday, December 04, 2006 10:05:00 AM
- Esri Rose said...
Those puckered lips...so suggestive...
Must lie down now.
- Monday, December 11, 2006 4:39:00 PM


text:
Hello Everyone,
One of the most requested themes last year while I was doing the St. Albert Farmers Market was for wedding cards…
Moment of truth time, I really struggle with the concept, probably because;
A.) I have never been in love (in infatuation yes, but never actually been in love)
B.) I find my cute and colourful style doesn't always fit into the classic white, neutral, with a pop of colour colour pallets that are the norm.
So this was a real challenge, until I stumbled across this pattern paper pack and focused on the style of papers I am usually drawn to, (cute dainty patterns with a mix of polka dots and stripes) and made it work with the theme.
Therefore resulting in Wedding Day Bella!
After that this card came together much like how I imagined, and to top it all off I was very happy with the final product.
I hope if you, or someone you know is getting married soon that they enjoy their wedding day as much as this happy couple!
Stamp image © StampingBella.com- Brett and Brenda Getting Married
Question Time! If you have been married/ or hope to some day what would your Wedding song be?
My Answer: I joke with my cousin that when I eventually do get married I should pick a anti love song (just for the shock factor and to have a good laugh) but in my heart it most likely will be something from the 50's-60's era.
Lots of Love,


text:
Privacy and Security Policy
We respect your privacy. Unique Scheduling Solutions, LLC has established this Privacy and Security Policy so that you may better understand the manner in which we collect and protect the information received from you and the information you create by using our services.
Unique Scheduling Solutions, LLC. owns and provides web-based services and software that facilitate online creation, modification, storage, retrieval and manipulation of schedules, timelines, and time-based resource allocation profiles (collectively, the "Services").
In this Privacy Policy, we may refer to Unique Scheduling Solutions, LLC, as "USS," "us," or "we." "User" shall refer to any business or individual using the Services for online scheduling or scheduling-related purposes. "You" (or "Your") shall refer to any User.
USS reserves the right, at its sole discretion, to change, modify, update, add, or remove portions of this Privacy Policy at any time, with or without notice to you. Please check this Privacy Policy periodically for changes. This Privacy Policy is and will be available in the "My Account" section of the subscriber website. Your continued use of the Services after the posting of any changes to the Privacy Policy will signify your acceptance of those changes.
Personally Identifiable Information ("PII")
PII is any piece of information which can be traced back to a specific individual user and thus potentially be used to uniquely identify, contact, or locate that specific individual. Examples of PII include names, telephone numbers, social security numbers, credit card numbers and other unique identifiers such as patient numbers, employee numbers etc. In no event will USS (i) use PII to market its services or those of a third party, or (ii) sell or transfer PII to third parties, or otherwise provide third parties with access thereto, except as specifically provided in this Privacy Policy and/or in our applicable Terms of Use.
When a User registers to use the Services, we may ask that User to provide business information including the business name, type of business or organization, email address, telephone number, and street address ("Business Information"). We may also ask Users to provide a valid credit card number and billing address so that we can process any payments for use of the Services by such User, pursuant to the Terms of Use. Users may modify their account information at any time by accessing the "My Account" section of restricted access website when such User is logged in as a subscriber. You should be aware that if you upload, post, and/or distribute material, including but not limited to, Personally Identifiable Information, questions, feedback, reviews, comments, ratings, suggestions, information, text, messages and other content or materials of any nature ("User Submitted Materials"), to the publicly accessible USS website or websites, those materials and the substantive information contained in them may be accessible by third parties. The activities of third parties are beyond the control of USS. Please do not post any information that you expect to keep private on the public website or websites owned by USS.
All data and information in the restricted access websites is rigorously protected as described in subsequent sections of this Policy.
USS requires those organizations that supply hosting services to USS to maintain the strictest standards of security for each User. In the unlikely event that USS discovers that personal information has been or is compromised as a result of a breach of security, we will promptly notify those persons whose personal information has been compromised, in accordance with the notification procedures set forth in this Privacy Policy, or as otherwise required by applicable law.
Non-Personally Identifiable Information
Non-personally identifiable information is information that, by itself, cannot be tracked to a specific individual. Examples of non-personally identifiable information include, but are not limited to, the type of internet browser you are using, the type of computer operating system you are using, your IP address, the time and date of your use of the Services, and whether or not you clicked on hypertext links within the Services. We may collect non-personally identifiable information while you use the Services.
Aggregate Site Usage Information is used by Company (and/or its business partners or contractors) to diagnose technical problems, to administer USS Services, for product development and testing, for backup/recovery purposes, and to improve the quality and types of Company Services delivered. We may use the non-personally identifiable information to generate user statistics that we may provide to our business partners such as hosting services and contractors hired by us to assist in providing the Services. If we provide any such information to others, we will provide such information in the aggregate only and will not include any personally identifiable information about any individual users
Cookies are small text files that are placed on your computer's hard drive to identify your computer to our servers. USS will not place cookies on your computer.
We may use contact information you provide to send you email messages and other notifications relating to the Services and your use of the Services. We reserve the right to notify you through e-mail, facsimiles, text or voice messages, or notices posted on the USS websites, as determined by our discretion. By using the Services, you consent to receiving such notifications. Users may opt-out of receiving notifications relating to support of the Services or other notices if and only if doing so is required by law.
USS will not share User schedules or the data used to create them with anyone. Each user will have a private domain that is protected from other domains by access restrictions. Each user is in complete control of the access to that domain and can create "no access" restrictions, "read-only" access restrictions, or "executable" privileges to their own set of people or organizations related to their use of the Services.
We may release information when necessary to comply with the law or a court order or a legally authorized investigation. We also may release information to law enforcement to protect our rights, property, or other interests, including those of our customers or Users or to prevent illegal activities or violations of our Terms of Use. In the event that we, in whole or in part, establish a partnership with another company, or are acquired by or merged with another company, information we collect may be transferred to the partner or the acquiring or merging company at time such merger, acquisition, or partnership is closed and to the extent necessary to fulfill our obligations under such merger, acquisition, or partnership.
We do not offer services to, or target, persons under the age of 13. In compliance with the Children's Online Privacy Protection Act, we will purge any information we receive from people we believe to be children under 13 from our database and cancel the corresponding accounts.
USS has implemented processes designed to protect the information its collects and stores. Registered Users are assigned a unique user name and password which are required to access their domain and account. It is the User's responsibility to protect the security of their user name and password. USS has employed firewalls and other advanced security technologies which we believe to be appropriate in an effort to prevent unauthorized interference or access from outside intruders. We require our hosting companies and other partners utilize and maintain rigorous technical and organizational measures designed to secure your personal information from accidental loss and from unauthorized access, use, alteration or disclosure, but we cannot guarantee that unauthorized third parties will never be able to defeat those measures or use your personal information for improper purposes. We cannot ensure the security of any information transmitted to us over the Internet, and we accept no liability for any unintentional disclosure of such information. You acknowledge that you provide your personal information at your own risk.
Compliance with Children's Online Privacy Protection Act
As a business service, USS does not target its offerings toward, and does not knowingly collect any personal information from users under 13 years of age.


text:
The Center for Operational Oceanographic Products and Services (CO-OPS) collects and distributes oceanographic observations and predictions to ensure safe, efficient, and environmentally sound maritime commerce. CO-OPS provides water level and coastal current oceanographic products, measures and predicts tides throughout the nation, and is responsible for disseminating this information to the public.
NOAA's Inundation Analysis Tool provided statistical summaries of NOAA tide station data to help guide this marsh restoration project at Fort McHenry in Baltimore, Md. Inundation analyses are available for more than 120 tide gauge stations around the nation and can help coastal officials better understand the consequences of sea-level rise.
Storms and other meteorological phenomena can rapidly and radically affect sea levels along the coast—putting people, property, and ecosystems at risk. To help address the consequences of extreme changes in sea level, the Center for Operational Oceanographic Products and Services (CO-OPS) recently released two new tools for coastal managers and planners.
Using statistical analyses of historical NOAA tide gauge data, the Inundation Analysis Tool allows coastal managers to estimate the frequency and duration of observed high waters. The tool captures normal changes in water levels from gravitational forces exerted by the moon, sun, and rotation of the Earth, as well as anomalous changes associated with coastal storms and other meteorological events, to determine how high water levels can be expected to rise and how often a coastal area can be expected to inundate. Originally developed to support marsh restoration activities, this tool has evolved to inform decisions concerning climate change and sea-level rise.
The Exceedance Probability Statistics Tool is used to identify the likelihood that water levels will exceed a given elevation based on historic values. The tool can generate these probability statistics for most U.S. water level stations with at least 30 years of data and can help coastal managers determine when a rare event has occurred.
When used with real-time data, these new tools can help coastal officials better understand the risks and vulnerabilities associated with a rising sea.
Surface water level animation from the Northern Gulf of Mexico Operational Forecast System.
For decades, mariners in the United States have depended on NOAA's tide tables for the best estimate of expected water levels. These tables provide accurate predictions of the astronomical tide—the change in water level due to the gravitational effects of the moon and the sun and the rotation of the Earth—but they cannot predict water-level changes due to wind, atmospheric pressure, and river flow, which are often significant.
In response, the Center for Operational Oceanographic Products and Services developed the Northern Gulf of Mexico Operational Forecast System (NGOFS) to provide mariners with short-term predictions of wind, water levels, water currents, water temperatures, and salinity in the northern Gulf of Mexico. Developed in partnership with the Office of Coast Survey, the National Weather Service, and the University of Massachusetts, NGOFS uses a hydrodynamic model to generate nowcast (past few days to the present) and forecast information for the continental shelf and coastal areas between Pensacola, Fla., and Corpus Christi, Texas.
On June 20, four giant container cranes were transported by the M/V Zhen Hua 13 under the Chesapeake Bay and Francis Scott Key Bridges en route to the Port of Baltimore. The cranes are the biggest of their kind in the maritime industry and are designed to handle the containers of larger vessels soon to arrive when the Panama Canal expansion is completed in 2014.
NOAA's Center for Operational Oceanographic Products and Services (CO-OPS) provided bridge clearance and oceanographic data to assist the vessel in the final leg of its two-month journey from China. An air gap sensor on the Bay Bridge measured the distance from the bottom of the bridge to the surface of the water, providing an accurate clearance measurement to ensure safe passage for the cranes. CO-OPS also operates a hydrodynamic model that provided a forecast of water levels, currents, winds, and other environmental parameters that were crucial to deciding when the vessel would travel to the port. Actual clearance from the bottom of the bridge to the top of the cranes was nearly 10 feet, more than twice the minimum clearance of four feet needed by the vessel.
NOAA scientists in Cook Inlet, Alaska recover a streamlined mooring holding an Acoustic Doppler Current Profiler (ADCP), used to measure the speed of the current. Data from several ADCPs deployed will be used to assess the distribution of hydrokinetic energy in the inlet for potential turbine placement.
In the summer of 2012, the Center for Operational Oceanographic Products and Services measured water currents in Cook Inlet, Alaska to validate a new, Office of Coast Survey hydrodynamic model that will assess hydrokinetic energy potential throughout the Inlet. Cook Inlet has some of the highest velocity water currents in the United States, with flows as fast as 3.5 meters per second. Also, due to the length of the inlet, second only to Chesapeake Bay, some part of the inlet is always experiencing near maximum flood or ebb flows, conditions which favor round-the-clock energy production.
The Alaska Energy Authority approached NOAA about assisting with the Cook Inlet project. Energy delivery in Alaska is costly and the state is interested in using renewable sources to support Alaska's energy needs. Initial data suggest conditions at Cook Inlet are ideal for harvesting renewable energy. Additionally, new hydrokinetic power generation at Cook Inlet could serve many remote villages around the inlet currently cut off from traditional power transmission lines.
HABs occur when colonies of algae—simple plants that live in the sea—grow out of control while producing toxins harmful to people and animals. Over the last several decades, HABs have caused an estimated $1 billion in losses to U.S. coastal economies that rely on recreation, tourism, and seafood harvesting—all of which can be negatively affected by HABs. (Image courtesy of Texas Parks and Wildlife Department).
Harmful algal bloom (HAB) forecasters at the Center for Operational Oceanographic Products and Services (CO-OPS) issued a final forecast in mid-February for a HAB that severely affected the Texas coast and coastal bays over the previous five months. According to the Texas Parks and Wildlife Department, the Karenia brevis bloom or "red tide" which began on Sept. 14 may have been the longest lasting on record and one of the largest, extending roughly 300 miles from the southern tip of Texas to Galveston Bay. As reported by the Houston Chronicle, preliminary costs to the Texas shellfish industry alone are estimated to be at least $7 million due to this past season's HAB-related closures.
Fortunately, HAB forecasts for Texas, developed by the National Centers for Coastal Ocean Science, became an integral part of operations at CO-OPS just one year prior to the onset of this devastating bloom. HAB forecasts help coastal communities prepare for and potentially mitigate the impacts of HAB events.


text:
OK so I am a sucker for a give away. I watch posts and will comment or suggest friends if it will give me a chance to win something. Especially something artsy and handmade. Recently I was the lucky winner of a Longoria Girls contest.
I won a way cool Sugar Skull Composition Notebook.
I opened it with an audience. My kids could hardly wait. My soon to be 7 year old gave me the puppy dog eyes and told me that he felt jealous. I didn't fall for it. I was not giving up my notebook. No matter HOW cute and pathetic the kid. I love it. You should check out their shop and see some of the other designs that they have. They have a ton of other cool stuff as well.
Thanks for the awesome prize Stephanie! I am going to put it to good use.


text:
Greetings all,
I am a long time alternative firmware user sveasoft > dd-wrt > ? … I have been using WRT54GS (have 1.0, 1.1) and then moved to WRT610N v1.0.
I used OpenVPN on the '54 and USB/3G capabilities and OpenVPN (on different units) with the WRT610N.
I am looking for an alternative to dd-wrt that is more open and has a better development process.
I want to do initial testing on one of my '54s and get VPN properly configured and then, once I have a stable working OpenVPN on the '54, I will be able to convert my '610 v1 units. Doing this minimizes my down time.
Can anyone here give me an idea if TomatoUSB can be simply made to support the WRT610N V1.0? I see the V2 is supported but sadly, I don't have V2 units. At the risk of stating the obvious, I don't want to waste any time on TomatoUSB or variants if I will need to spend a LOT of time to make it work.
I have done a little testing on OpenWRT but am not convinced it will be the best choice for me.


text:
New to Scouting
Are you a new Troop Leader?
Click here, we've got what you need!
Welcome to Your Cub Scouting Family!
Thank you for your willingness to try out our great organization and all the fantastic benefits it has to offer your boy as he grows. Scouting is about building leadership, self-reliance and having confidence in yourself to Be Prepared! The Boy Scouts of America (BSA) is the largest youth organization in the U.S. with nearly 3 million youth members and 1.1 million registered adult leaders. Our goal is that you will enjoy Scouting just as much as your son. This page is designed to help you become familiar with Scouting and hopefully answer some questions you may have.
Have you Joined a Scouting Unit?
If not, there's a fast an easy website: www.beascout.org. On this website, you can find a Scouting unit close to you! Once you've joined a Scouting Unit, continue on to find out how to get the most out of Scouting!
Getting Started
Register New Youth and Adults Online
Click the link above and follow the steps to register new youth and adults online!*
*Guides to using the online registration system can be found in resources below.
General Scout Info Guides
Resources and Support


text:
We are thankful for those who accept
the call to serve as club exec.
We're thankful that tonight they vow
to give their time for us from now
until next June. May their service
show each one bold with courage
As they steer our club to great heights
offer us strength and fine advice.
Thanks for those who made our meal,
to fuel us 'neath our Rotary wheel.


text:
How to Get Rid of MiceMice are a common rodent in North America, although they are found throughout the world. There are over 20 different types of mice, the most common being the white-footed mouse, the deer mouse and the field mouse. Although they are a popular pet, wild mice can be harmful home pests if not handled properly and have been known to damage gardens and crops, spread disease and causing structural damage. In these cases, knowing how to get rid of mice is often a necessity. Mice are one of the most adaptable mammals on the planet and are capable of surviving in a wide-range of environments from fields and wooded areas to urban centers. They are expert food scavengers and can eat a variety of plants and food scraps. Their small size also makes it easy for them to seek shelter in a variety of settings. Unfortunately, this means that mice are able to easily survive within your home as pests. Because mice are nocturnal, they are much more active during the nighttime, making it difficult to locate their nests. There are a variety of products on the market to help homeowners get rid of mice. These include a range of traps and repellent sprays which promise to assist in mouse extermination. Although these items can be effective, larger infestations often require professional mouse extermination services. If you have an infestation of mice, your home may be susceptible to damage. Mice have large front teeth that they use for chewing and often gnaw through furniture and electrical wires. They can also cause serious health problems with individuals who come in contact with them. Because they often live in unsanitary conditions, mice arevehicles to spread disease. Mice also carry parasites that are harmful to human health; additionally, their feces feature high levels of bacteria and can contaminate food sources.
Mice Control is a Serious Concern in Your Home!
- Mice frequently carry and transmit a wide variety of detrimental diseases, including Lyme disease, black plague, tapeworm, dermatitis and even hantavirus.
- Female mice continuously bear offspring, up to 6 to 8 litters per year.
- House mice can cause catastrophic home damage, including chewed-through expensive home electric systems and pricey appliances.


text:
I know professional CAD and 3D Graphic programs such as Solidworks, ProE, AutoCAD, 3D Studio Max, etc. can open and work with these.
What files do programs such as Google Sketchup, G-MAX, Blender, ect. import & export?
Craig did sent me a DXF file of his square nuts, but haven't had the time to try and open the files. I'll admit that in my 3D renderings I mostly use modern nuts and bolts, which have undersized heads when compared to fasteners of the 1870 - 1920 time period. The same goes for pipe fittings, I use models of the modern stuff.
Aaaaand one of the reasons I use modern nuts, bolts and pipe fittings is because they can be downloaded for free from McMaster Carr.
Another good free resource for modern pieces-parts is 3D Content Central.
Here are some standard parts I've modeled in 3D from real parts:
- Carter #3 Link & Pin Coupler
Draft Gear Cheek Block Castings
Carter #11 Stake Pocket
10ton / 15 ton Car Center Bearing
Box Car Truss Rod Washer Casting
Box Car Door Rail Support Castings - Carter / SPNG
Box Car Door Handle
Carter Truss Rod Bearing (King / Queen Post)
- 8ton Truck Center Bearing
10ton / 15ton Truck Center Bearing
10ton / 15ton Swing Motion Bolster Bearings
8ton / 10ton Journal Box Cover
15ton Journal Box Cover
15ton Swing Motion Bolster Straps
Brake Hanger Castings
24" Brake Head
24" Brake Shoe
A. Whitney & Sons 24" Wheel
- 3/4" Ogee Washer
1" Ogee Washer
Curtis F.


text:
Terms of Service
Entertainment Express 2.0 API Trial Evaluation Terms of Service ("Terms") govern use of the metadata (collectively, the "Data") and associated services (the "Services") made available by Internet Video Archive, LLC ("IVA") via the online portal located at https://developer.iva-api.com/ (the "Portal"). In order to access the Data and Services, you must register your employer through the Portal and affirmatively agree to these Terms on behalf of your employer (hereinafter referred to as "Affiliate"). If you do not agree to these Terms, please exit the Portal.
By using IVA's Data and Services you represent and warrant that you have read and agreed to these Terms of Service and that you have the legal authority to bind Affiliate to these Terms. You agree, on behalf of Affiliate, that acceptance of these Terms creates a legal agreement between IVA and Affiliate (this "Agreement").
IVA may amend or modify the terms of this Agreement in its sole discretion with or without notice to Affiliate. In the event of such amendment or modification, Affiliate agrees that any amended or modified terms supersede all prior versions of this Agreement, and that Affiliate shall be bound by such amended or modified terms.
Data Grant Subject to Affiliate's compliance with the Terms of this Agreement, and solely for the duration of the Term hereof, IVA hereby grants Affiliate a limited, non-exclusive, non-assignable, non-transferable, non-sublicensable, revocable grant to use the Data and Services, as provided by IVA to Affiliate in IVA's sole discretion, SOLELY FOR PURPOSES OF CONDUCTING INTERNAL EVALUATIONS AND TESTING OF THE DATA AND SERVICES. Affiliate may use the Data and Services only as expressly authorized in this paragraph. Any and all other uses of the Data and Services are strictly prohibited.
Access Requirements
Upon completion of registration, IVA shall make an access key ("Key") available to Affiliate through Affiliate's "Profile" section of the Portal. The Key will permit Affiliate to access a limited "public" API set, which shall be subject to query rate limits of 1/sec and 50/day. Affiliate may request, by contacting firstname.lastname@example.com , that IVA upgrade the Key to permit access to a larger "sample" API set. IVA shall grant or deny upgrade requests in its sole discretion.
Ownership by IVA
Affiliate acknowledges that IVA owns all proprietary rights in and to the Data and Services. Except as expressly provided in this Agreement, IVA does not grant Affiliate any rights in or to the Data or Services, or the related names and trademarks, including without limitation the content and proprietary systems used by IVA in connection with the Data and Services. Affiliate shall not, by virtue of this Agreement or by virtue of its access to the Data or Services, obtain any copyright or other proprietary right or interest in or to the Data or Services except the revocable rights specifically granted to Affiliate herein.
Third Party Data and Services
AFFILIATE acknowledges that use of third party supplied data and services are provided per the Terms of each data or service provider.
Term and Termination
The term of this Agreement (the "Term") shall begin on the date Affiliate accepts these Terms (the "Effective Date") and shall continue in full force and effect until the earlier of: (1) thirty (30) days following the date (if any) on which IVA upgrades Affiliate's Key to permit access to a larger "sample" API set; or (2) termination of this Agreement by IVA. IVA may terminate this Agreement, in whole or in part, at any time and for any reason, or for no reason, without notice or liability. In addition, IVA may at any time modify, suspend, discontinue or restrict Affiliate's access to the Data and Services for any reason or for no reason, without notice or liability.
> Upon termination of this Agreement: (i) all rights granted by IVA hereunder shall immediately terminate; (ii) Affiliate shall immediately cease to display, reproduce, retransmit or otherwise use any Data; (iii) Affiliate shall purge all Data from all of its on-line and off-line storage media, including cached data; (iv) Affiliate shall not use for any purpose thereafter any information included in or derived from the Data; and (v) Affiliate shall return to IVA any software or other materials provided by IVA hereunder.
Data Processing
IVA processes data for Clients and Client's end users. Client data collected includes personally identifiable information like email, name, billing address and is securely stored and can be deleted or updated by contacting us directly.
Client's end users data collected during video playback is non-user identifiable. IVA anonymizes the IP address before writing to disk and does not have access to and does not collect any other information not provided in the http request.
IVA collects raw logs from video service providers and is necessary for accurate billing of GB totals and not used for any other purpose. Raw logs are secure and purged after 60 days.
As per the GDPR, Client agrees that they are the Controller of their End user data and that IVA does not store and has no way to access end user data as the data is anonymized.
If IVA becomes aware of a security breach leading to the accidental or unlawful destruction, loss, alteration, unauthorized disclosure of, or access to, Client's Personal Data on our servers, we will notify Client via Client's registered email address, of the incident promptly and without undue delay, and take reasonable steps to minimize harm and secure Client's data. Client is responsible for providing a valid email address and ensuring their email address is current and valid. Our notification of or response to an incident will not be construed as an acknowledgement of any fault or liability with respect to the incident.
Updated May 23, 2018


text:
18W USB-C Power Adapter
The Apple 18W USB‑C Power Adapter offers fast, efficient charging at home, in the office or on the go. While the power adapter is compatible with any USB‑C-enabled device, Apple recommends pairing it with the 11-inch iPad Pro and 12.9-inch iPad Pro (3rd generation) for optimal charging performance. You can also pair it with iPhone 8 or later to take advantage of the fast-charging feature.
Charging cable sold separately.
What's in the Box
Apple 18W USB-C Power Adapter
Tech Specs
iPhone Models
- iPhone 11 Pro
- iPhone 11 Pro Max
- iPhone 11
- iPhone SE (2nd generation)
- iPhone XS
- iPhone XS Max
- iPhone XR
- iPhone X
- iPhone 8
- iPhone 8 Plus
iPad Models
- iPad Pro 12.9-inch (4th generation)
- iPad Pro 11-inch (2nd generation)
- iPad Air (3rd generation)
- iPad (7th generation)
- iPad mini (5th generation)
- iPad Pro 11-inch (1st generation)
- iPad Pro 12.9-inch (3rd generation)
- iPad Pro 10.5-inch
- iPad Pro 12.9-inch (2nd generation)
- iPad Pro 12.9-inch (1st generation)
Answers from the community
Can i use I phone x charger for charge iPhone 6s?
- Asked by Sarafath M from Sainthamaruthu15
- on Apr. 15, 2020
Yes you can since they both use Lightning.
- Answered by Niklas P from Hagen
- on Apr. 20, 2020
Can this Apple USB-C type, 18w charger work with Android phones like the Pixel 2 XL?
- Asked by Ariela L from Toronto
- on May 15, 2020
Can you use ( or is there a time advantage) to using the 18W charger on a iPad Air 3rd generation?
- Asked by Will R from Maynardville
- on Apr. 26, 2020
Can I use this to charge my USA iPad Pro while in the U.K?
- Asked by SHANE L from MASPETH
- on Apr. 24, 2020
Will this 18 watt charger work with iphone SE and will it charge any faster?
- Asked by Robin L from Taber
- on Sep. 11, 2019
It will work with the new SE.
- Answered by Oswald A from Durban
- on Apr. 28, 2020
Can you use apple 18watt charger to charger nintendo switch?
- Asked by Lamar S from cleveland
- on Feb. 14, 2020
I wouldn't - using any charger besides the official Nintendo licensed one have been known to brick N I wouldn't - using any charger besides the official Nintendo licensed one have been known to brick Nintendo switches since the 5.0 update, as the switch does not line up with current USB type C standards. As frustrating as it is, the only usable charger for the switch is the official one.
- Answered by Joshua S from Maple Park
- on Apr. 13, 2020


text:
THE DIFFERENCE IS ON THE INSIDE[stm_multy_separator]
Thank you for considering Lincoln Christian Academy in your search to provide care and education for your children. We know there are many options to choose from and are honored to have the opportunity to serve your family. We look forward to working side-by-side with you to see your child develop intellectually and grow in the knowledge and ways of the Lord.
All students are welcome regardless of race, national or ethnic origin, or religion. We are non-denominational. Our beliefs are clearly stated in our Parent/Student Handbook. Parents and students must be willing to support all school policies, rules of conduct, and clearly understand that Biblical Christianity is taught as an integral part of the curriculum.
Each student must have a genuine desire to attend LCA and must have left their previous school in good standing both academically and behaviorally. An interview with the Lincoln Christian Academy administrator will finalize registration.


text:
A story of bug fixing
9 April, 2016 § Leave a comment
I spent some time last night looking in to a bug in the Firefox preferences as part of the Outreachy internship I'm mentoring. This bug is about how the context menus in our preferences were squished horizontally compared to normal context menus. I've put screenshots of the two below so you can compare.
Looking at bug 1247214, I knew that context menus outside of the preferences looked fine but context menus in the preferences were broken. This meant I had something I could compare side-by-side when looking at the CSS.
I used the inspector and looked at the applied styles for a
xul:menuitem and compared them between the preferences and non-preferences. I was surprised to see that they were nearly identical, and what differed was inconsequential.
After walking up the DOM from the
xul:menuitem and seeing that the two instances were still nearly identical, I had to think of a different route. Somewhat by chance I realized/remembered that there were children nodes of the
xul:menuitem that could possibly be affected. In the Inspector I expanded the
xul:menuitem and looked at the rules for the
xul:label inside of it. Immediately I noticed that the
-moz-margin-start and
-moz-margin-end were being set to zero and the rule looked like it wasn't intended to affect context menus. Unsetting that rule fixed the bug.
So that describes how I found the issue with the bug. Figuring out a fix for it wouldn't be that difficult now. I also wanted to find what changeset introduced the bug so I could learn more about why it was there.
Using MXR, I pulled up the `hg blame` for the file and went to the offending line. Clicking on the revision number on the left of the line brings up some of the diff from the changeset. At the top of this new page, I clicked on "changeset" to see the full changeset. This unfortunately was a refactoring changeset and wasn't what actually introduced the offending lines. I then clicked on the parent changeset and based off of that revision found the file again and ran `hg blame` on it. Now the offending line was linked to the changeset that introduced the bug.
After reading through the bug that introduced the changeset I knew that I could safely make this change as the lines were never intended to alter context menus, and I also knew what to look for and test while making the change so I wouldn't regress the original bugfix.
All of this being said, I probably could have found this quite a bit faster by using a tool called mozregression. mozregression is a tool that will help you run a binary search on all of our nightly builds (continuous integration ones too). As you are likely already aware, binary search is very fast, letting mozregression help narrow down the day that the regression got introduced from a range of 10 years to a single day in about 7 builds.
If I had taken the mozregression route I probably could have saved myself about 45 minutes of debugging and digging around. But both routes work well, and sometimes I learn more from one than the other.
I know this write-up was long, but I hope it was valuable.
On volunteer and internship opportunities at Mozilla
29 December, 2014 § 2 Comments
About a month ago on a flight from Seattle to New York I met a lady who said that her son was studying computer science. I told her about the work that is being done at Mozilla and how we have a lot of opportunities for people who want to contribute to one of the world's largest open source software projects.
Today I got an email from her son asking about internship opportunities. Her son is just getting started in computer science and has yet to take his introductory courses in CS. There are many people that are in his position and I believe that they can still contribute to Mozilla and gain valuable experience for their future. Below is my response to him:
Hi ____,
Thanks for the email. It was a pleasure to meet your mother on the flight.
I would recommend that you spend time this summer, either the whole summer or a period within, as a volunteer contributor to Mozilla. Many of our interns and full-time employees contributed to Mozilla or other open source software projects before joining Mozilla. There are two major benefits for doing so: familiarity with the project and what type of work people do; and practicing the skills necessary to succeed during an internship or full-time role.
I understand that volunteering can present its own time and financial challenges as it is unpaid, but one of the benefits of volunteering is that the work can be done at your own pace and on your own schedule.
You can take a look at the following bugs if you would like to see what the type of work may look like:
As you contribute, more responsibilities will be given to you and you'll feel confident working on larger tasks.
Let me know if you are interested, and I will find some bugs that are available for you to fix.
That offer at the end of the email is not something that people can only get by bumping in to me while traveling. If you are reading this blog post and you would like to learn how you can contribute to Mozilla, please join the #introduction channel on irc.mozilla.org and ask how you can get started. Be patient however, it may take a couple hours to get a response from someone due to timezones and busy schedules.
We knew unicorns could bounce, but now they spin?!
2 September, 2014 § 7 Comments
One of the hidden features of Firefox 29 was a unicorn that bounced around the Firefox menu when it was emptied. The LA Times covered it in their list of five great features of Firefox 29.
Building on the fun, Firefox 32 (released today) will now spin the unicorn when you press the mouse down in the area that unicorn is bouncing.
The really cool thing about the unicorns movement, both bouncing and spinning, and coloring is that this is all completed using pure CSS. There is no Javascript triggering the animation, direction, or events.
The unicorn is shown when the menu's
:empty pseudo-class is true. The direction and speed of the movement is controlled via a CSS animation that moves the unicorn in the X- and Y-direction, with both moving at different speeds. On
:hover, the image of the unicorn gets swapped from grayscale to colorful. Finally,
:active triggers the spinning.
Animating and transitioning display:none elements
11 June, 2013 § 7 Comments
The current release of Firefox introduces a nice animation when opening and closing the Find bar. Upon opening the Find bar, the toolbar fades in and slides up. Exiting the toolbar will make it fade out and slide down.
As you may or may not know, the user interface for Firefox is implemented using XUL+HTML/CSS/JavaScript.
We use the XUL
hidden attribute, which is very similar to the HTML5
hidden attribute, to hide the Find bar when it is dismissed. The presence of the
hidden attribute sets
display:none on the referenced element. If you've ever played around with CSS Transitions or Animations, you've probably noticed that
display is not a transitionable property.
To maintain add-on compatibility, as well as code simplicity, we wanted to keep using the
hidden attribute. Doing so also allowed us to leave the JavaScript unchanged.
This poses a hard problem. If
display is not transitionable, how could we animate the behavior here? It turns out that
visibility is a transitionable property.
The various states of
visibility are atomic. There is no defined behavior for what should happen when an element transitions from
visibility:hidden to
visibility:visible or
visibility:collapse. However, we can use a zero second duration to make the change happen at the instant that we want.
This brings us to our solution:
findbar { transition-property: margin-bottom, opacity, visibility; transition-duration: 150ms, 150ms, 0s; transition-timing-function: ease-in-out, ease-in-out, linear; margin-bottom: 0; opacity: 1; } findbar[hidden] { /* Override display:none to make the transition work. */ display: -moz-box; visibility: collapse; margin-bottom: -1em; opacity: 0; transition-delay: 0s, 0s, 150ms; }
To explain how this works we'll start by looking at
findbar[hidden], since it's the default state for the Find bar.
When it is hidden, we will force it to be displayed (using
display:-moz-box, which is an internal-to-Gecko
display value, you could replace this with
display:block or
display:inline as needed). We then set
visibility to
collapse, which will effectively make the element invisible and also not consume any space (except for margins, which is important here). We then use a negative
margin-bottom to force the element to be placed just out of view of the browser window. Setting
opacity here is used to fade the element in and out. I'll describe the
transition-delay last.
When the Find bar is shown, we set
margin-bottom to zero which will slide the toolbar up. We also set
opacity to one which will make it fade in. The opposite happens in reverse when the Find bar is dismissed.
The key here is the
transition-delay that is set in the
findbar[hidden] case.
When the Find bar is hidden and transitions to being visible, we don't have a
transition-delay applied. This causes the
visibility to change immediately at the beginning of the animation. The Find bar becomes visible and then it slides and fades in to view.
When the Find bar is visible and transitions to being hidden, we delay changing the
visibility until the
margin and
opacity transitions have completed. Running the
visibility transition immediately in this case would cause the element to disappear instantly, which would ruin the animation.
That explains how I implemented the Find bar transition in Firefox without affecting themes or having to change JS. It's a pretty cool technique for showing and hiding elements, and has opened the doors to implementing some other types of animations in the Firefox user interface. Let me know what you think! 🙂
Update: I've been told by Frank Yan that this won't work on non-XUL content since
display:-moz-box is needed to get the
visibility:collapse to work as needed. Still a cool technique to see!
CSS tip: Creating an elliptical gradient in a square container
6 June, 2012 § Leave a comment
Creating an elliptical background gradient in a square container isn't the most straight-forward in CSS. This is simple to do if you can change the shape of the container, but requires using a separate CSS property to change the shape of the gradient.
To change the shape of the radial gradient, you can use the background-size property to change the bounding box of the background-image.
div { width: 200px; height: 200px; background-image: -moz-radial-gradient(center, closest-side, red, blue); background-color: violet; background-repeat: no-repeat; background-position: center; background-size: 100px 200px; }
See the page on background-size at MDN for more information.
Notes on Firefox development
27 June, 2011 § 2 Comments
Today marks the start of my third week at Mozilla. I'd like to mark this occasion with some things that I have learned that are pertinent to developing for Firefox.
When I submitted my first patch to Mozilla, I added a reviewer by appending r=reviewer to my patch. While this may say what you mean, it doesn't do what you mean.
To properly request a review, set
?in Bugzilla when you are adding an attachment. This will properly email the reviewer so they can become aware of the request.
make -s -C objdir
Running a clean build of Firefox can take about 25-30 minutes, while an incremental build can still take about 2 minutes. This is clearly not conducive to an iterative-style of coding.
To make builds faster, you only need to rebuild the parts that have changed. To do this, simply run
make -s -C objdir, where
objdiris the parent directory within the object directory of the code that you have changed. It may be necessary to also re-link if native code has changed.
-moz-appearance: none
This was the first XUL gotcha that I ran into. I bumped in to this as I was working on bug 598169 and trying to make a XUL:textbox styleable.
Many XUL elements use OS-dependent styling, and if you want to apply styles to them then you will have to turn off the default styling.
-moz-apperance: nonedoes just that.
hg qpush –move patch
Many of the developers at Mozilla use the
mqextension for Mercurial.
mqis a tool that allows you to keep all of your changesets in separate queues. This makes it easier to work on different patches in parallel.
Most work can be done with three of the
hg qnew,
hg qpush, and
hg qpop.
A normal
hg qpush patchwill push the current patch as well as all preceding patches on the tip, whereas
hg qpush --move patchallows a user to push just the single patch on the tip.
If you're working on Windows, Firefox can take a while to build when using the standard
make -f client.mk. Fortunately, there exists a tool that makes your builds run a lot faster by taking advantage of the multiple cores on your system.
python -O "..\build\pymake\make.py" -s -j12will build Firefox with 12 concurrent compilations. I chose 12 because it is 1.5x the number of threads on my system. :dolske ran some benchmarks to find the optimal
-jsetting and advised me on the 1.5x multiplier.
You can learn more about pymake on the Mozilla development website.


text:
*The 50% discount is offered for all e-books and e-journals purchased on IGI Global's Online Bookstore. E-books and e-journals are hosted on IGI Global's InfoSci® platform and available for PDF and/or ePUB download on a perpetual or subscription basis. This discount cannot be combined with any other discount or promotional offer. Offer expires June 30, 2020.
We live in the age of information where information is available in various forms such as text, image, audio, and video. Information has been an integral part of our lives. Accurate information is the need of the day for important planning and decision making. Whether manual or machine generated, information plays an important role in our lives and is required for each and every work of our daily lives. There are numerous sources of producing these forms of information. Due to the increase in the number of devices producing these forms of information, it has become practically difficult to manage large volumes of information manually. Hence, there is a need to design such systems which are useful in organization of such forms of information. Such systems are needed so that it is easier for us to get the relevant information whenever and wherever we desire. In other words, we can say that we need some information retrieval systems to search for relevant information in large database. The term information retrieval refers to the arrangement, storage, indexing of useful information in the form of large database (Yates & Neto, 2011). Information retrieval systems facilitate the users to access useful and relevant information from large database. The introduction of World Wide Web (WWW) made the field of information retrieval more interesting. Huge amount of information about every field is available on WWW. After the invention of WWW, large amount of data started getting submitted by all the users of the web around the world. The universal platform has provided users to share data with other users without much constraint. A document submitted by a user gets linked with other documents and is shared among other users. This further increases the amount of information on the web. WWW has given the opportunity to the users to access and share huge amount of information. Add to this, the social networking sites have become one of the largest platforms of data sharing. This has attracted attention of millions of users who are keen on accessing and sharing information. All these platforms have proved to be a big centre of data repository where huge amount of information, of any kind, is available. However, presence of huge amount of information has certain disadvantages. Large number of documents get replicated which further increase the size of web documents. Large amount of unprocessed data creates problems as searching for useful information becomes a difficult task. These problems have caught the attention of computer scientists around the world to develop new and efficient techniques of searching and retrieval of useful information. Searching information from the web is not an easy task. If a user wants to search about anything, he/she has to be very specific about the keywords defining his/her search clearly. Long sentences of simple English fail to retrieve what the user is trying to search. The search criteria have to be clearly defined by the user in order to look for desired information. In other words, the user has to translate his/her information needs into well-defined query understood by the system. The clear definition of query determines the success of information retrieval. An information retrieval system usually finds the information which already exists in the system. The user has to analyze the information according to his/her needs. A user may need to find structured or unstructured information. A user may either get vague or exact information. Depending upon the type of information, a user may proceed with the retrieved information or may further extract useful information from the retrieved one. As mentioned above, information exists in various forms and so there are different types of information retrieval systems for different types of information. One such form of information is image which is one of the most popular forms among all other forms of information. Image finds use in almost all modern applications varying from professional to personal.


text:
Imagine a Hot Chocolate in a fine porcelain white cup: it's the classic image of a cold winter, when you are at home, being snug. A real pleasure, especially with a whipped cream topping... :-P
There are many recipe for the preparation of Hot Chocolate with Thermomix. Today my proposal is A Hot Chocolate in Cup (in Italian) by Paola of Anice e Cannella.
As Paola rightly says, the hot chocolate mixture is also a great gift idea, a very original idea. Really, has anyone ever made a gift like hot chocolate mixture for Christmas?
Imagine it in a pretty glass jar, with a colourful ribbon bow, directions for presentation written in a lovely way. Sweet in every sense, isn't it?
So, if you want to do a Christmas gift that is chocolate to the nth power, this recipe I'm going to give you is perfect. Otherwise you can make it for yourself and use it when you fancy chocolate. Sometimes we need to cuddle ourself and satisfy a whim.
Compared to Paola's recipe, I changed quantities and I added a spoon of cinnamon. I love cinnamon and, as I already said for the Apple Pie, it creates a Christmas flavour.
With this mixture you can prepare the same hot chocolate as those ones made in bars! I couldn't believe it...!
The only problem I found is that I would make hot chocolate every single afternoon...!
Mix Ingredients
(about 12 cups)
- 200 g of Dark Chocolate from 55% to 65%
- 150 g of Unsweetened Cocoa Powder
- 70 g of Brown Sugar
- 160 g of White Sugar
- 250 g of Potato Starch
- 1 Spoon of Cinnamon
How to Prepare Hot Chocolate Mix
Put Brown and White Sugar in the Thermomix bowl. 20 Sec. Speed Turbo.
Add chocolate in pieces. 20 Sec. Speed Turbo.
This step is really delicate. You must check the consistency after 10 Sec. and then do the other 10 Sec. Chocolate will melt if you mix too much.
Consistency must be that of a powder, it must be dry.
Add the other ingredients. Blend 15 Sec. Speed 6.
Put it all in a hermetic glass jar.
Place in a fresh and dry place.
How to prepare a cup of Hot Chocolate
Put 40 g of the mix in the Thermomix mixing bowl (about 3 spoons).
Add 180 g of milk. 3 Min. 80°C Speed 4.
Other recipes for the preparation of Hot Chocolate with Thermomix
How to prepare Hot Chocolate without Thermomix
Translated from the Italian recipe:
Cioccolata Calda col Bimby