text:
Better Tracking System in "My Account Settings"
Short, concise description of the idea
Better tracking by sorting them into Folders and having the option of being notified when a track is no longer avalible due to a change such as a renamed tag, deleted post, etc.
Full description of the idea
Being someone who tracks a great deal of entries and journals, it would be wonderful if we had the option to organize what we track into folders or something of the like. And also being notified once a track is no longer working due to the user renaming or deleting a tag would also be a great help. That way I can go back to that post or journal and update what I want to track.
- Better way to go and find a tag/post/journal that I want to un-track or change.
- Being informed when a track is no longer working and therefore able to update it.
- "My Account Settings" page will load faster when not bogged down by so many subscription tracks that need to load.
- Honestly can't think of any drawbacks.


text:
While the promise of genomic research may one day eliminate inherited genetic mutations, provide revolutionary cures to dreaded diseases and usher in an era of highly personalized health care, there's a flip side: As science closes in on deciphering the very blueprint of life, critics fear unprecedented legal and ethical concerns.
Should we be manipulating human evolution? Have we seen an end to privacy? Will we create a new era of discrimination?
In this interactive, The Globe and Mail investigates the promises and the risks of baring your genetic soul for science.

subset: commoncrawl


text:
My old computer. Kidding. Sort of.
Many of you know I've moved my office recently. It was originally in a little secretary desk. Everything was neatly tucked away in baskets and boxes within the top hutch and then, on the actual desktop, pure mayhem. No matter what I did I couldn't keep the seemingly endless pile of papers organized. Granted, in a 2 by 2 foot space a magazine, a few postcards and a bill or two will make the surface look dreadful. To compound matters my computer was grinding to a slow and painful death and we knew that a new computer meant a desktop, not a laptop, because economically it is the only logical choice...and no "real" computer will fit in the secretary desk. Hrmm.
So, we hauled the massive old teachers desk out of our basement and all the way upstairs. I say "we" like I did something here, don't I? In reality my husband and our friendly neighbor did the heavy lifting. I did the mental acrobatics required to pick a paint color though. Phew, I'm spent!
So much for a "before" picture - Em dove right into the painting!
When I say teacher's desk I do mean exactly that. I found it when walking down an alley towards our apartment one evening and promptly sat on it, called Em and told him to come help me. It was cold, began to rain, and seemed to weigh somewhere in the range of a million pounds. Somehow though we got it down the alley, up the three flights of stairs, through the apartment and into a sunny room where Em worked from home. We found old graded tests in the drawers - an art teacher had owned it. So fitting.
Getting there...drawer pulls are so last year, no?
When we moved to our first house the desk came with but went into the basement where it became home to a record player, a computer, and a wild assortment of craft-related paraphernalia. We vowed to never move it again, not after the first perilous experience...which is why, of course, it inevitably moved all the way up to the top floor of the house and into my new office.
For the longest time Em and I were in disagreement about painting wood furniture - I like the painted look, he didn't. I don't know what changed but somehow we both agreed that painting the old desk was a good choice - thank goodness because I am positively smitten with the new color, the new desk, and the new space!
But, it's not quite done. I'll show you everything when it is but for now I have piles upon piles of things to put away. Boxes of papers, books and magazines dot the periphery of the room and though I'm excited to be in the new space I'm lacking in the energy department. It's easy to get overwhelmed with cleaning when it feels like it never ends. It is also easy to feel like you've not gotten a single thing accomplished (though I did make 32 scones today - they'll be gone in a week if the kid and husband have anything to do with it). I've been staying up too late working on paying projects - but not cleaning and organizing my new office, writing letters or blog entries, and otherwise checking things off my list. I'm tired!
We have a bunch of these bushel baskets - got them off a curb and,
if I do say, they look pretty divine all painted up to match the desk.
Also, the only empty basket in the house right now.
if I do say, they look pretty divine all painted up to match the desk.
Also, the only empty basket in the house right now.
I've been wanting to write a blog entry to what feels like ages now. I prepared a free download only to become too busy with other projects to post it or the Sunday supper recipe I wanted to have accompany it. That's ok.
Measure by measure, step by step, task by task it will all get done.
And interestingly enough the free download I have for you is exactly that - a measurement chart, a conversion chart for cooking. So measure by measure you too can get things done - be that a fanciful cake or a simple snack.
We have a conversion chart posted in our kitchen - a popular but incredibly useful print from the masterminds at Hatch Show Print (one of the oldest letterpress shops in America). I use it nearly every day. Seriously. I can't tell you how useful it is to know that three teaspoons are in a tablespoon!
Image via: Hatch Show Print - purchase here
So, without further ado, the free download I've prepared for you, my friends. Just click on the image/preview below or go here to download
Hopefully you'll find this little chart useful - please enjoy and let me know what you think! Share it with your friends or family as well - it's free for everyone!
Now that the pantry is clean (anyone need 6 boxes of matzos?), the re-branding sent off (to rave reviews so far), and the desk nearly 99% complete I hope to be back on top of the game soon. Task by task, measure by measure, right?
Hope you're all having a great week so far! Enjoy!
P.S. A very happy birthday to my dear friend Andrea. She's a delight and quite sassy - I'm sure you would all love her. She baked her own birthday cake this week and I would not be surprised in the least if she put a banner across the top that says "I am fabulous!", which, really, she is. I'll be sending her a bluntcard later, because I'm a bit sassy too sometimes.


text:
In order to be well-prepared for your workers' compensation case, it is important that you become acquainted with some of the terminology that is commonly used throughout these cases. Being informed and having a skilled attorney on your side are… Read More
Archive for April, 2015
A Guide to Basic Workers' Compensation TermsThursday, April 30th, 2015
What Qualifies as a Compensable Injury?Thursday, April 23rd, 2015
For employees who have suffered from an on-the-job injury, establishing whether or not it is considered a compensable injury is essential for their workers' compensation case. An injury that qualifies as "compensable" has a specific definition; you and your workers'… Read More
Seeking Medical Treatment After a Car AccidentFriday, April 17th, 2015
The aftermath of a car accident can be a confusing and overwhelming time. You know that you need to get in touch with your attorney, to file a report with a police, and to exchange insurance information with the other… Read More
Tips for Filing a Workers' Comp Claim in VirginiaFriday, April 3rd, 2015
After being injured on the job, you may not know what to do next. Navigating the workers' compensation system on your own can present a number of challenges. We recommend that you seek help from an experienced and qualified workers'… Read More
Workers' Compensation Hearings Can Be StressfulWednesday, April 1st, 2015
By W. James Nicoll Throughout my years of practicing workers' compensation law in the state of Maryland, I have found that many clients find testifying at a hearing before the Workers' Compensation Commission to be a stressful ordeal. Generally,… Read More


text:
Trump, us and reaching out
By Pastor Rasheed Z. Baaith
Dr. Ben Carson believes it really doesn't matter how Trump is reaching out to Black people and other people of color as long as he reaches out. I can't decide if that is ignorance or madness. And how can he be reaching out to us by talking about us to other people not like us?
Nor do I believe that you touch people's hearts by insulting them and diminishing their achievements. Trump and those who surround him are obviously unstudied people. Anyone who has researched the history of Black people in this country knows that we have defeated tremendous odds just to survive up to this point in America's history.
It is not an overstatement or hyperbole to say no other people on the planet have done what we have done with so many odds against them or with so much institutionalized opposition. We are very much aware of what we don't have and why we don't have it. The statistics about our schools, our families, and the lack of opportunities are not just numbers on paper for us; they are realities we live each day.
He can bemoan and insult the Democratic Party all he wants.
While it is true that the Democrats have come short on too many occasions, it is equaly true that all of the political progress we have made for the past 50 years has for the most part, been done through the aegis of the Democrats.
Where have Trump and the Republicans been in the last 20 years?
They have been playing ethnic politics or pretending that every Black mother with children was on welfare or every major university has declined because of affirmative action.
Or they have been promising after every Presidential election to broaden the "tent" of the Republican Party and then not doing so.
It's not that people of color are not welcome into the Republican Party, they just have to be a particular kind of Black person or Hispanic or Asian. They have to be the kind of person willing to ignore the overtly racist statement of party officials and candidates; or they have to be willing to be the person who sees nothing but bad in their particular ethnic group. In other words they have to wear political blinders and ear plugs. Like Dr. Ben Carson.
It is not my intent to give the Democrats a pass. But it is my intent to say that if there had been no Barack Obama, there would have been no Michael Steele as National Chairman of the Republican Party; if no Lyndon Johnson, then no Civil Rights Bill; no Democratic Party, then no Black President. And all of those Dixiecrats who opposed civil rights legislation and progress for Black people left the Democrats for the Republicans.
No, it has never been a perfect political world for people of color but while the modern Republican Party watched the deterioration of our schools, the destruction of our cities, the disintegration of our families, the Democrats tried to do something to alleviate those conditions. The efforts may have been short sighted, ineffective at times even counterproductive but they at least tried. The Republicans didn't. They always had an "us versus them" mentality. We see that mentality in Donald Trump.
"Your schools, your youth, your jobs. What do you have to lose?" Ours because of desertion by everyone else. What do we have to lose? Just all of the little bit we've died to gain. Nothing less. Just think about it.


text:
Ben BrownManaging Partner, Real Estate
Ben Brown is a Managing Partner in Brookfield's Real Estate Group. He joined Brookfield in 2010 and has held various roles including leading acquisitions and dispositions for the office property business in New York and in London. He is currently responsible for the commercial operations, including acquisition and disposition activities, for the office business in New York and Boston.
Prior to joining Brookfield, Mr. Brown spent time in Boston, Florida and New York with the New Boston Fund, Sovereign Bank and Thor Equities. Ben holds a Bachelor of Science Degree in Business Administration in Finance from Northeastern University.Back to Leadership


text:
Working Exploits
- 1 Hardware Exploits
- 2 WebKit/Userland Exploits
- 2.1 FW 6.00-6.72 - bad_hoist exploit (CVE-2018-4386)
- 2.2 FW 6.00-6.20 - JSArray::shiftCountWithArrayStorage() OOB RW (CVE-2018-4441)
- 2.3 FW 6.00-?6.20? - JSC::arrayProtoPrivateFuncConcatMemcpy() Information Leak (CVE-2018-4358)
- 2.4 FW 4.50-5.56 - JSGlobalObject::haveABadTime() Type Confusion (CVE-2017-7005)
- 2.5 FW 5.05 - Document::adoptNode UaF (only crash for now)
- 2.7 FW 4.50-5.01 - Element::setAttributeNodeNS UAF
- 2.8 FW 3.15-4.07 - Stack Uninitialized Read UAF
- 2.9 FW 3.15-3.70 - JSArray::sortCompactedVector() Heap UAF
- 2.10 FW <= 3.50 - WebCore::TimerBase::heapPopMin Heap UAF (only crash for now)
- 2.11 FW <= 2.03-? - WebCore::ImageInputType::attach Heap UaF (CVE-2013-2857)
- 2.12 FW <= 1.76 - JSArray::sort() Heap Overflow (CVE-2012-3748, PSA 2013-0903-1)
- 3 Userland securities
- 3.1 Userland ASLR
- 3.2 Module imports table cleaned before execution
- 3.4 JiT removed from webbrowser
- 3.5 Syscalls removed
- 3.6 Syscall 0 disabled i.e Error Kernel: The application directly issues a syscall instruction (24)
- 3.7 bpf_write function stripped out of the kernel
- 3.8 bpf_open function blocked for unprivileged processes
- 3.9 bpf_ioctl function blocked or removed
- 3.10 Device access blocked/removed from webbrowser
- 4 Kernel Exploits
- 4.1 FW <= 7.02 - IPV6_2292PKTOPTIONS UaF (yielding arbitrary kernel R/W)
- 4.2 FW <= 5.07 - BPF Race Condition (Yielding Double Free())
- 4.3 FW <= 4.55 - BPF Race Condition (Yielding UaF)
- 4.4 FW <= 6.00 ?6.02? - sys_getcontext Information Leak (kASLR defeat)
- 4.5 FW <= 4.07 - sys_thr_get_ucontext Information Leak (kASLR defeat)
- 4.6 FW <= 4.05 - NamedObj Type Confusion (Yielding UaF)
- 4.7 FW <= 1.76 - dlclose Kernel Heap Overflow
- 4.8 FW <= 1.76 - BadIRET
- 5 Kernel securities
Hardware Exploits
PCIe man-in-the-middle attack
- First done on 1.01 by failoverflow on PS4 launch !
- Detailed at 33c3: 33c3 slides by Marcan
- Permits kernel and userland dumping
syscon glitching
It is possible to glitch the syscon debug interface to allow access and dump keys. Originally done by an anonymous member of fail0verflow.
Aeolia/Belize SCA/DPA
Aeolia side channel analysis with differential power analysis has been shown to be able to recover key material on all PS4 models. Since Sony never used private/public key pairs, it is possible to exploit this and gain complete control over the southbridge. You can attack the main FreeBSD kernel from here.
WebKit/Userland Exploits
FW 6.00-6.72 - bad_hoist exploit (CVE-2018-4386)
- Lokihardt (from Google Project Zer0) for the exploit PoC (Sep 13, 2018)
- Fire30 for turning the vulnerability into exploit for PS4 (Dec 30, 2019)
- sleirsgoevy for attempting to stabilize the PS4 exploit with a new implementation (Feb 23, 2020)
- https://bugs.chromium.org/p/project-zero/issues/detail?id=1665
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-4386
- https://packetstormsecurity.com/files/155871/Sony-Playstation-4-Webkit-Code-Execution.html
- https://twitter.com/Fire30_/status/1211775229116211200
Bug Description
WebKit: JSC: BytecodeGenerator::hoistSloppyModeFunctionIfNecessary doesn't invalidate the ForInContext object.
It is possible to craft Javascript in such a way that allows for an object to be passed as the property variable directly as a string to the op_get_direct_pname handler without being properly validated.
This is a Type Confusion exploit.
Exploit Implementation
Yes in 7.00 FW
FW 6.00-6.20 - JSArray::shiftCountWithArrayStorage() OOB RW (CVE-2018-4441)
- Lokihardt (from Google Project Zer0) for the exploit PoC (Oct 3, 2018)
- Specter for the rewriting for PS4 (Mar 8, 2019)
- St4rk for helping Specter
- Bug report by Lokihardt (Oct 3, 2018)
- WebKit fix commit (Oct 15, 2018)
- Announce of incoming write-up by rkmylo and buherator/stratan/@5tratan, Meligra Team (Feb 25, 2019)
- Write-up by Nytro, Meligra Team (Feb 27, 2019)
Bug Description
We would take the fast path for JSArray::shiftCountWithArrayStorage when the array hasHoles(). However, the code for this was wrong. It would incorrectly update ArrayStorage::m_numValuesInVector.
Exploit Implementation
Yes in 6.50 FW
FW 6.00-?6.20? - JSC::arrayProtoPrivateFuncConcatMemcpy() Information Leak (CVE-2018-4358)
- bkth, niklasb and saelo (from phoenhex Team) for the exploit PoC in Safari (Sep 26, 2018)
- Vultra for discovering that the exploit worked since FW 6.00 (Dec 10, 2018)
- https://github.com/WebKit/webkit/commit/b68b373dcbfbc68682ceeca8292c5c0051472071
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-4358
- https://phoenhex.re/2018-09-26/safari-array-concat
Bug Description
Exploit Implementation
Yes in 6.50/1 FW
Works on 6.00-6.20. Not working on PS4 FWs <= 5.56 because JSC (JavaScriptCore) was too old.
FW 4.50-5.56 - JSGlobalObject::haveABadTime() Type Confusion (CVE-2017-7005)
- Lokihardt (from Google Project Zer0) for the exploit PoC (Mar 20, 2017)
- ALEXZZZ9 for the first PS4 implementation (on 5.01), and at same time for burning the exploit (Feb 20, 2018)
- qwertyoruiop for rewriting and porting to 5.05 and 5.50
Bug Description
When JSGlobalObject::haveABadTime() is called with arrays of a different JSGlobalObject type, type confusion can occur, leading to memory corruption.
Exploit Implementation
Yes in 6.00 FW
FW 5.05 - Document::adoptNode UaF (only crash for now)
- Lokihardt (from Google Project Zer0) for the exploit PoC (Jan 23, 2017)
- CelesteBlue for testing on PS4 and PSVita
- exploit report by Lokihardt (Jan 23, 2017)
- mitre report
- exploitDB report
- related bug (Oct 8, 2015)
- Test on PSVita FW 3.60 by CelesteBlue (May 9, 2020)
- Test on PS4 FW 5.05 by CelesteBlue (Aug 20, 2020)
Bug Description
Exploit Implementation
Maybe in ?6.00? FW.
It crashes the webbrowser. Maybe that means that it's working.
FW 4.50-5.01 - Element::setAttributeNodeNS UAF
- Lokihardt (from Google Project Zer0) for the exploit PoC (Mar 15, 2017)
- qwertyoruiop for the PS4 exploit (October 2017)
- Specter for the writeup (May 27, 2018)
- exploit report by Lokihardt (Mar 15, 2017)
- First test on PS4 by WildCard (Oct 16, 2017)
- Specter's setAttributeNodeNS Exploit Writeup
Bug Description
By forcing setAttributeInternal() to call setAttributeNodeNS() twice, an attribute node reference will be added twice to the list. When one is free()'d, the second attribute still contains a duplicate stale reference, leading to a use-after-free (UAF) scenario.
Exploit Implementation
PS4 5.05 WebKit + Kernel Exploit
Yes in 5.03 FW.
FW 3.15-4.07 - Stack Uninitialized Read UAF
- qwertyoruiop for the exploit
- Specter for the writeup
Bug Description
Via a specially crafted valueOf() function of an arguments.length() function, non-zero indexes of the stack-allocated array are not initialized, leading to a stack uninitialized read. This can be abused to store a reference that can later be re-obtained post-GC (garbage collection) yielding a use-after-free() (UAF) situation.
Exploit Implementation
Yes in 4.50 FW
Works on 3.15-4.07. Not working on <=3.11.
FW 3.15-3.70 - JSArray::sortCompactedVector() Heap UAF
- xyz for the original exploit on PSVita (HENkaku)
- Fire30 for porting to PS4
- Specter for improved PS4 playground
Bug Description
When attempting to update a vector via sortCompactedVector() - data is written based on a pointer, though the pointer isn't re-updated nor nulled. When this memory in free()'d, the reference is maintained and thus memory corruption can occur.
Exploit Implementation
- PSVita 3.60 webkit exploit by xyz
- PS4 playground 3.15-3.70 by Fire30
- Improved PS4 playground 3.15-3.70 by Specter
Yes in 4.0?0? FW
Works on 3.15-3.70. Not working on <= 3.11. Maybe working on 4.00.
FW <= 3.50 - WebCore::TimerBase::heapPopMin Heap UAF (only crash for now)
- https://github.com/WebKit/webkit/commit/98845d940e30529098eea7e496af02e14301c704
- https://xz.aliyun.com/t/292
Bug Description
"As of firmware version 3.55 a patch has been included to prevent a use-after-free segmentation fault from being exploited. This could have led to a ROP chain and code execution. It would have been cool if someone would have done some real research on it..."
Exploit Implementation
- Article about qwertyoruiop's tests (20-05-2016)
- Article about initial PoC for PS4 (21-05-2016)
- Initial PoC for PS4 (21-05-2016)
- iOS 9.3.2 WebKit RCE via heapPopMin (07-2016)
- qwertyoruiop's tweet (22-07-2016)
- mirror of iOS 9.3.2 WebKit RCE via heapPopMin
Yes in 3.55 FW
Works on 3.15, 3.50 FW.
FW <= 2.03-? - WebCore::ImageInputType::attach Heap UaF (CVE-2013-2857)
- Chromium bugs reporters
- JumpCallPop, jam1garner, hedgeberg for inital exploit on Wii U
- yellows8 for ROP on Wii U
- orboditilt for increasing stability on Wii U
- CelesteBlue for testing on PS4 FW 2.03
Bug Description
Use-after-free with input type image. Error event was fired synchronously blowing away the input element from underneath.
Exploit Implementation
- Initial Wii U implementation
- Wii U stabler implementation (last update May 22, 2018)
- Wii U tabler implementation (last update Jan 13, 2019)
- Wii U stabler implementation by Hiperhazz (last update May 26, 2020)
Yes in ? FW
- Working on 2.03 FW. Might work on 2.04 (99% sure as 2.04 PUP is about same size as 2.03 PUP).
FW <= 1.76 - JSArray::sort() Heap Overflow (CVE-2012-3748, PSA 2013-0903-1)
- Vitaliy Toropov for the exploit on Mac OS X Safari (September 4, 2013)
- nas and Proxima for the first PS4 POC on 1.76 PS4 (Oct. 23, 2014)
- sony for patching the exploit in FW 2.00 (Oct 27, 2014)
- CTurt for the rewriting (PS4 1.76 PlayGround) and implementation with his 1.76 kexploit (December 6, 2015) [3]
Bug Description
By forcing the compare function to reduce the size of the array, trailing items will be written out of bounds (OOB write), leading to heap memory corruption.
Exploit Implementation
- first POC for 1.76 PS4 by nas and Proxima
- mirror
- live test
- livetest2
- PS4 playground 1.76 by CTurt
- PSVita 2.00-3.20 webkit exploit
Yes in 2.00 FW
- Working on 1.01-1.76 FW.
Userland securities
Userland ASLR
- Very old firmwares (<= 1.05) don't have ASLR enabled, but it was introduced sometime before firmware 1.70. "Address Space Layout Randomization" (ASLR) is a security technique which causes the base addresses of modules to be different every time you start the PS4.
- To defeat userland ASLR on FWs >=1.70, we can use the module imports table to find other modules address once we know SceWebkit2 address.
Module imports table cleaned before execution
- Between 1.76 and 4.05, Sony did that to prevent webkit exploiters from defeating userland ASLR easily.
- Now we have to dump entire userland sandboxed memory, and by studying it we can defeat ASLR:
1. Chose a function (ex: __stack_chk_fail) imported from LibKernel by SceWebkit2 2. Read pointer contained at the address where the call is done 3. Substract to this pointer the offset of the function (ex: __stack_chk_fail) in LibKernel module 4. This result is LibKernel base address. This method works for any imported module.
- "Data Execution Prevention" / "No eXecute" is enabled on all firmwares. It prevents allocating memory as both RW and RX at same time (RWX) so preventing us from writing shellcode to userland memory then executing it.
- 2 ways to bypass this security: JiT vulnerability (FW <= 1.76) or ROP (all FWs).
JiT removed from webbrowser
- On FW <= 1.76, you could map RWX memory from ROP by abusing the JiT functionality and the sys_jitshm_create and sys_jitshm_alias system calls. This however was fixed after 1.76, as WebKit has been split into two processes. One handles javascript compilation and the other handles other web page elements like image rendering and DOM. The second process will request JiT memory upon hitting JavaScript via IPC (Inter-Process Communication). Since we no longer have access to the process responsible for JiT, we can no longer (at least currently), map RWX memory for proper code execution unless the kernel is patched.
- Workaround is to use ROP.
Syscalls removed
Syscall 0 disabled i.e Error Kernel: The application directly issues a syscall instruction (24)
- Between 2.00 and 2.57, SCE has removed system call 0, so we can no longer call any syscall we want by specifying the call number in the rax register.
- Doing so now crashes the app and gives error CE-34878-0, SCE_KERNEL_ABORT_REASON_SYSTEM_ILLEGAL_FUNCTION_CALL, with the message "Kernel: The application directly issues a syscall instruction (24)".
- We now have to use wrappers provided to us from the libkernel / libkernel_web / libkernel_sys modules to access system calls.
bpf_write function stripped out of the kernel
- On 4.70, bpfwrite() was stripped out of the kernel entirely to patch kernel vulnerability exploited in 4.55 kexploit.
bpf_open function blocked for unprivileged processes
- On 5.50, opening BPF has been blocked for unprivileged processes such as WebKit and other apps/games. It's still present in the sandbox, however attempting to open it will fail and yield EPERM. This aims blocking BPF kernel exploits especially qwertyoruiop's BPF double free UAF.
bpf_ioctl function blocked or removed
- Moreover, on FW 5.50+, opening BPF is still possible in less sandboxed apps like test/devkits fselfs. But this is useless because ioctl doesn't work.
Device access blocked/removed from webbrowser
- Around 6.50-6.70, device access got blocked or removed. Now you can no longer access devices from webbrowser
Kernel Exploits
FW <= 7.02 - IPV6_2292PKTOPTIONS UaF (yielding arbitrary kernel R/W)
Bug Description
Due to missing locks in option IPV6_2292PKTOPTIONS of setsockopt, it is possible to race and free the struct ip6_pktopts buffer, while it is being handled by ip6_setpktopt. This structure contains pointers (ip6po_pktinfo) that can be hijacked to obtain arbitrary kernel R/W primitives. As a consequence, it is easy to have kernel code execution. This vulnerability is reachable from WebKit sandbox and is available in the latest FW, that is 7.02.
Exploit Implementation
- TheFloW's PoC for FreeBSD 9 and 12
- PS4 6.72 WebKit + Kernel Exploit implementation by sleirsgoevy
- PS4 5.05-6.72 WebKit + Kernel Exploit implementation by ChendoChap
Yes in 7.50 FW
FW <= 5.07 - BPF Race Condition (Yielding Double Free())
Specter's Writeup of the 5.05 BPF Race Condition
Bug Description
Due to improper locking, two threads can enter the BPF SETWF ioctl command handler. While the bug is similar to that of 4.55, the method of attack is slightly different. Since write() was removed for BPF in 4.70, instead of triggering a use-after-free with write() - SETWF is ran in parallel via threading. Eventually, both calls will copy the same pointer to the stack, leading to both threads free()'ing the same pointer, poisoning the freelist. This can later be leveraged via heap spraying to corrupt heap memory to obtain arbitrary code execution in supervisor mode (ring0).
Exploit Implementation
Yes in 5.50 FW
FW <= 4.55 - BPF Race Condition (Yielding UaF)
Specter's Writeup of the 4.55 BPF Race Condition
Bug Description
Due to improper locking, two threads can enter the BPF ioctl command handlers for setting a new write filter (SETWF) and setting a filter (SETIF). Both threads will reference the same pointer. In specially crafted situations, one thread could free() this pointer while the other thread executes it as a filter post-validation. This allows an unprivileged user to obtain an out-of-bounds (OOB) write on the stack, leading to arbitrary code execution in supervisor mode (ring0).
Exploit Implementation
PS4 4.55 WebKit + Kernel Exploit
PS4 4.55 WebKit + Kernel Exploit Source
Yes in 4.70 FW
FW <= 6.00 ?6.02? - sys_getcontext Information Leak (kASLR defeat)
- https://www.cvedetails.com/cve/CVE-2018-17155/
- coming soon by CelesteBlue
Bug Description
System call 421 or sys_getcontext() initializes the structure pointed at by ucp to the currently active context. The vulnerability is, some areas of memory copied out are not initialized, and thus the function leaks memory at certain spots. This vector was patched in 6.20, as now before the buffer is used it is initialized to 0 via bzero().
Exploit Implementation
- QuickHEN by CelesteBlue (v2 not released yet)
- KitHEN by CelesteBlue (not released yet)
Yes somewhere between 6.00 and 6.20 FW
FW <= 4.07 - sys_thr_get_ucontext Information Leak (kASLR defeat)
Bug Description
System call 634 or sys_thr_get_ucontext() allows to obtain information on a given thread. The vulnerability is, some areas of memory copied out are not initialized, and thus the function leaks memory at certain spots. This vector was patched in 4.50, as now before the buffer is used it is initialized to 0 via bzero().
Exploit Implementation
PS4 4.05 WebKit + Kernel Exploit
Yes in 4.50 FW
FW <= 4.05 - NamedObj Type Confusion (Yielding UaF)
- Chaitlin Tech for having been the first to show they had pwned PS4 FW 4.01 at Geekpwn convention. (2016-10-24)
official video, tweet 1, tweet 2, tweet 3 (2016-10-25)
- fail0verflow for the first writeup (2017-10-19)
- Specter for rewriting the exploit using a different object, and releasing it publicly (2017-12-27)
- fail0verflow's writeup on the 1.01-4.05 namedobj kernel exploit (2017-10-19)
- Specter's first writeup (2017-10-20)
- Specter's writeup on his 4.05 implementation (2017-12-28)
Bug Description
Type confusion in the namedobj system once exploited can lead to an arbitrary free() allowing an attacker to craft a use-after-free() (UAF) situation to corrupt kernel memory. This can be leveraged to eventually obtain an arbitrary code execution primitive in supervisor mode (ring0).
Exploit Implementation
PS4 4.05 WebKit + Kernel Exploit
Yes in 4.06 FW
Works on FWs 4.00-4.05. On <=3.70 FW we haven't found a way to leak the target object, but it might be doable as F0F did it on 1.01.
FW <= 1.76 - dlclose Kernel Heap Overflow
- Discovered by CTurt. Privately implemented thanks to qwertyoruiop. CTurt published a writeup then the exploit was publicly implemented by kR105 and on another side by Zer0xFF and Bigboss (psxdev).
Analysis of sys_dynlib_prepare_dlclose PS4 kernel heap overflow (by CTurt with the help of qwertyoruiop)
Bug Description
Integer overflow in the sys_dynlib_prepare_dlclose() system call can lead to a heap overflow causing memory corruption, allowing an attacker to obtain code execution in supervisor mode (ring0).
Exploit Implementation
Yes in 2.00 FW
FW <= 1.76 - BadIRET
- Ported from FreeBSD 9 to PS4 by CTurt.
Hacking the PS4, part 3 - Kernel exploitation (by CTurt)
NVD Bug Description
Bug Description
Faults associated with the stack segment (SS) register are not handled properly, allowing unprivileged users to trigger an IRET instruction that accesses a GS Base from userland memory, providing an attacker with a method of privilege escalation.
Yes in 2.00 FW
Kernel securities
Kernel ASLR
- Since 3.50 FW, ASLR (Address Space Layout Randomization) has been enabled in PS4 kernel.
- This means that to properly exploit the kernel to escalate privileges, an information disclosure vulnerability will most likely be needed to defeat ASLR and locate the kernel in memory.
Kernel SMAP
- In 5.0x FW and above, "Supervisor Mode Access Prevention" (SMAP), a new custom mitigation was added to the kernel to prevent exploiters from pivoting the kernel stack pointer into userland memory (attempting to do so would crash the system).
- A new exploitation strategy is needed to run kernel ROP chains, such as qwertyoruiop method used in the 5.05 BPF kernel exploit:
We need to get our ROP chain into kernel memory. To do this, qwertyoruiop decided to go with the method he used on the iPhone 7 - essentially using JOP to push a bunch of stack frames onto the kernel stack, and memcpy()'ing the chain into RSP.


text:
Ceph users frequently request simple, optimized cluster configurations for different workload types. Common requests are for throughput-optimized and capacity-optimized workloads, but IOPS-intensive workloads on Ceph are also emerging. Based on extensive testing by Red Hat with a variety of hardware providers, this document provides general performance, capacity, and sizing guidance. The companion "Red Hat Ceph Storage Hardware Selection Guide" provides sample hardware configurations sized to specific workloads. In-depth performance and sizing guides for Red Hat® Ceph Storage are also available for key hardware vendors.INTRODUCTION
Storage infrastructure is undergoing tremendous change, particularly as organizations deploy storage to support big data and private clouds. Traditional scale-up arrays are limited in scalability, and complexity can compromise cost-effectiveness. In contrast, software-defined storage infrastructure based on clustered storage servers has emerged as a way to deploy cost-effective and manageable storage at scale, with Ceph among the leading solutions. In fact, cloud storage companies are already using Ceph at near exabyte scale, with expected continual growth. For example, Yahoo estimates that their Ceph-based cloud object store will grow 20-25% annually.
Red Hat Ceph Storage significantly lowers the cost of storing enterprise data and helps organizations manage exponential data growth. The software is a robust, petabyte-scale storage platform for those deploying public or private clouds. As a modern storage system for cloud deployments, Red Hat Ceph Storage offers mature interfaces for enterprise block and object storage, making it well suited for active archive, rich media, and cloud infrastructure workloads like OpenStack®. Delivered in a unified self-healing and self-managing platform with no single point of failure, Red Hat Ceph Storage handles data management so businesses can focus on improving application availability, with properties that include:
- Scaling to exabytes
- No single point of failure in the cluster
- Lower capital expenses (CapEx) by running on commodity server hardware
- Lower operational expenses (OpEx) by self-managing and self-healing
Many organizations are trying to understand how to configure hardware for optimized Ceph clusters that meet their unique needs. Red Hat Ceph Storage is able to run on myriad diverse industry-standard hardware configurations, but designing a successful Ceph cluster requires careful analysis of issues related to application, capacity, workload. The ability to address dramatically different kinds of I/O workloads within a single Ceph cluster makes understanding these issues paramount to a successful deployment.
After extensive performance and server scalability evaluation and testing with many vendors, Red Hat has developed a proven methodology that helps ask and answer key questions that lead to properly sized and configured scale-out storage clusters based on Red Hat Ceph Storage. Described in greater detail in this guide, the methodology includes:
- Qualifying the need for scale-out storage
- Identifying target workload I/O profiles
- Choosing a storage access method
- Identifying capacity
- Determining fault domain risk tolerance
- Selecting a data protection method
A Ceph storage cluster is built from large numbers of Ceph nodes for scalability, fault-tolerance, and performance. Each node is based on commodity hardware and uses intelligent Ceph daemons that communicate with each other to:
- Store and retrieve data
- Replicate data
- Monitor and report on cluster health Redistribute data dynamically (remap and backfill)
- Ensure data integrity (scrubbing)
- Detect and recover from faults and failures
To the Ceph client interface that reads and writes data, a Ceph storage cluster looks like a simple pool where data is stored. However, the storage cluster performs many complex operations in a manner that is completely transparent to the client interface. Ceph clients and Ceph object storage daemons (Ceph OSD daemons, or OSDs) both use the CRUSH (controlled replication under scalable hashing) algorithm for storage and retrieval of objects.
For a Ceph client, the storage cluster is very simple. When a Ceph client reads or writes data (referred to as an I/O context), it connects to a logical storage pool in the Ceph cluster. Figure 1 illustrates the overall Ceph architecture, with concepts that are described in the sections that follow.
- Pools. A Ceph storage cluster stores data objects in logical dynamic partitions called pools. Pools can be created for particular data types, such as for block devices, object gateways, or simply to separate user groups. The Ceph pool configuration dictates the number of object replicas and the number of placement groups (PGs) in the pool. Ceph storage pools can be either replicated or erasure coded, as appropriate for the application and cost model. Additionally, pools can "take root" at any position in the CRUSH hierarchy, allowing placement on groups of servers with differing performance characteristics—allowing storage to be optimized for different workloads.
- Placement groups. Ceph maps objects to placement groups (PGs). PGs are shards or fragments of a logical object pool that are composed of a group of Ceph OSD daemons that are in a peering relationship. Placement groups provide a means of creating replication or erasure coding groups of coarser granularity than on a per object basis. A larger number of placement groups (e.g., 200 per OSD or more) leads to better balancing.
- CRUSH ruleset. The CRUSH algorithm provides controlled, scalable, and declustered placement of replicated or erasure-coded data within Ceph and determines how to store and retrieve data by computing data storage locations. CRUSH empowers Ceph clients to communicate with OSDs directly, rather than through a centralized server or broker. By determining a method of storing and retrieving data by algorithm, Ceph avoids a single point of failure, a performance bottleneck, and a physical limit to scalability.
- Ceph monitors (MONs). Before Ceph clients can read or write data, they must contact a Ceph MON to obtain the current cluster map. A Ceph storage cluster can operate with a single monitor, but this introduces a single point of failure. For added reliability and fault tolerance, Ceph supports an odd number of monitors in a quorum (typically three or five for small to mid-sized clusters). Consensus among various monitor instances ensures consistent knowledge about the state of the cluster.
- Ceph OSD daemons. In a Ceph cluster, Ceph OSD daemons store data and handle data replication, recovery, backfilling, and rebalancing. They also provide some cluster state information to Ceph monitors by checking other Ceph OSD daemons with a heartbeat mechanism. A Ceph storage cluster configured to keep three replicas of every object requires a minimum of three Ceph OSD daemons, two of which need to be operational to successfully process write requests. Ceph OSD daemons roughly correspond to a file system on a physical hard disk drive.
Despite the flexibility of Ceph, no one cluster or pool configuration fits all applications or situations. Instead, successful configuration of a Ceph cluster requires answering key questions about how the cluster will be used and the applications it will serve.
Not every storage situation calls for scale-out storage. When requirements include several of the following needs, scale-out storage is likely the best solution.
- Dynamic storage provisioning. By dynamically provisioning capacity from a pool of storage, organizations are typically building a private storage cloud, emulating services such as Amazon Simple Storage Service (S3) for object storage or Amazon Elastic Block Store (EBS).
- Standard storage servers. Scale-out storage employs storage clusters built from industry-standard x86 servers rather than proprietary storage appliances, allowing incremental growth of storage capacity and/or performance without forklift appliance upgrades.
- Unified name spaces. Scale-out storage allows pooling storage across tens, hundreds, or even thousands of storage servers in one or more unified namespaces.
- High data availability. Scale-out storage provides high-availability of data across what would otherwise be "server storage islands" within the storage cluster.
- Independent scalability of performance and capacity. Unlike typical scale-up NAS and SAN devices which frequently run out of performance before running out of capacity, scale-out storage allows organizations to add storage performance or capacity incrementally by independently adding more storage servers or disks as required.
Accommodating the target workload I/O profile is perhaps the most crucial design consideration. As a first approximation, organizations need to understand if they are simply deploying low-cost archive storage or if their storage needs to meet specific performance requirements. For performance-oriented Ceph clusters, IOPS, throughput, and latency requirements must be clearly defined. On the other hand, if the lowest cost per terabyte is the overriding need, a Ceph cluster architecture can be designed at dramatically lower costs. For example, Ceph object archives with erasure-coded pools and without dedicated SSD write journals can be dramatically lower in cost than Ceph block devices on 3x-replicated pools with dedicated flash write journals.
If needs are more performance-oriented, IOPS and throughput are often taken into consideration. Historically, Ceph has performed very well with high-throughput workloads, and has been widely deployed for these use cases. Use cases are frequently characterized by large-block, asynchronous, sequential I/O (e.g., digital media performance nodes). In contrast, high IOPS workloads are frequently characterized by small-block synchronous random I/O (e.g., 4 KB random I/O). At present, the use of Ceph for high IOPS open source database workloads is emerging (e.g., MySQL, MariaDB, and PostgreSQL). Moreover, when Ceph is deployed as Cinder block storage for OpenStack virtual machine (VM) instances, it typically serves a mix of IOPs- and throughput-intensive I/O patterns.
Additionally, understanding the workload read/write mix can affect architecture design decisions. For example, erasure-coded pools can perform better than replicated pools for sequential writes, and worse than replicated pools for sequential reads. As a result, a write-mostly object archive workload (like video surveillance archival) may perform similarly between erasure-coded pools and replicated pools, with erasure-coded pools being significantly less expensive.
To simplify configuration and testing choices and help structure optimized cluster configurations, Red Hat categorizes workload profiles as:
- IOPS-optimized clusters
- Throughput-optimized clusters
- Cost/capacity-optimized clusters
Table 1 provides the criteria used to identify optimal Red Hat Ceph Storage cluster configurations, their properties, and example uses. These categories are provided as general guidelines for hardware purchase and configuration decisions, and can be adjusted to satisfy unique workload blend. As the workload mix varies from organization to organization, actual hardware configurations chosen will vary.
As discussed, a single Ceph cluster can be configured to have a multiple pools to serve different workloads. For example, OSDs on IOPS-optimized servers can be configured into a pool serving MySQL workloads, while OSDs on throughput-optimized servers can be configured into a pool serving digital media performance workloads.
Lowest cost per IOPS
Highest IOPS
Meets minimum fault domain recommendation (single server is less than or equal to 10% of the cluster)
Typically block storage
3x replication (HDD) or 2x replication (SSD)
MySQL on OpenStack clouds
Lowest cost per given unit of throughput
Highest throughput
Highest throughput per BTU
Highest throughput per watt
Meets minimum fault domain recommendation (single server is less than or equal to 10% of the cluster)
Block or object storage
3x replication
Active performance storage for video, audio, and images
Streaming media
Lowest cost per TB
Lowest BTU per TB
Lowest watt per TB
Meets minimum fault domain recommendation (single server is less than or equal to 15% of the cluster)
Typically object storage
Erasure coding common for maximizing usable capacity
Object archive
Video, audio, and image object archive repositories
Choosing a storage access method is an important design consideration. As discussed, all data in Ceph is stored in pools—regardless of data type. The data itself is stored in the form of objects via the RADOS layer (Figure 2) which:
- Avoids a single point of failure
- Provides data consistency and reliability
- Enables data replication and migration
- Offers automatic fault detection and recovery
Writing and reading data in a Ceph storage cluster is accomplished using the Ceph client architecture. Ceph clients differ from competitive offerings in how they present data storage interfaces. A wide range of access methods are supported, including:
- RADOSGW is a bucket-based object storage gateway service with S3 compatible and OpenStack Swift compatible RESTful interfaces.
- LIBRADOS provides direct access to RADOS with libraries for most programming languages, including C, C++, Java™, Python, Ruby, and PHP.
- RBD offers a Ceph block storage device that mounts like a physical storage drive for use by both physical and virtual systems (with a Linux® kernel driver, KVM/QEMU storage backend, or user-space libraries).
Storage access method and data protection method (discussed later in this document) are interrelated. For example, Ceph block storage is currently only supported on replicated pools, while Ceph object storage is supported on either erasure-coded or replicated pools. The cost of replicated architectures is categorically more expensive than that of erasure-coded architectures due to the significant difference in media costs. Note that while CephFS distributed file storage is not yet supported on Red Hat Ceph Storage as of this writing, file systems are routinely created on top of Ceph block devices.
Identifying storage capacity may seem trivial, but it can have a distinct effect on the chosen target server architecture. In particular, storage capacity must be weighed in concert with considerations such as fault domain risk tolerance. For example, if an organization is designing a small, half-petabyte cluster, minimum server fault domain recommendations will preclude the use of ultra-dense storage servers in the architecture. Doing so avoids unacceptable fault domain risk on a small number of very large nodes. Table 2 lists broad server sizing trends, with typical types of servers categorized by both workload optimization and overall cluster size.
Servers with 2-4x PCIe/NVMe slots
Servers with 8-12x 2.5-inch SSD bays (SAS/SATA)
Servers with 2-4x PCIe/NVMe slots
Servers with 8-12x 2.5-inch SSD bays (SAS/SATA)
|Servers with 12-16x 3.5-inch drive bays
|Servers with 12-16x 3.5-inch drive bays
|Servers with 24-36x 3.5-inch drive bays
|Servers with 24-36x 3.5-inch drive bays
|Servers with 12-16x 3.5-inch drive bays
|Servers with 12-16x 3.5-inch drive bays
|Servers with 24-36x 3.5-inch drive bays
|Servers with 60-72x 3.5-inch drive bays
It may be tempting to deploy the largest servers possible in the interest of economics. However, production environments need to provide reliability and availability for the applications they serve, and this necessity extends to the scale-out storage upon which they depend. The fault domain that a single OSD server represents is key to cluster design, so dense servers should be reserved for multi-petabyte clusters where the capacity of an individual server accounts for less than 10-15% of the total cluster capacity. This recommendation may be relaxed for less critical pilot projects. Primary factors for weighing fault domain risks include:
- Reserving capacity for self-healing. When a storage node fails, Ceph self-healing begins after a configured time period. The unused storage capacity of the surviving cluster nodes must be greater than the used capacity of the failed server for successful self-healing. For example, in a 10-node cluster, each node should reserve 10% unused capacity for self-healing of a failed node (in addition to reserving 10% for statistical deviation due to using algorithmic placement). As a result, each node in a cluster should operate at less than 80% of total capacity.
- Accommodating impact on performance. During self-healing, a percentage of cluster throughput capacity will be diverted to reconstituting object copies from the failed node on the surviving nodes. The percentage of cluster performance degradation is a function of the number of nodes in the cluster and how Ceph is configured. More nodes in the cluster results in less impact per node.
Ceph will automatically recover by re-replicating the data from the failed node using secondary copies on other nodes in the cluster. As a result, a node failure has several effects:
- Total cluster capacity is reduced by some fraction.
- Total cluster throughput is reduced by some fraction.
- The cluster enters an I/O-heavy recovery process, temporarily diverting an additional fraction of the available throughput.
The recovery process time is directly proportional to how much data was on the failed node and how much throughput the rest of the cluster can sustain. A general guide for calculating recovery time in a Ceph cluster given one disk per OSD is:
Recovery time seconds = (disk capacity in gigabits / network speed) / (nodes - 1)
For example, if a 2 TB OSD node fails in a 10-node cluster with a 10 Gb Ethernet back-end, it takes approximately three minutes for the Ceph cluster to recover with 100% of the network bandwidth and no CPU overhead. In reality, using 20% of the available 10-Gb network, it takes approximately 15 minutes to recover. With a 4 TB drive, that time will double.
Red Hat recommends the following minimum cluster sizes:
- Supported minimum cluster size: Three storage (OSD) servers, suitable for use cases with higher risk tolerance for performance degradation during recovery from node failure
- Recommended minimum cluster size (IOPS- and throughput-optimized cluster): 10 storage (OSD) servers
- Recommended minimum cluster size (cost/capacity-optimized cluster): 7 storage (OSD) servers
There are other considerations related to fault domain risk. Ceph replicates objects across multiple nodes in a storage cluster to provide data redundancy and higher data availability. When designing a cluster, it is important to ask these questions:
- Should the replicated node be in the same rack or multiple racks to avoid a single rack failure?
- Should the Ceph OSD traffic stay within the rack or span across racks in a dedicated or shared network?
- Are the application servers in the rack or datacenter proximate to the storage nodes? How many concurrent node failures can be tolerated?
- Automatic, intelligent placement of object replicas across server, rack, row, and datacenter fault domains can be governed by CRUSH ruleset configuration parameters.
As a design decision, choosing the data protection method can affect the solution's total cost of ownership (TCO) more than any other factor. This is because the chosen data protection method strongly affects the amount of raw storage capacity that must be purchased to yield the desired amount of usable storage capacity. Applications have diverse needs for performance and availability. As a result, Ceph provides data protection at the storage pool level.
- Replicated storage pools. Replication makes full copies of stored objects, and is ideal for quick recovery. In a replicated storage pool, Ceph configuration defaults to a replication factor of three, involving a primary OSD and two secondary OSDs. If two of the three OSDs in a placement group become unavailable, data may be read, but write operations are suspended until at least two OSDs are operational.
- Erasure-coded storage pools. Erasure coding provides a single copy of data plus parity, and it is useful for archive storage and cost-effective durability and availability. With erasure coding, storage pool objects are divided into chunks using the n=k+m notation, where k is the number data chunks that are created, m is the number of coding chunks that will be created to provide data protection, and n is the total number of chunks placed by CRUSH after the erasure coding process.
Ceph block storage is typically configured with 3x replicated pools and is currently not supported directly on erasure-coded pools. Ceph object storage is supported on either replicated or erasure-coded pools. Depending upon the performance needs and read/write mix of an object storage workload, an erasure-coded pool can provide an extremely cost effective solution while meeting performance requirements.
Figure 3 illustrates the relationships among Ceph storage pools, PGs, and OSDs for both replicated and erasure-coded pools. For more information on Ceph architecture, see the Ceph documentation at docs.ceph.com/docs/master/architecture/.
The sections that follow provide broad guidelines for the selection of both monitor nodes and OSD hosts. Actual configuration of OSD servers can vary based on application and workload optimization.
The Ceph monitor is a datastore for the health of the entire cluster, and contains the cluster log. A minimum of three monitors are strongly recommended for a cluster quorum in production. Monitor nodes typically have fairly modest CPU and memory requirements. A 1 rack unit (1U) server with a low-cost CPU (such as an Intel Xeon processor E5-2603), 16GB of RAM, and Gigabit Ethernet (GbE) networking should suffice in most cases. Since logs are stored on local disk(s) on the monitor node, it is important to make sure that sufficient disk space is provisioned. The monitor store should be placed on an SSD, because the leveldb store can become I/O bound.
For example, when monitoring 100 OSDs in a healthy Ceph cluster, each monitor will collect data for the 100 OSDs until all the monitors are synchronized with the same Ceph cluster information. The size of the datastore can vary, but 200 MB up to 1 or 2 GB are to be expected, depending not only on the size of the cluster, but the state change (churn) that the cluster undergoes. The logs for recovering clusters can grow quickly to over 100 GB. Abnormal monitor datastore growth should be investigated by an operator, as there is usually an underlying condition that should be remedied. Log rotation is a good practice to guarantee that available disk space is not blindly consumed. This is particularly true if verbose debugging output is set on the monitors, since they will generate a large amount of logging information. Refer to Ceph documentation on monitor log settings for additional details. In most situations, monitors should be run on distinct nodes or on virtual machines residing on physically separate machines to prevent a single point of failure.
Ceph OSD hosts are configured differently depending on both workload optimization and the data devices installed (HDDs, SSDs, or NVMe devices).
CPU specifications
CPU recommendations for OSD hosts differ depending on the media that is employed.
- For HDD-based OSDs, one core-GHz is recommended for each OSD. Therefore, 16 HDD-based OSDs can be supported with an 8-core 2.0GHz processor. Certain CPUs may also have custom features, such as SIMD instructions that can dramatically improve throughput in some situations.
- For NVMe-based OSDs, five core-GHz is recommended for each OSD. As such, if four OSDs are configured on a single NVMe device, a 10-core 2.0GHz processor is recommended to drive the OSDs for that single NVMe device.
Memory specifications
Red Hat typically recommends a baseline of 16 GB of RAM, with an additional 2 GB of RAM per OSD. When sizing memory requirements, it is important to consider:
- The number of OSDs per node
- The number of memory banks available
- The number of memory channels per bank
- The cost of DIMMs
Data devices
OSDs and OSD data drives are independently configurable with Ceph and OSD performance is naturally dependent on the throughput and latency of the underlying media. The actual number of OSDs configured per OSD drive depends on the type of OSD media configured on the OSD host. When using magnetic storage media, one OSD should be configured per HDD. On the other hand, an IOPSoptimized OSD host with a smaller number of high-speed SSDs might be configured with two to four OSDs per SSD to exploit the available I/O bandwidth.
Ceph uses a journal to allow it to create atomic updates, which are required to ensure data consistency. An OSD writes the data payload and metadata to a write journal before writing to the OSD's data partition. A beneficial side-effect of write journaling may be some coalescing of small writes. For performance-optimized clusters, journals are typically located on a partition of a faster media type than the OSD media. For example, a throughput-optimized OSD server typically has HDD-based OSDs, and a dedicated write journal based on an SSD.
The suggested ratio between HDD-OSDs and flash write journals are:
- Four to five HDD-OSDs for each SATA/SAS SSD journal
- 12-18 HDD-OSDs for each NVMe journal
To help decrease cost for cost/capacity-optimized clusters, journals can be co-located with OSDs on the same HDD via partitions. The OSD writes to the journal first and then copies to the OSD data partition. A write is acknowledged to the client after all OSD peers in the placement group (replicated or erasure-coded pools) have successfully written their assigned replica or shard to their write journal.
Storage Media
Performance and economics for Ceph clusters both depend heavily on an effective choice of storage media. For throughput and capacity-archive optimized clusters, magnetic media currently accounts for the bulk of the deployed storage capacity. Additionally, for throughput-optimized configurations, solid-state storage media are typically used for Ceph write journaling. For capacity-archive configurations, write journaling is co-resident on the HDDs.
- Magnetic media. Enterprise-, or cloud-class HDDs should be used for Ceph clusters. Desktop-class disk drives are not well suited for Ceph deployments, as they lack sufficient rotational vibration compensation for high density, high duty-cycle applications and use cases. When dozens (or hundreds) of rotating HDDs are installed in close proximity, rotational vibration quickly becomes a challenge. Failures, errors, and even overall cluster performance can be adversely affected by the rotation of neighboring disks interfering with the rapidly spinning platters in high density storage enclosures. Enterprise-class HDDs contain higher quality bearings and RV Compensation circuitry to mitigate these issues in multi-spindle applications and use cases—especially in densities above four to six HDDs in a single enclosure. Both SAS and SATA interface types are acceptable.
- Solid state media (currently flash). Ceph is strongly consistent storage, so every write to the Ceph cluster must be written to Ceph journals before the write is acknowledged to the client. The data remain in the journal until all replicas or shards are acknowledged as fully written. Only then will the next write happen. With SSD journals, the OSDs are able to write faster, reducing the time before a write acknowledgment is sent to the client. In some cases, several small writes can be coalesced during a single journal flush, which can also improve performance.
Key criteria to consider when selecting solid state media for Ceph include:
- Classification. Consumer-class SSDs should not be used; only enterprise-class SSDs should be deployed with Ceph.
- Endurance. Write endurance is important as Ceph write journals are heavily used and could exceed recommended program/erase cycles of an SSD rated with lower endurance. Current popular choices include devices rated at greater than 10 device writes per day (DWPD) for 5 years, translating to a lifetime total of 28 petabytes written (PBW).
- Power fail protection. Supercapacitors for power fail protection are vital. In the event of a power failure, supercapacitors must be properly sized to allow the drive to persist all in-flight writes to non-volatile NAND storage.
- Performance. For Ceph write journaling, the write throughput rating of the journal device should exceed the aggregate write throughput rating of all underlying OSD devices that are served by that journal device.
I/O controllers
Servers with either JBOD host bus adapters (HBAs) or RAID controllers can be appropriate for OSD hosts, depending on the workload and application expectations. The performance of RAID controllers varies based on the chipset and the system enclosure they are integrated into. Most vendors have standardized on specific controller chips and either package these chips on their own branded controllers or use the chip manufacturers' controller board. For example, at the time of this writing many RAID controllers are based upon the LSI 3108 chipset.
For large block sequential I/O workload patterns, HDDs typically perform better when configured in JBOD mode. For small block random I/O patterns, configuring HDDs as single-drive RAID 0 volumes via a RAID controller with protected write-back cache can provide optimal results. Ensure that disk caches are disabled, as some RAID controllers do not do this by default.
Many modern systems that house more than eight drives have SAS expander chips on the drive hotswap backplane. Similar to network switches, SAS expanders, often allow connection of many SAS devices to a controller with a limited number of SAS lanes. Ceph node configurations with SAS expanders are well suited for large capacity-optimized clusters. However, when selecting hardware with SAS expanders, consider the impact of:
- Adding extra latency
- Oversubscribed SAS lanes
- STP overhead of tunneling SATA over SAS
Because of backplane oversubscription or poor design, some servers used for Ceph deployments have encountered sub-par performance in systems that use SAS expanders, although it is not universally the case. The type of controller, expander, and even brand of drive and firmware all play a part in determining performance.
Network interfaces
Providing sufficient network bandwidth is essential for an effective and performant Ceph cluster. Fortunately, network technology is improving rapidly with standard Ethernet-based interfaces available with ever-increasing bandwidth. In servers employed as OSD hosts, network capacity should generally relate to storage capacity. For smaller OSD hosts with 12-16 drive bays, 10 Gigabit Ethernet is typically sufficient. For larger OSD hosts with 24-72 drive bays, 40 Gigabit Ethernet may be preferred to provide the required bandwidth and throughput.
Physical deployment characteristics must also be taken into account. If the nodes are spread across multiple racks in the datacenter, then the network design should ensure high bisectional bandwidth, and minimal network diameter. Ideally, each OSD server should have two network interfaces for data traffic—one connected to the client systems, and one for the private network connecting the OSD servers.
Taking all of these considerations into account, Table 3 provides general guidance for configuring OSD hosts for Red Hat Ceph Storage.
Ceph RBD (block) pools
Either: OSDs on four SAS/SATA SSDs with one NVMe SSD write journal; or OSDs on 1-4 NVMe SSDs, with journals co-located on each device*
20 CPU core-GHz per NVMe SSD with four OSDs per device
6 CPU core-GHz per SATA/SAS SSD with two OSDs per device
Data protection: Replication (2x on SSD-based OSDs) with regular backups to the object storage pool
2-4 OSDs per SSD or NVMe drive
Ceph RBD (block) pools
Either: OSDs on four SAS/SATA SSDs with one NVMe SSD write journal; or OSDs on 1-4 NVMe SSDs, with journals co-located on each device*
20 CPU core-GHz per NVMe SSD with four OSDs per device
6 CPU core-GHz per SATA/SAS SSD with two OSDs per device
Data protection: Replication (2x on SSD-based OSDs) with regular backups to the object storage pool
2-4 OSDs per SSD or NVMe drive
Ceph RBD (block) or Ceph RGW (object) pools
OSDs on HDDs with dedicated write journals (4-5:1 ratio of HDDs with SSDs, or 12-18:1 ratio of HDDs with NVMe)
One CPU core-GHz per OSD
Mid-bin, dual-socket CPU (single-socket adequate for servers <= 12 OSDs) (e.g. Intel Xeon E5-2630 v3 for 12 HDD OSDs, and dual Intel Xeon E5-2650 v3 for 36 HDD OSDs) Data protection: Replication (read-intensive or mixed read/write) or erasurecoded (write-intensive)
High-bandwidth networking, greater than 10 GbE for servers with more than 12-16 drives
Ceph RBD (block) or Ceph RGW (object) pools
OSDs on HDDs with dedicated write journals (4-5:1 ratio of HDDs with SSDs, or 12-18:1 ratio of HDDs with NVMe)
One CPU core-GHz per OSD
Mid-bin, dual-socket CPU (single-socket adequate for servers <= 12 OSDs) (e.g. Intel Xeon E5-2630 v3 for 12 HDD OSDs, and dual Intel Xeon E5-2650 v3 for 36 HDD OSDs) Data protection: Replication (read-intensive or mixed read/write) or erasurecoded (write-intensive)
High-bandwidth networking, greater than 10 GbE for servers with more than 12-16 drives
Ceph RBD (block) or Ceph RGW (object) pools
OSDs on HDDs with dedicated write journals (4-5:1 ratio of HDDs with SSDs, or 12-18:1 ratio of HDDs with NVMe)
One CPU core-GHz per OSD
Mid-bin, dual-socket CPU (single-socket adequate for servers <= 12 OSDs) (e.g. Intel Xeon E5-2630 v3 for 12 HDD OSDs, and dual Intel Xeon E5-2650 v3 for 36 HDD OSDs) Data protection: Replication (read-intensive or mixed read/write) or erasurecoded (write-intensive)
High-bandwidth networking, greater than 10 GbE for servers with more than 12-16 drives
Ceph RBD (block) or Ceph RGW (object) pools
OSDs on HDDs with dedicated write journals (4-5:1 ratio of HDDs with SSDs, or 12-18:1 ratio of HDDs with NVMe)
One CPU core-GHz per OSD
Mid-bin, dual-socket CPU (single-socket adequate for servers <= 12 OSDs) (e.g. Intel Xeon E5-2630 v3 for 12 HDD OSDs, and dual Intel Xeon E5-2650 v3 for 36 HDD OSDs) Data protection: Replication (read-intensive or mixed read/write) or erasurecoded (write-intensive)
High-bandwidth networking, greater than 10 GbE for servers with more than 12-16 drives
Ceph RGW (object) pools
OSD HDDs with Ceph write journals co-located on HDDs
Mid-bin, dual-socket CPU (single-socket adequate for servers <= 12 OSDs)
Data protection: Erasure-coded
Ceph RGW (object) pools
OSD HDDs with Ceph write journals co-located on HDDs
Mid-bin, dual-socket CPU (single-socket adequate for servers <= 12 OSDs)
Data protection: Erasure-coded
Ceph RGW (object) pools
OSD HDDs with Ceph write journals co-located on HDDs
Mid-bin, dual-socket CPU (single-socket adequate for servers <= 12 OSDs)
Data protection: Erasure-coded
* All SSDs should be enterprise-class, meeting the requirements noted above.CONCLUSION
Selecting the right hardware for target workloads can be a challenge, and this is especially true for software-defined storage solutions like Ceph, that run on commodity hardware. Because every environment differs, the general guidelines for sizing CPU, memory, and disk per node in this document should be mapped to a preferred vendor's product portfolio for determining appropriate server hardware. Additionally, the guidelines and best practices highlighted in this document are not a substitute for running baseline benchmarks before going into production.
Red Hat has conducted extensive testing with a number of vendors who supply hardware optimized for Ceph workloads. For specific information on selecting servers for running Red Hat Ceph Storage, please refer to the tested configurations documented in the "Red Hat Ceph Storage Hardware Selection Guide." Detailed information and Red Hat Ceph Storage test results can be found in performance and sizing guides for popular hardware vendors.


text:
Wow! What an awesome and exciting tour this has been! Did you miss a fun interview or guest post with Desiree Williams or book reviews of Illusionary?
No worries! Below is a short recap of the lively interviews and other fun features (with links).
First up, a really fun interview between J.M. Hackman and Desiree that was priceless! Very fun fact Desiree shared about herself and name inspiration for one of her characters. "Interview with Desiree Williams and Giveaway"
Many thanks to author Rachel Lopez for the sweet spotlight of Illusionary!
Writer Jebraun Clifford had this to say about "The Irresistible & Amazing World of Illusionary in her book review.
The imaginary Land of Ur was also well-developed. I had no problem imagining it's forests, castles, Jolly Harbor, and other places (don't want to give away too much!) because of all the descriptions that kept my mind spinning.
Book blogger Britta Neal at Indie Book Reviews wrote a fun review of Illusionary as well!
I read a lot of good books. This one though. Just wow. My mind is blown. I'm in love with the story, the characters the writing. All of it.
A very encouraging and fun interview with Desiree over on Bookworm Mama's blog. What kind of secret powers does she have? (Hint: She has the shirt to prove it.) "Illusionary Blog Tour + Giveaway – Desiree Williams"
Many thanks to author Mandy Fender for the lovely spotlight on her blog, Christian Book News!
Do you like the story Peter Pan? Zerina Blossom's Books shares how much she enjoyed this "hidden gem" by Desiree! "Book Tour, Review, Giveaway: Illusionary"
I loved this imaginitave retelling of Peter Pan! It had me laughing and swooning and wishing I could be there in real life. I have to read another of the author's books soon – I'm told they are just as good.
This interview with Desiree has some little golden nuggets floating about. Concerned it will be filled with spoilers? Don't worry! No spoilers there for those who haven't read Illusionary yet, though if you did read her previous book, Sun and Moon, you definitely don't want to miss this interview. "FANtastic Interview with Illusionary Author, Desiree Williams."
"Awe. Some. Ness. I wasn't ready." That's what author Nadine C. Keels said when reading Illusionary. "Illusionary by Desiree Williams"
They say books are dangerous. Author Laurie Lucking would heartedly agree! "Illusionary by Desiree Williams – Blog Tour! (Laurie)"
Illusionary was one of those dangerous books that basically caused me to forego real life as much as possible so I could just keep reading. I lost sleep, I skimped on chores – you get the idea.
Many readers would second author Amber Stokes in that they also found themselves on a really intriguing adventure when reading Illusionary. "Illusionary Blog Tour: Review + Giveaway!"
Believing I was in for a treat because I enjoy this author's style and stories, I dove headfirst into Illusionary…and found myself on an intriguing adventure!
If Desiree could have any job alongside being a writer, what would it be? Find out on Liv K. Fisher's blog! (Hint: The answer may make you hungry.) "ILLUSIONARY: Blog Tour, Interview, & Giveaway"
Another touching book review of Illusionary by writer Sofia Becker! "Book Review: Illusionary – Desiree Williams"
Second, even though life is painful, extremely agonizing and has the potential to make you afraid, there is always a way out. There will always be beauty and joy in the midst of the darkness.
In need of a good book that crushes your heart with emotion? Don't worry! Grace at She Hearts Fiction says Illusionary has you covered. "'Illusionary' by Desiree Williams — Blog Tour Book Review"
Many thanks to Jess at Dreams of Faerytales for her fun spotlight!
Intersted in learning more about Desiree's writing process? Stop by author and editor Jannette Fuller's blog to learn more! "~Illusionary Blog Tour~"
Chrissi over at Chrissi Reads definitely recommends Illusionary to readers and says "It's a bookworm's dream to read such a bookish story." "Blog Tour – Illusionary Review"
Many thanks to the bloggers who participated in this tour and Desiree for giving readers an inside scoop about Illusionary
Want to know more about the book or where you can purchase it? Scroll down to read more!
About the Book
Alice fell down a hole.
Wendy flew to Neverland.
Kamryn? She tripped down the stairs.
Now, Kamryn Kensington finds herself in a strange new world. Within minutes of her arrival, she dodges an archer's arrow and avoids getting sliced up by a cosplay reject holding a dagger to her throat. And that's before the storyteller's breath brings stories to life.
Home is the mission—to return to her family and pursue her life's dream of art and travel. Yet the longer she's in the Land of Ur, the harder it is not to feel for the people she meets. Even her artistic side can't help but breathe in the beautiful wonder and magic of this new world. So when the Oracle hands her a different quest, she takes it on the condition he sends her home afterward.
No one thought to warn her of a jealous queen and her dragon minions. Or that, by helping her, the cute storyteller would go crazy. Or that her heart would rip in two when she left. Those would've been great facts to know ahead of time.
Considering that nothing in Ur is what it seems, the mission proves to be more than she ever imagined. But more than her own future will be in jeopardy if Kamryn doesn't succeed.
Amazon — Barnes & Noble — Kobo — iBooks
About the Author
Desiree Williams is a dreamer by day and chocoholic by night. She lives in the beautiful state of Kentucky with her husband and daughter, where she juggles life as a wannabe supermom. Desiree is a lover of food and avoider of dirty dishes. She delights in making people laugh and strives to bring hope and love with her wherever she goes.
You can find out more about Desiree and her books at www.desireewilliamsbooks.com
Blog — Goodreads — Facebook — Twitter — Instagram — Newsletter


text:
Introduction: The technology has developed drastically. In this modern world, nothing has been impossible. To give you comfort, product designers have created an adjustable mattress for you. We do different activities on the bed, we read books, we use telephones and we watch TV etc. It is important to sit straight while doing all these activities otherwise you will face ...Read More »
Purple comforter: a chance to go bold
Threshold is the centerpiece of your bedroom and it is a good choice to design your interior around your comforter. The choice of color is a very important factor when decorating your room. It can even make your room look bigger or smaller depending on the color choices. Real estate prices have skyrocketed in recent years. Gone are the days ...Read More »
Choosing your own single duvet cover
The quilts have covered households for many years already. This is because quilt covers are considered both a practical and important thing to have in a household. Many people tend to buy them because of their functionality and also because they make your beds more comfortable and comfortable to sleep in at night. applications Quilt covers must have main features ...Read More »
How to decorate your bedroom through vanity using a denver mattress
The purpose of decorating your bedroom based on vanity or self-esteem is the personification of your personality in the viewer's eye, so be aware of what and how to do about the renovation of this most private space in your home. Ordinary people tend to be selfish and very proud of how they look and of their achievements. The bedroom. ...Read More »
How to find the right mattress shops
Mattresses are a very important part of a bedroom. If you want to buy one, you must go to the right mattress store. Otherwise, you could end up either paying a lot more money than you need or buying something of lower quality. In addition, most buyers have no detailed knowledge of what to look for in a mattress. So ...Read More »
Merits of air bed mattresses
The reason for not getting enough rest is trouble and the main driving force for not being comfortable enough is obviously the sleeping pillow. In the event that you experience problems that fall or remain unconscious, it may be because your bedding is not happy enough and / or does not provide the right support with a specific end goal ...Read More »
How to buy a foam crib mattress?
Buying the right foam mattress with enough research is important for your child to sleep well. You would never be wrong if you made a purchase from a reputable company. Find out the brand that parents trust when it comes to buying a crib mattress. There are some things to consider when buying a foam mattress. Look at the strength ...Read More »
No sew blanket – make you own
Below is the step by step instruction that allows you to make your own no sewing blanket. The blanket can be of any size. One thing you need to know is that the end product will be almost 10 inches smaller. Select the fabric: The first thing for sure is to choose the fabric. You also have to choose pressure ...Read More »
Buying top mattress
As the name indicates, by top mattress we mean an extra layer for the mattress. When talking about pillow top mattress pillow top and euro top are the most popular. They originally had a certain difference, but the frequent use of these interchangeable terms has reduced some form of difference. Take care of the type of mattress Do not spend ...Read More »
Decorate your bedroom with the comfortable queen comforter
There are many ways you can use to decorate your bedroom and one of the options you can choose is the washer. To be able to choose the right duvet, you need to make sure you know the difference between the duvet and the duvet. What is a Comforter? A duvet is a thick and fluffy blanket that you can ...Read More »


text:
Feb 04, 2018 - National Geographic Sea Lion
We started our journey with a spectacular morning, a golden sunrise giving the volcanic soils and sandstones of Isla del Carmen a pinkish sheen, and flat calm serene waters. The Sierra de la Giganta range was in the background, marking the biggest mountain chain in Southern Baja. As we sipped our coffees on the bow, still slowly waking up to the scene, we watched brown pelicans, black-vented shearwaters, and Craveri's murrelets fly low, just inches above the water surface. And above, magnificent frigatebirds and Heeriman's gulls soared.
We spent much of the morning watching for marine mammals, and we were not disappointed. Large numbers of bottlenose dolphins joined us on all sides of the ship, and the faster we travelled, the more they enjoyed bow-riding, in other words, surfing on the pressure wave the ship created. Some of the dolphins even breached, fully jumping out of the water, as they played in the ship's wake. How fun! Science tells us there is no survival reason for the dolphins to do this. They are just having fun! We had a brief glance at a Bryde's Whale as well, one of the most elusive of whales. Our naturalist, Baret Solstad informed us about the many whales we could see in the area, and some of the threats to whale and dolphin populations, particularly the vaquita, the smallest marine mammal, endemic to the northern end of the Gulf of California. Tomorrow and the next day, we hope for blue whales, fin whales, and humpback whales!
The afternoon was a blissful relaxing time exploring Puerto Gato. The bay greeted us with imposing and stunning red sandstones along the shore, a Cardon cactus desert in the back, and all of this towered by the 15-million-year-old volcanic range, the Sierra de la Giganta! Some of us snorkeled in the bay, enjoy the sights of sergeant majors, parrotfish, pencilfish, pufferfish, etc. in the exceedingly clear turquoise waters. Some of us had a serene kayak or paddle-board session, just taking in the beauty of the landscape, all the sights and sounds.
Yet, others explored the desert and learned about all kinds of interesting desert plant adaptations. All the plants have devised ways to cope with the arid climate: some drop their leaves when there is no rain, some get rid of leaves all together and just have pleated structures and spines (all cacti!), and some develop thick leaves that are good at storing lots of water (succulents!).
This evening, we enjoyed a lovely sunset in this remote part of Baja while listening to the American Football Super Bowl final on the radio! Tomorrow, off to Los Islotes to snorkel with the sea lions!!
Join us for updates, insider reports & special offers.


text:
If you like our site add us to Favorites! Bookmark This Page
Watch 2011 Movies Online Free
Browse through our fantastic selection of 2011 Movies below and see if there is anything that you'd like to watch online for free from our index. There's nothing quite like enjoying an 2011 Movie or two at home with some popcorn, a large pepsi and a good feeling inside from knowing that you didn't have to dish out even a cent to watch any of these awesome movies.
The Voice
The Voice 2011
Four famous musicians search for the best voices in America and will mentor these singers to become artists. America will decide which singer will be worthy of the grand prize.
Genre: Game-show,Music,Reality-tv
The Victorville Massacre
The Victorville Massacre 2011
A group of nine friends decide to spend Labor Day in the desert town of Victorville. Meanwhile, for...
Flag of My Father
Flag of My Father 2011
William Devane portrays the families patriarch, while John Schneider plays the sister's protagonist, her cynical civilian brother.
Scents and Sensibility
Scents and Sensibility 2011
Two sisters find that they have to make their own way in the world after their father is jailed. Elinor is a cleaner in a spa. Marianne works for a marketing company but she also makes scented lotions, which turn out to be a real winner.
Love Begins
Love Begins 2011
Clark Davis adventurous dreams of seeing the world are put into jeopardy after he and a friend start a fight which damages a local cafe...
In Darkness
In Darkness 2011
A dramatization of one man's rescue of Jewish refugees in the German-occupied Polish city of Lvov.
Burn Notice: The Fall of Sam Axe
Juan of the Dead
Juan of the Dead 2011
A group of slackers face an army of zombies. The Cuban government and media claim the living dead are dissidents revolting against the government.
A Letter to Momo
A Letter to Momo 2011
Clinging to an unfinished letter written by her recently deceased father, young Momo moves with her...
A Warm Wind
A Warm Wind 2011
Buck, a Marine, has returned from the Iraq war. With physical disabilities, PTSD, and no real family to care for him...
The Point of Regret
The Point of Regret 2011
1978. A mother, father and their 3 year old son are murdered. The killer their 12 year old son William. 2008. William is released with a new identity and wants to die. Ryan needs the story. A story of courage, sacrifice and love.
Swamp Shark
Swamp Shark 2011
An animal smuggling deal goes wrong, resulting in a large shark escaping into the swampy backwoods river.
October Baby
October Baby 2011
A college freshman's world is rocked when she learns she is the adopted survivor of a failed abortion.
The 33D Invader
The 33D Invader 2011
A girl named Future has to re-populate the human race after radiation attacks from the Xucker race have made 99% of men on Earth infertile in the year 2046.
Genre: Sci-fi
Xi ai ye pu
Xi ai ye pu 2011
Lan Kwai Fong (LKF), a well-known party location in Hong Kong with loads of nightclubs and bars. Everyone likes to go to LKF for fun...
3-D Sex and Zen: Extreme Ecstasy
3-D Sex and Zen: Extreme Ecstasy 2011
As a conceited scholar of the Ming Dynasty, Wei Yangsheng believes that since life is short, one should...
One Hour to Die
One Hour to Die 2011
Huge advancements in scientific technology have been able to create an island full of living fathers...
The Showdown
The Showdown 2011
After a battle between Joseon and Ming forces in Manchuria only three soldiers from Joseon survive. They take refuge in an abandoned inn. Soon it is clear that they have as much to fear from each other as from the Ming forces.
Wild Bill
Wild Bill 2011
A street-toughened parole finds his two boys abandoned by their mum and fending for themselves. Time to step up, or not.
The Sorcerer and the White Snake
The Sorcerer and the White Snake 2011
A master monk tries to protect a naive young physician from a thousand-year-old snake demon. A contest of psychic powers results in mayhem.
Delhi Belly
Delhi Belly 2011
Three struggling room-mates unknowingly become potential prey of a ruthless gangster.
Little Birds
Little Birds 2011
Lily and Alison face a life-changing event after they leave their Salton Sea home and follow the boys they meet back to Los Angeles.
Spaceship Terror
Spaceship Terror 2011
Open your mind to a horrifying world of cat and mouse as five women and one injured man find terror beyond their wildest nightmares...
4:44 Last Day on Earth
4:44 Last Day on Earth 2011
A look at how a painter and a successful actor spend their last day together before the world comes to an end.
Age of the Dragons
Age of the Dragons 2011
Herman Melville's classic novel Moby Dick, is recreated in a world where Captain Ahab and his crew search for a Great White Dragon.
Fixing Pete
Fixing Pete 2011
Ashley is a journalist and does makeovers for a TV show. Her editor offers her the job of being the editor of a new fashion supplement, provided she does a makeover on a sports writer, who is an uncouth, loudmouthed, sexist slob.
Lock Destination
Lock Destination 2011
Top Gun Chinese style. Yue Tianlong and Yin Shuanghu are top J-10 pilots and rivals. They have to reconcile their differences in order to successfully perform a training exercise and secure China's precious airspace.
Possessing Piper Rose
Possessing Piper Rose 2011
A couple are desperate to adopt a child but, when their dream comes true, strange events begin to happen.
Wilde Salomé
Wilde Salomé 2011
A tale of lust, greed and one woman's scorn.
Genre: Documentary,Drama
When Pigs Have Wings
When Pigs Have Wings 2011
After a tempest, fishermen do not find only fish in their nets. That is what happens to Jafaar, a poor fisherman who lives poorly in Gaza...
Genre: Comedy
Highway Thru Hell
Highway Thru Hell 2011
See how a local heavy recovery firm works through the hard winters helping highway users that have fallen victim to the brutal road conditions. Their essential service keeps the traffic on the highways thru hell moving.
Genre: Documentary
Unforgettable 2011
Carrie Wells, a former police detective, has a rare ability to remember virtually everything she experiences including detailed visual recall. She returns to police work and uses her ability to solve crimes.


text:
This One Pot Spinach Artichoke Pasta is super easy to throw together and full delicious cheesy goodness!
I'm so happy to be working with Crystal Farms Cheese to bring you this amazing and delicious dinner. Thank you for supporting the brands that keep Wine & Glue going.
So we are a few weeks in to the beginning of school, and I can tell you one thing friends:
I have never met a hangrier person than my dear sweet little monster . . . Quinn.
You guys, girlfriend only gets 20 minutes for lunch. So when I pick her up from school, she is a HORROR show. I mean, seriously, by the time we are back home, she is flailing on the floor. She seriously cannot handle being hungry. And she is young for her grade, and struggling with the long day. Poor
monster kid.
So with the new school year, and the hangry monster(s) that I live with, I have been thinking more and more about dinners and easy dinners and wanting to share them here with you guys. I've been trying to bulk up the dinner section here. And this is my latest installment: One Pot Spinach Artichoke Pasta.
This could not be an easier dinner. There is so little prep! It's basically mincing some garlic, chopping some chicken, and then measuring out a few other things. And then in the end you have this big beautiful dish full of noodles, chicken, some veggies, and cheesy goodness. It's so easy and it was one of those dishes that I had to keep reminding myself not to nibble on or I would have had major chunks missing for the photos.
I threw two big heaping cups of Crystal Farms shredded mozzarella on top at the very end and then threw it in the oven for a few minutes until it was all melted. It was the perfect finishing touch to this dinner and the mozzarella pairs so beautifully with the other flavors going on in there. We love Crystal Farms Cheese! It's made right here in Wisconsin. We always have a big bag of their mozzarella in our fridge for when we are making pizza. It melts perfectly every time!
And to make dinners great in your home, pick up some Crystal Farms cheese and enter to win a Lodge Cast Iron Dutch Oven! You have until October 3rd! For more great cheesy dinners be sure to follow Crystal Farms on Facebook, Pinterest, Twitter, and Instagram.
One Pot Spinach Artichoke Pasta
- 2 TBSPs olive oil
- 2 cloves garlic minced
- 1 pound chicken diced
- 2 cups chicken stock
- 1 cup heavy cream
- 1/2 pound rigatoni pasta uncooked
- 14 oz can quartered artichoke hearts
- 2 cups baby spinach
- 2 cups Crystal Farms shredded mozzarella
- In a 3 quart oven proof skillet, heat the olive oil. Add the garlic and cook until just tender, about 30 seconds. Preheat the oven to 350 degrees.
- Add the chicken and season with salt and pepper.
- Cook the chicken until just browned (it will continue to cook).
- Add the uncooked pasta, chicken stock, and heavy cream. Cover and bring to a boil. Remove the cover and reduce to a simmer. Stir, cook for 10 minutes or until the pasta is tender.
- Stir in the artichoke hearts and spinach. Continue stirring until the spinach is wilted.
- Top with the cheese and put in the oven until the cheese is completely melted. Serve immediately.
This is a sponsored conversation written by me on behalf of Crystal Farms Cheese. The opinions and text are all mine.


text:
1.6. Inverse conjecture over the integers 93
a polynomial gΓ: H → G/Γ into a nilmanifold G/Γ, and then composing
this with a
function F : G/Γ → C. These classes of sequences
certainly include the polynomial phases, but are somewhat more general;
for instance, they
include bracket polynomial phases such as n →
e( αn βn).
In this section we set out the basic theory for these nilsequences, in-
cluding their equidistribution theory (which generalises the equidistribution
theory of polynomial flows on tori from Section 1.1) and show that they
are indeed obstructions to the Gowers norm being small. This leads to the
inverse conjecture for the Gowers norms that shows that the Gowers norms
on cyclic groups are indeed controlled by these sequences.
1.6.1. General theory of polynomial maps. In previous sections, we
defined the notion of a (non-classical) polynomial map φ of degree at most
d between two additive groups H, G, to be a map φ: H → G obeying the
∂h1 . . . ∂hd+1 φ(x) = 0
for all x, h1,...,hd+1 ∈ H, where ∂hφ(x) := φ(x + h) − φ(x) is the additive
discrete derivative operator.
There is another way to view this concept. For any k, d ≥ 0, define
the Host-Kra group
≤ d) of H of dimension k and degree d to be
the subgroup of
consisting of all tuples (xω)ω∈{0,1}k obeying the
= 0
for all faces F of the unit cube {0, 1}k of dimension at least d + 1, where
|(ω1,...,ωk)| := ω1 + · · · + ωk. (These constraints are of course trivial if
k ≤ d.) An r-dimensional face of the unit cube {0,
is of course formed
by freezing k −r of the coordinates to a fixed value in {0, 1}, and letting the
remaining r coordinates vary freely in {0, 1}.
Thus, for instance,
≤ 1) is (essentially) the space of parallelo-
grams (x, x + h, x + k, x + h + k) in
≤ 0) is the diagonal
group {(x, x, x, x) : x ∈
≤ 2) is all of
Exercise 1.6.1. Let φ: H → G be a map between additive groups, and let
k d ≥ 0. Show that φ is a (non-classical) polynomial of degree at most d if
it maps
≤ 1) to
≤ d), i.e., that (φ(xω))ω∈{0,1}k ∈
d) whenever (xω)ω∈{0,1}k ∈
≤ 1).
Lipschitz regularity class is convenient for minor technical reasons, but one could also
use other regularity classes here if desired.
"almost" here is because the relevant functions F : G/Γ → C involved are only piece-
wise Lipschitz rather than Lipschitz, but this is primarily a technical issue and one should view
bracket polynomial phases as "morally" being nilsequences.


text:
Rings of Power (Genesis) review
"If asked who Naughty Dog software are, most answers would probably include Crash Bandicoot or possibly Jak and Daxter. You would be lucky to hear the words Rings of Power, and indeed, it was well after Crash Bandicoot was released that I realised that it was the same developer who was behind the games. Rings of Power was their only venture into the world of the Genesis, and furthermore, only their fourth game to be released the previous three being on the PC, Amiga and Apple. "
Community review by djy8c (December 19, 2003)
A bio for this contributor is currently unavailable, but check back soon to see if that changes. If you are the author of this review, you can update your bio from the Settings page.
More Reviews by djy8c [+]
If you enjoyed this Rings of Power review, you're encouraged to discuss it with the author and with other members of the site's community. If you don't already have an HonestGamers account, you can sign up for one in a snap. Thank you for reading!
User Help | Contact | Ethics | Sponsor Guide | Links


text: We are proud to provide these patient reviews to help you get to know our dental team at Midtown Dental a little better! By reading these reviews, you will know if Dr. R. Nab is the right dentist for you, and you will also know more about our dental care in Houston, Texas. If you have any questions about our reviews or you would like to leave your own review, we encourage you to call our office today. We look forward to hearing what you have to say!


text:
The best thing I ate today:
And now, because it's too cold to go to the gym, I have an appointment with these Xtreme resistance bands
My 2015 goals call for me to focus on my fitness and I am determined to keep the momentum going – nothing drastic, just small steps, going forward, everyday.
More WIAW posts on Jen's blog. Other Wordless Wednesday posts on Karren's blog
Please follow me on Bloglovin Instagram Twitter so we can stay in touch.


text:
This cool coffee shirt features the words "pumpkin spice lattes and antidepressants" and is perfect for sassy depressed people who love to hang out at coffee shops, drink coffee, take pills, use antidepressants, read books, self-medicate, and wear edgy shirts! Ideal for school, college, university, work, the gym, or anywhere that gets you bummed out.
Please Note: Sizes Are Approximate
Click Here to view the complete size guide for all product styles.


text: This oil is of my nephew Samuel holding my niece Sophia. Before Sophia was born, Sam desperately wanted the baby to be a puppy, but when a human girl emerged he loved her more than any other big brother I've ever seen. He was constantly kissing her and making comments about how beautiful she was. I hoped to capture that love with this picture.