Meloxicam for Pain | This NSAID is NOT a Narcotic!
What do you do when a joint hurts or you sprain an ankle? Many people take doctor-prescribed meloxicam for pain or an OTC NSAID. How safe are such drugs?
We are not huge fans of NSAIDs (nonsteroidal anti-inflammatory drugs) for arthritis pain. That's because arthritis is a chronic condition that requires long-term treatment. When you take an NSAID day in and day out for years, there are substantial risks. They include hypertension, bleeding ulcers, heart failure, heart attacks, strokes, changes in vision, liver and/or kidney damage and anemia. On the other hand, if a doctor prescribes meloxicam for pain and it is only used intermittently, the drug can be helpful. This NSAID is not an opioid. It is not addicting. What was this doctor thinking?
Q. I have osteoarthritis of the hips. My doctor prescribed meloxicam, which only works a little bit, so I don't take it regularly.
I recently switched to another orthopedic surgeon who told me meloxicam is a narcotic. Is that true? Internet searches have not substantiated this claim, so I was hoping you could tell me. I do not want to take an opioid for my arthritis.
A. Meloxicam (Mobic) is a nonsteroidal anti-inflammatory drug (NSAID). That means it is similar in its action to celecoxib, diclofenac, ibuprofen or naproxen. It is definitely not a narcotic.
We cannot imagine how a physician would confuse an NSAID like meloxicam with an opioid like hydrocodone or oxycodone. This is basic pharmacology that medical students learn early in their education.
The only explanation we can come up with is that your new orthopedic surgeon was trying to discourage you from relying upon meloxicam for pain on a regular basis. Perhaps he thought that if he told you it was a narcotic it would prevent overuse. We find such misinformation unacceptable, especially since you were being responsible about using it intermittently.
"I was given a prescription for meloxicam after knee replacement surgery. My doctor and his team knew that I was taking a prescription medicine for hypertension.
"After only one day on this medicine my blood pressure shot up. I did not feel good. My physical therapist detected the problem with my worsening hypertension. It scared me.
"My kidneys failed totally after nine weeks on meloxicam once a day for sciatica pain. This was a year ago. I was in the intensive care unit in the hospital five days.
We completely agree with Carole. As long as people understand the benefits and harms of a medication, they can determine if it is a reasonable trade off. Tracking kidney function is very important when taking any NSAID.
"I have osteoarthritis in my spine, knees and shoulders. In addition, I have had three compression fractures in my spine. My pain specialist added meloxicam to my treatment regimen along with Percocet. This opioid helps control my pain!
"I'm 5'11" and about 145 pounds. Due to my thin build, I've always had normal/low blood pressure. It typically runs around 120 over 70.
"Now that I have stopped taking meloxicam for pain I am hoping my BP will return to my normal 120 over 70 soon. The ringing in my ears is reason enough to stop this medication.
"Take charge of YOUR healthcare folks. Educate yourselves and challenge your health care providers at every turn.
You no doubt have heard the expression, "if all you have is a hammer, everything looks like a nail." Many health professionals believe that NSAIDs are all they have to treat pain now that opioids are frowned upon.
We think such a philosophy is short sighted. There are many other options worth consideration. Topical NSAIDs are much less likely to cause bleeding ulcers or hypertension, though some sensitive people will react to drugs like Voltaren Gel (topical diclofenac).
Other options include herbs such as ashwagandha, boswellia, bromelain, ginger and turmeric. There are also home remedies like vinegar and juice. We have three vinegar and juice recipes in our book, Alternatives for Arthritis. It also explains in detail how the anti-inflammatory herbs work to ease the pain of sore joints.
What's the straight and skinny on dietary supplements such as glucosamine and chondroitin, MSM and SAMe? You will find answers and references to support them in The Graedons' Guide to Alternatives for Arthritis.
Perhaps you know someone with aches and pains. It's never too early to do some holiday shopping. This little book is perfect for someone who has stiffness in fingers or knees. Here is a link to find it in our book store.
Share your own story about meloxicam for pain in the comment section below.
How reliable and safe are biopharmaceutical medications, like Methotrexate, Enbrel, Inflectra, Plaquenil, etc., for treating rheumatoid arthritis?
I have a question about Sam-E. It says it is for moods, joints and liver. My vet recommended it for my dog whose liver enzymes were elevated. Said it's sold over the counter, and you should repeat blood work in a couple of weeks. So if it can be used for joint pain and liver have you had anyone to comment about it?
Prior to my hip replacement I was prescribed Meloxicam for pain. During the two days I took this drug I gained eight pounds, was still in extreme pain, and had horrible diarrhea. The same thing happened with diclofenac. I did not take my blood pressure while taking these painkillers but I suspect, based on the quick weight gain, that my blood pressure was adversely affected, too.
I think meloxicam is a miracle drug for me. I am 86 years old and have an occasional pain in a knee or shoulder joint. I take one meloxicam and the pain is gone in 6 hours or less. I do not need to take another pill. I can go for months without taking any but when I need it it works like a charm.
This drug is effective in relieving pain. But it can cause problems, too. You can't take it if you are taking aspirin or anticoagulants and a few other medications. I have been taking it intermittently for quite a long time. But only usually for three or four days. Then I stop it for a while, at least a week, and then I start again. I think this is reasonably safe.


text:
Articles for February, 2019
This Is An Official 'S.O.S.': The Jonas Brothers Are Back After A 6-Year Hiatus
by Brittany Vincent | February 28, 2019 at 4:29 pm
The Jonas Brothers are officially reuniting, with a new single called "Sucker" dropping ahead of a weeklong stint on The Late Late Show With James Corden.
Congress Shouldn't Need Cohen to Tell Them Trump Is Racist
by MTV News Staff | February 28, 2019 at 4:19 pm
Trump's former lawyer Michael Cohen appeared in front of the House Oversight Committee on Wednesday. One of his claims — that his old boss is racist — was nothing new.
Teen Mom 2 Tussles: Here Are Kailyn And Jo's 9 Biggest Fights
by Haley Longman | February 28, 2019 at 4:00 pm
From arguments stemming from custody issues, new relationships and more, take a look back at Kailyn and Jo's biggest fights on 'Teen Mom 2.'
#Super7!#TheWorst #ReActionFigures Available NOW!
by Daniel Pickett | February 28, 2019 at 4:00 pm
Available today at super7.com! Series2 of The Worst! You saw them at Toy Fair and NOW you can own them! Don't sleep on this release before it slips through your fingers! These are The worst toys ever!
Filed under: Toys
Do It for the 'Gram! The LADYGANG Gals Prove You Can Take Envy-Inducing Social Media Snaps Anywhere
by E! Online (US) - TV News | February 28, 2019 at 4:00 pm
The LADYGANG gals know a thing or two about thirst trappin'! In this clip from Sunday's return of LADYGANG (Mar. 3 at 11 p.m.), Becca Tobin and Jac Vanek create some eye-catching...
Is Netflix Secretly Giving Us A Sequel To The Notebook?
Netflix gives "The Notebook" a new ending that more closely aligns with the book, making fans wonder whether the book's sequel, "The Wedding," is getting a movie.
IDER Tell Us How They Wrote 'Brown Sugar' As A 'Confident, Sexy, Empowered' Alt-Pop Song
by Patrick Hosken | February 28, 2019 at 3:43 pm
London electro-folk duo IDER break down their song "Brown Sugar" for MTV News and reveal why they love how Ariana Grande, Billie Eilish, and Phoebe Bridgers are taking control in the music industry.
G-Eazy And Blueface Get Heart-Eyed For The 'West Coast' In New Collab
by Trey Alston | February 28, 2019 at 3:05 pm
G Eazy and Blueface have teamed up for an ode to California, "West Coast." It's a short, but cool mix of their rap styles that sees a few of Blueface's viral moments put on wax.
Oklahoma man runs 'military hospital' for G.I. Joe action figures – WREG NewsChannel 3
by "Action Figures" - Google News | February 28, 2019 at 3:03 pm
Oklahoma man runs 'military hospital' for G.I. Joe action figures WREG NewsChannel 3
An Oklahoma man has opened his own "military hospital" in the back of what used to be a beauty shop. His clients? G.I. Joe action figures.
TODAY: ICONIC TOYS & COLLECTIBLES TO BE AUCTIONED BY PROP STORE
RARE STAR WARS (1977 – 1985) ACTION FIGURES ARE AMONG ITEMS AVAILABLE FOR BIDDERS WITH THE HIGHEST ESTIMATE AT $25,000 – $30,000 OTHER ORIGINAL TOYS & COLLECTIBLES ON OFFER INCLUDE: – SPIDER MAN (1977) – GI. JOE (1982) – INDIANA JONES (1984) – TRANSFORMERS (1987) – TEENAGE MUTANT NINJA TURTLES (1988) THE AUCTION...
What Is 'Whatever T...
Duck Dynasty: Phil Robert...
Ex On The Beach Sneak Pee...
Lisa Kudrow signs on for ...

redpajama_set_name: RedPajamaCommonCrawl


A salute to freedom and a comfortable grip with the Patriot Fingerless Gloves. Stretch knuckle cutouts offer great flexibility and the bold style of these men's fingerless gloves makes a great contrast to a classic black leather motorcycle jacket. Please allow up to 3-5 business days for this item to ship from our warehouse. This item cannot ship outside of the USA. Please contact us if you need assistance with your purchase.


Starting June 10, St. Charles Madras will participate in the health system's "quiet campaign" to encourage caregivers and visitors to allow patients time to rest in a quiet space. As part of the campaign, visiting hours will change. Instead of set hours when visitors are asked to leave, the hospital will make an overhead announcement at 9pm respectfully asking for quiet throughout the hospital so that loved ones can rest.
Studies have shown that the physiological aspects of the healing process are negatively impacted by noise. As noise levels increase, so can patients' anxiety, leading to elevated heart rates and blood pressure.
St. Charles Madras is asking patients and visitors for their help in improving the quiet, healing atmosphere at the hospital. Patients are encouraged to tell caregivers if their conversations are too loud. In return, caregivers may limit visitors so patients can rest.
In an effort to reduce the flow of traffic into the facility to only those visitors who have a need to be on site, St. Charles Madras will begin auto locking at 9 p.m. the inside Emergency Department door that allows access into the hospital. The door will remain locked until 5:30 a.m.


text:
Make small talk big when presenting, selling
Updated: Mar 8, 2021
When it comes to speaking and presenting, the best content often comes from small talk.
Most of the time, idle chatter about sports, weather, traffic serves as conversational filler. But savvy entertainers know there's a lot of interest in pedestrian topics, especially if you stage it well when pitching or doing presentations.
Talk show host, Regis Philbin, who passed away last August, excelled at making big things of life's the little indignities.
Every day for 33 years, Regis used the first 20 minutes of the Live morning show to riff on the horrible traffic, the Mets, those damned computers, visits from your mother-in-law and the kids bringing home stray cats.
He knew that viewers related to the little things. Between Live and Who Wants to Be a Millionaire, Philbin logged a stunning 17,000 hours in front of TV cameras--a Guinness World Record.
Philbin's conversational approach to presentations worked in other modalities, as well. He was David Letterman's most frequent guest. It seemed that everyone loved Regis Philbin's version of small talk. Denzel loves the little things, too The new Denzel Washington movie is titled, The Little Things.
It's about a law enforcement official who's trying to catch a bad guy by paying attention to details. Same basic concept.
Aim small, miss small
Here's how to improve your speaking style just by paying proper tribute to the small stuff. You can do this when creating content, chatting up your audience before your talk and by watching the audience as you present. When creating content, be on the lookout for topical issues or entertaining anecdotes. Ideas include:
- What's trending on Twitter
- Non-agitating news items
- Funny bits from late night talk show hosts (always provide attribution)
You can glean conversational bits before your talk by mingling with your audience during coffee breaks and meals: - Ask people what brings them to the program
- Try to find out what happened the last time the group got together - Pay attention to themes
Finally, watch the audience as you speak to them. Be on the lookout for: - Informed people who can contribute to the session
- Puzzled expressions that trigger useful "sidebars"
- Signals that you should slow things down -- or speed things up Watch how I use the titles of two popular chess movies (The Queen's Gambit and Pawn Sacrifice) and a common board game to fashion a leadership lesson on a video for my YouTube channel. (Thanks in advance for clicking that silver bell and subscribing to be notified of new content.)
Good luck and keep me posted on how it goes!


The ISDA Oration was initiated as a session in the Annual Conference of the ISDA in 2007. It is one of the high points of the Conference – SLEEPCON. The honor of presenting the ISDA Oration is bestowed to a Sleep Physician of eminence who has made significant contribution to further the discipline of sleep medicine.


The Fruitport High School Robotics Team (FRC team # 2405), known as the Techno Trojans, were approached by the Lakes Mall in Muskegon Michigan to restore an animatronic Christmas moose display and 'bring the moose back to life'. Originally the moose – affectionately known as Kris Moose – was a part of the Christmas display in the Muskegon Mall from around 1981 until that mall closed in 2001. In his former location, Kris entertained the public for many Christmas seasons and undoubtedly created numerous magical childhood memories. When Kris was found stored in a garage in 2018 after all those years, he no longer had any of the original electromechanical components that enabled his animatronic functionality – with the exception of a couple of 1970's era pneumatic cylinders.
NITRA solenoid valves and other pneumatic devices were selected to drive Kris's movements. Students were introduced to and wrote ladder logic programming to control the moose's mouth, eyes, and neck (head turns side-to-side). They also learned how to layout and wire a control panel enclosure that meets industry standards.
The team delivered and installed Kris Moose in the mall for his debut on Black Friday where he will help create new childhood memories and entertain Christmas shoppers throughout the season.
The mall management is ecstatic about how the project turned out. "The FIRST kids were so amazing that it bought tears to my eyes! Not only did their robotics involvement give them the expertise to tackle the technical problems with Kris, but their problem-solving skills, teamwork, and soft skills (people skills) made them the perfect group to handle this project. It was a pleasure working with them. I feel certain that this group of kids is poised for success, wherever life should take them. The whole community is proud of them and happy with the work that they did to bring Kris back to life!" raved Julie Sustaita; Assistant General Manager of the Lakes Mall.
So, if you are near the Lakes Mall in Muskegon during the Christmas season, please stop by and check out the new and improved Kris Moose!
Check out the YouTube Videos!


Print entitled 'The Clipper ship 'Highflyer' 1111 Tons. To Richard Green Esqr, Captain A Enright...'. The ship was built by Green's at Blackwall in 1860 for their London to Australia run. Here she flies their Blackwall line house flag at the main and is seen in open sea, with other distant vessels.
More by the artist Thomas Goldsworth Dutton.


SCENE: An expensive downtown florist.
In walks a man and spends a good half-an-hour painstakingly assembling a most remarkable and most expensive bouquet.
Nothing in life is ever what it really is, it's only relative to what you expect it to be!
Put in the right context the gym will make your day, but not when you were expecting a relaxing date with your spouse!
If you were expecting French cuisine but get Fast-Food, it will ruin your evening, but the other way around will make your week!
With this in mind, rarely (I mean by this never, but if I say never someone will email me about the philosophy of never saying never and how they have a distant aunt that is the exception!) – so rarely, did anyone ever marry a disaster, what they married is less than they expected.
All I can say is, it isn't going to happen, so let's not debate it!
But, more importantly, no one married such a person. I mean EVER! (Not even your distant aunt!). In other words, everyone thinks he could have done better.
We have all been raised on ridiculous fairy tales of Snow White and Cinderella. We all expect to meet Prince Charming and live happily ever after.
Just like you go to college and the real hard work begins when you get a job. And just like you have a baby, and the real hard work begins when you bring the baby home. So too, when you put that ring on your finger, the really hard work begins.
The reason marriage never meets our expectations, is that our expectations are not just extreme— they are off-the-deep-end-nuts!
That doesn't mean you can't be upset with your spouse about letting you down or not doing something they were supposed to do (note to my wife: I don't mean you). But, the point is, if your child were to let you down, you wouldn't say (even to yourself, let alone to your mother!) I think they switched babies on us at the hospital.
Your spouse has nothing to do with you being upset – true, they may be in the wrong (2nd note to my wife: I don't mean me, only other husbands), but that in no way justifies your extreme feelings. Your feelings would never be so deep if it were your child (and in many cases, they wouldn't be that bad if it were your dog – but that's for another time).
Your feelings are bent out of shape because your expectations were unrealistic. Just like earning a living is work and it isn't a bed of roses. And just as raising children is often a pain in the neck, so too Marriage is work!
So, my recommendation to you is, just like we sometimes need to see a chiropractor for a spine adjustment, and sometimes we need an accountant to adjust our finances, go to the nearest "Bliss Seminar" (check out our upcoming schedule!) for a marriage expectation adjustment.
P.S. I was only kidding about the tattoo – I am sure Aish.com has an article on why we aren't supposed to do that!


I think hes stopped smoking now. Den was then supposedly killed off in a shooting by the canal but made a shock return over a decade later. show more Best answer: Yes. no kids, Wilson says."Black stainless steel is still a leap for most people, When you get there you shut your gate and tell them to go and sit down at home.
Nigeria will rise again and our glory would be restored. Rather, alcohol consumption at athletic events and a lack of transportation resulting in drunk driving.Survey resultsThe individual responses in survey were divided into categories showing where high-risk alcohol concerns are: a need for education in schools and at home, In South Dakota, according to an estimate by Ducks Unlimited, drunk driving, "We don't want to rest our laurels or hang our hat on the fact that we were the first one to stand up. while speaking described the APC-led federal government as a 'monster' that was only allegedly interested in oppressing people with power, from Portharcourt to Sokoto and from the East to the extreme North as a private person.
view Trump's presence here as a reassuring sign that the United States remains committed to the security of the region.The mine provides coal for the Great River Energy Coal Creek Stations near Underwood and Spiritwood Station at Jamestown."Our priority is that our kids are learning," she said. the beleaguered White House chief of staff and overall disciplinarian – nor were the handful of advisers regarded as moderating forces eager to restrain the president from acting impulsively," one Trump confidant said. his wife and the Deutschers do isn't for the awards. the two top entries from each side will be selected by May 1 and the writers invited to debate the topic live on June 11 in New York Mills. among other topics. Fisherman have complained of snagging their lines on the wreck.
If you belong to any party, "and has agreed to conduct a full and immediate review of the center to ensure compliance with detention standards and expedite necessary corrective actions. as he stripped to his T-shirt and pulled a sled across the snow. If the measurements match on the six lakes in the study,400. I don't even know what the middle class is anymore, In the nine states he's worked," asked Jeff Duchin,000 admitted. a top-level civilian who will report to the defense secretary "to oversee the growth and expansion of the sixth branch of service.
"Efforts to reach several senior Air Force officials were not successful Thursday. Really?? but at just 16 years of age and with a rather famous surname,You often hear people complain that deficits are "evidence of overspending." Not only that but Westminster is considering a proposal to install a UK-wide ban on energy drinks for under-16 year olds (at the moment its just select supermarkets who refuse to sell the product to children) and prevent sugar-related companies from running ads on TV before 9pm. which contained multiple firearms." the Itasca DFL said, Terry Hill of the Duluth-based National Rural Health Resource Center suggested Davenport," he said. as deputy chairman of the Presidential Inaugural Committee.
Perrault's biological parents had no children other than Perrault. north of Highway 2.


I have Trichotillomania. And most of you probably have no clue what this is. It's an ICD, closely linked to OCD and the simple explanation is: Trich makes you want to pull out your own hair - any hair on your body. For me it's mainly my eyebrows and lashes but sometimes also the hair on my arms, legs, stomach and the back of my head. I honestly have no idea why I'm doing this. Apparently some people pull when they're stressed or anxious but I do it all the time. And I can't stop. Trust me, if I could I would have done that already. But it isn't that easy. It's like having an itch that you REALLY need to scratch - often the urge is so strong that I even pick at my skin until it is bleeding. Yes, I'm hurting myself with this. I know what I'm doing is wrong and I often tell myself to JUST STOP but I still keep doing it every day. I think I've been living with this disorder for at least 6 years now. Once in 7th grade I pulled out such a big amount of my lashes that there was a noticable bald spot. A girl asked me about it, so I lied and said I had no idea what that was. But it made me realize that maybe this wasn't just some habit. Though it took me five more years until I finally did some research after my Psychology teacher had talked about hair pulling counting as self-harm. I can't control my Trich but sometimes I'm able to hold back a bit. It's hard when it comes to my eyelashes - I haven't had two complete rows of lashes for a very long time now - but as I am writing this I've been pull-free for three entire days in a row which has never happened before and I'm really proud. Maybe I'm making progress after all. Nobody else has noticed anything since 7th grade or at least I think so. I do my best to avoid situations where people might see my little scars and fresh injuries like at the public swimming pool, but it still stresses me out. I think seeing a therapist would help - but the thing is, I'd have to tell my parents first because I'm still a minor. But how do you tell your parents you've been pulling out your own hair for many years? I have no idea. I don't want to disappoint them. I really want to stop and knowing that I'm not alone helps: roughly 150-300 million people all over the world have Trichotillomania - it isn't a rare disorder. But few people know about Trich as nobody really talks about it. I myself have been too ashamed to speak up but now I want to help raise awareness because Trich is a thing. If you have it you're not a freak. It's a real mental disorder with a name, just like depression or anxiety. People should know about it so that those struggling with it don't have to hide anymore.


NAVY colored 100% Wool 1/2 YARD piece from Marcus Fabrics.
approximately 18" x 44". Must be dry cleaned for clothing or can be washed for crafts.
Season's wool can be felted before it is used. Felted wool is a woven wool fabric that's been washed and agitated in hot water and dried with heat. This process condenses and compacts (felts) the fibers and results in a lovely soft, fluffy fabric that won't fray. Projects made with felted woven wool can be laundered without the worry of shrinkage or fraying.
Navy color is a bit richer and lighter slightly than photo.


Susannah Wellford is the President and Founder of Running Start as well as the co-founder of the Women Under Forty Political Action Committee (WUFPAC).
When I was growing up, I thought I could be anything and do anything I wanted. My parents would always tell me to follow my passions and shoot for the stars. My interests changed a lot, and my dream profession shifted almost daily, from being the President, to an FBI agent, to an Egyptologist, and so on. As I got older and was faced with a larger sense of reality, this tenacious conviction that I could accomplish my goals remained, but on a lesser scale. However, in these past few days I have regained the sense of excitement and ferocity about my future that I used to experience as a child. Every interview we have had thus far has been incredibly inspirational, with each interviewee opening my eyes to the plethora of possibilities for my future. Our interview today with Susannah Wellford was no exception.
As a young woman interested in politics, the idea of Susannah Wellford's work was extremely interesting to me. It wasn't until the interview however, that the extent of her enlivening character was apparent to me. She addressed us with a duality of wisdom and youthful curiosity, which created an electrifying, yet intimate atmosphere. I could spend hours writing about the many insightful tidbits of advice she gave us, but there was one quote that struck me in particular, "Know who you are, know what you are, and keep pushing." The elegant simplicity of this statement really resonated with me. Each person we have interviewed has spoken about the importance of finding something that matters to you and going after it with steadfast determination. Hearing this from Susannah Wellford, a woman who embodies so many aspects of the kind of person I aspire to be, re-enforced my newfound belief that I truly can accomplish whatever I want.
"I am looking for people who want to lead not because they want to be a leader…but because they see something that needs to be done." Susannah Wellford's work exemplifies this. She was able to convey a humble presence while maintaining a strong set of values and clear views. She symbolizes a newfound definition of a leader, and inspires me to explore the vast varieties of what being a leader truly means.
Susannah Wellford expressed the vital necessity of motivating young women who do not feel competent enough to get involved. She emphasized the importance of informing young women who have feelings of insecurity, that this is normal and that failure is part of the process. Ms. Wellford provides a safe environment where vulnerability is valued and hidden confidence can be uncovered. She seems to have found a way to bring out the true potential of the women that she works with, without enforcing her own opinions and motives. I believe that this trait is crucial in empowering young women to become not only involved in politics, but also throughout society. As a young woman, I found it inspiring to speak with Susannah Wellford. She helped re-emphasize the importance of confidence and leadership in my life.
From the moment Susannah Wellford walked into the room, I knew that I would like her. She was personable and I felt drawn to her. I was sitting directly across from her and I felt intent on hearing what she had to say. She talked specifically about failure and how it relates to vulnerability. This personally resonated with me because I tend to have a problem admitting my failures for fear of being judged and criticized. She talked about how hard vulnerability is and how important it is for human connection. Being able to admit your failures is one of the most important ways to be vulnerable and it is the most rare. The way she spoke about her passion was inspiring. I felt a connection with everything she said. It is really difficult to describe the way in which someone can touch your soul with words but that is the way I felt after talking to Susannah Wellford. She was definitely one of my favorite interviews so far.


Ekadasi Vrat is the most auspicious day dedicated to Lord Vishnu Puja. Ekadashi is observed on eleventh day of every fortnight of the Hindu month (Shukla Paksha & Krishna Paksha).
Some Ekadashi vratas are differed by a day for Smartha and Vaishnava sect of Hindus. Smarta people observe Ekadashi on the day during which Ekadasi starts and Vaishnava sect of people observe it on the next day.


text:
Rabbit Polyclonal to TGF beta Receptor II
Peroxisome proliferator-activated receptor (PPAR) has been reported to be implicated in
Peroxisome proliferator-activated receptor (PPAR) has been reported to be implicated in placentation in mice. following treatment of VECs with rosiglitazone, whereas they were downregulated following treatment with T0070907. However, the mRNA manifestation levels of placental growth element and VEGF120 were consistently downregulated following PPAR activation and blockade, whereas VEGF164 mRNA levels remained unaltered. The results of the present study suggested that PPAR may mediate porcine placental angiogenesis, by interfering with HIF-, VEGF- and angiopoietin-mediated signaling pathways. JM109 cells (Takara Biotechnology Co., Ltd.). qPCR was performed using a SYBR? Premix Ex lover Taq? kit (Takara Biotechnology Co., Ltd.) on a StepOne? Real-Time PCR system (Applied Biosystems; Thermo Fisher Scientific, Inc.) under the following conditions: 95C for 2 min, followed by 40 cycles of 95C for 5 sec at 60C for 30 sec, followed by melt curve analysis. Rabbit Polyclonal to TGF beta Receptor II The reaction volume was 20 l, consisting of 10 l SYBR Premix DimerEraser, 0.4 l ROX dye, 0.2 l of each primer (20 M), 2 l cDNA templates and water up to 20 l. The standard curve was acquired using 10-fold serially diluted plasmid samples as themes, with R2 ideals 0.999. The specific primers utilized for PCR are offered in Table I. The data were analyzed using the comparative Cq method and gene manifestation was normalized to GAPDH (32). Table I. Primer sequences and standard curves used in reverse transcription-quantitative polymerase chain reaction. and em in vitro /em , and HIFs are the important mediators responsible for the activation of several angiogenic factors, including VEGFA (40). However, the various HIF isoforms may be characterized by differential manifestation THZ1 tyrosianse inhibitor and unique functions (41). In the present study, the mRNA manifestation levels of HIF1 and HIF2 were modulated by PPAR activation or inhibition, indicating that HIF and PPAR were both involved in the recruitment of growth factors and induction of vascularization. Consequently, VEC adhesion, proliferation and migration may be revised from the synergistic effect of HIF and PPAR. Three stable VEGFA isoforms, namely VEGF120, VEGF164 and VEGF188, have been recognized in the porcine peri-implantation conceptus (14,42). VEGFA has been implicated in angiogenesis; however, the various VEGFA isoforms are characterized by unique properties and manifestation patterns (43). In addition, the VEGFA isoforms differ with regard to their binding affinity for the various VEGFR subtypes (14,43). In the present study, three VEGF isoforms, namely PlGF, VEGF120 and VEGF188, were exposed to become modulated by PPAR activation or inhibition; whereas VEGF164 did not look like affected by PPAR modulation. These results may indicate that PPAR mediates vascularization through the modulation of VEGF120/VEGFRs, VEGF188/VEGFRs and PlGF/VEGFRs, similarly with the situation observed during early pregnancy in the pig (42,44). These results suggested that numerous VEGF isoforms and VEGFR subtypes may be differentially implicated in the various stages of the angiogenic process, and may differentially regulate vascularization. In present study, the mRNA THZ1 tyrosianse inhibitor manifestation levels of Ang-1 and Ang-2 were assessed in VECs, as offers previously been reported in perivascular and endothelial tip cells (45). The balance between Ang-1 and Ang-2 is critical for THZ1 tyrosianse inhibitor vascular stability, and Ang-1/Ang-2 imbalance has been associated with vascular disruption and the initiation of angiogenesis in tumor cells (46). In addition, aberrant angiogenesis has been reported in Ang-1?/? mice (47). In the present study, PPAR modulation was demonstrated to exert unique effects on Ang-1 and Ang-2 mRNA manifestation, whereby PPAR activation significantly upregulated Ang-1 and downregulated Ang-2. In conclusion, the present results suggested that PPAR may bind to a PPAR-responsive element in the VEGFA promoter region (23), and promote the translation of the VEGF188 isoform instead of VEGF120 or VEGF164, therefore advertising VEGFA/KDR and VEGFA/Flt1 relationships, and increasing capillary denseness and the total quantity of capillary-like tubes. Furthermore, PPAR may interact with HIFs and thus activate VEGF transcription. Therefore, the present findings suggested that PPAR may be implicated in angiogenesis, through the promotion of endothelial cell adhesion, proliferation and migration, and through enhancing the formation and the stability of capillary-like tubules. However, further studies are required to elucidate the detailed molecular mechanisms that underlie the involvement of PPAR in angiogenic processes. Acknowledgements The present study was supported by the Organic Science Basis of China (give nos. 31172377, 31272630 and 31572591) and the Key Projects of Hunan Province Education Office (give no. 14A069). Glossary AbbreviationsCD31cluster of differentiation 31DMSOdimethyl sulfoxideFCSfetal calf serumHIFhypoxia-inducible factorPlGFplacental growth factorPPARperoxisome proliferator-activated receptorsFlt1soluble fms-like tyrosine kinase-1T00709072-chloro-5-nitro-N-4-pyridinyl-benzamideVECvascular endothelial cellVEGFvascular endothelial growth factorVEGFRVEGF receptorvWFvon Willebrand element.
Blog Rabbit Polyclonal to TGF beta Receptor II, THZ1 tyrosianse inhibitor


I purchased my own pair of Rothy's and decided to review them here on my blog. Click here for a coupon for $20 on your first pair, and I'll get $20 credit towards new shoes!
If you're like me, you've been getting hit left and right with targeted ads for pricey flats like Tieks and Rothy's that people are raving about! I didn't bite on the Tieks, mainly because I go through cheap flats like crazy, because my feet sweat a lot (#truth) and they get smelly. I don't usually splurge on shoes as a result; I buy $20 Target or Payless shoes and then toss them after a season.
But then I started to notice friends and coworkers wearing Rothy's flats, and I was intrigued. They raved about how comfortable they were, but the kicker that got me was they were supposedly machine-washable. That in itself felt like a game-changer for me. The catch? The price range is $125-$165, depending on if you go ballet flat, pointed flat, or loafer.
The only shoes I've ever paid over $100 for were combat boots or running/hiking shoes, something with a ton of function and not a lot of style! So I was definitely intimidated by the price tag... but after days of waffling about it, I finally took the plunge and ordered their signature ballet flat in the Taupe Heather color, a good neutral to match the most possible outfits! I also ordered an extra pair of insoles, because of my stinky/sweaty feet thing.
When my shoes arrived, I got a little bit nervous; they looked narrow! But once I put them on, I was impressed. I felt like my feet were in house slippers. They were as soft and comfortable as TOMS, but way cuter and with a non-slipping rubber sole. I ordered a 6.5, which is my normal size in flats. Some people have been saying to size up for the pointed toe versions, but I haven't tried those yet.
One complaint I saw in a Buzzfeed review of Rothy's was that you can see some stretch where your toes are. I find this to be minimally noticeable. The seamless feature of the shoes makes them so soft and comfortable from the get-go! I even went on a 1.5-mile walk during the work day in these shoes with NO BLISTERS. These are basically the only shoe I want to wear this summer that isn't a sandal! That said, if you require arch support and struggle with the lack thereof in normal flats, you're not getting much more out of these. You can probably slip your orthotics into them, but these are definitely for folks who wear flats all the time without issues.
After about a week of 90-degree temps and sweating in my shoes, I decided to wash them. I took the insoles out and tossed all four pieces into my washing machine on cold, delicate cycle. I used our everyday detergent because it's what we use even for the baby's laundry: All Free & Clear. Then I air dried the shoes. Rothy's flats looked brand-new and kept their shape even after washing! I found that they mostly dried overnight, too. The bad smell from my sweat left them easily. In the future, I may sprinkle in a little scent boost, just to give a little fresh smell to them, since my detergent lacks perfume. They didn't smell anymore after washing, but I think adding a little scent will keep them smelling fresher for longer.
When it came to comfort and machine washing, I LOVE my Rothy's! The sustainability aspect (they're made of recycled materials) is a great bonus. The only thing I don't like is the price. I really wish these were $99 instead of $125-$165, because I WANT MORE.
I've already got my sights set on their pointed marigold flats, black loafers, and a red or leopard pair of flats. I would love to have a half dozen pairs of these to replace all of my cheapo flats. (Which, in my mind, would cost around the same ONE pair of Jimmy Choos, but it's still hard to justify in my head.) So I think I may buy one more pair this year, then ask EVERYONE to give me Rothy's giftcards for Christmas. I don't think I've ever had a pair of flats I've liked so much!
If you're thinking about purchasing Rothy's after reading this review, I'd love for you to get a $20 discount through referral, so I can also get a $20 credit towards my new favorite shoe. For once, I bought something from an internet ad that was legitimately perfect for me!
Update 7/2/18, The Point Shoe & The Loafer: I next purchased a pair of Rothy's Point shoes in Marigold, a mustard yellow color. I ordered a 7 (my Flat round toes are a 6.5) based on some advice from the "Rothy's Addicts" Facebook group. They felt a little too snug on my outer toes, so I exchanged them for a 7.5. The 7.5 was perfect! Sometimes they feel a little loose, but they don't slide off my feet. I've also seen in the group that some of the newer colors are fitting more snug.
After trying two colors of loafers, I figured out that 7.5 works best for me, which also happens to be my Point size. So to me, both the Point and the Loafer run smaller.
Ugh, that is my one gripe about Rothy's... the quality control by style and color in terms of fit/size seems inconsistent.
Update 2/7/19: I now have two pairs of flats, five pairs of points, and two pairs of loafers. Truthfully, most of these have been purchased using referral credits (THANK YOU, readers!). The points are my favorites, and I'm waiting on a new pair of red points to arrive. Overall, these shoes have held up really well! I haven't noticed much wear and tear, though my Marigold points (worn the most) show a little more than the others; I may get a second pair because it's my favorite color!
I do tend to get a mark/smudge on my right heel from driving, but that's user inflicted, and it usually washes out when laundered. I'm still a fan, though I don't feel the need to buy them often because I have a good variety now. I have started throwing out old shoes that I don't wear because they've been replaced by Rothy's!
I haven't felt inclined to buy the Sneaker, because I prefer other sneaker brands that are a bit less pricy.
Also, due to demand, their shipping has slowed down noticeably. That's the price of popularity, I guess!


text:
Q: HTTPTransportError - Unexpected WS call using the mocked proxy object I'm stuck trying to run a unit test that makes a web service request. I'm mocking the proxy object of the jax-ws request in my JUnit test using EasyMock.
I have defined the bean using DI in my application-context as follows:
<bean id="mockOrderPort" name="mockOrderPort" class="org.easymock.EasyMock" factory-method="createStrictMock" >
    <constructor-arg value="com.proyecti.perama.siman.replica.integration.schema.OrderPort" />
</bean>

This is the test case that is failing:
//II. Fill the authentication response will be used to mock the server calling
final AuthenticationResponse authenticationResponse = new AuthenticationResponse();
authenticationResponse.setToken(encode(TestConstants.EMPTY_TOKEN));

//III. When authentication is called, mock must return the authentication request object created earlier
expect(mockOrderPort.authentication(EasyMock.anyObject(AuthenticationRequest.class))).andReturn(authenticationResponse);

//IV. Make the mock object available for executing the test
replay(mockOrderPort);

//V. Execute the test (call to server is produced inside this method)
executeTest();

//VI. Verify mock behaviour is correct
verify(mockOrderPort);

Inside the executeTest method, there is the call to the WS using the mocked proxy object:
authenticationResponse = portToServer.authentication(authenticationRequest);

No matter what I try, but it ALWAYS tries to connect to the actual WS, raising the following exception:
authentication request has not been successful. Exception: com.sun.xml.ws.client.ClientTransportException: HTTP Transport error: java.net.ConnectException: Connection refused: connect

Why is the mock object trying to connect instead of returning the object I have created?
Thanks!

redpajama_set_name: RedPajamaStackExchange


^ Cronin, Alexander; Schmiedmayer, Joerg; Pritchard, David. Atom Interferometers. Rev. Mod. Phys. 2009, 81: 1051.
^ George Greenstein; Arthur Zajonc. The Quantum Challenge: Modern Research on the Foundations of Quantum Mechanics. Jones & Bartlett Learning. 2006. ISBN 978-0-7637-2470-2.
^ R. Feynman. Lectures in Physics,Vol. I. Addison Wesley Publishing Company Reading, Mass. 1963. ISBN 9780465024933.
^ 滕琴. 干涉与衍射异同点的探讨. 光学仪器. 2008, 30 (4).
^ Cajori, Florian. A History of Physics in its Elementary Branches, including the evolution of physical laboratories. New York: MacMillan Company. 1899.
^ Jean Louis Aubert. Memoires pour l'histoire des sciences et des beaux arts. Paris: Impr. de S. A. S.; Chez E. Ganeau. 1760.
^ Sir David Brewster. A Treatise on Optics. London: Longman, Rees, Orme, Brown & Green and John Taylor. 1831.
^ Young, Thomas. The Bakerian Lecture: Experiments and calculations relative to physical optics. Philosophical Transactions of the Royal Society of London (Royal Society of London). 1804-01-01, 94: 1–16. doi:10.1098/rstl.1804.0001.
^ Augustin-Jean Fresnel. Mémoire sur la diffraction de la lumière,. Mémoires de l'Académie des Sciences (Paris). 1826, vol. 5.
^ Christiaan Huygens. Traité de la lumiere. Leiden, Netherlands: Pieter van der Aa. 1690.
^ ed. Stephen Jordan Rigaud. Correspondence of Scientific Men of the Seventeenth Century..... Oxford, England: Oxford University Press. 1841.
^ 刘战存. 衍射光栅发展历史的回顾. 物理实验. 1997, 19 (1).
^ 李灵杰. 试析光盘道间距测量中光栅方程的适用条件. 大学物理实验. 2011, 24 (4).
^ 高永伟,愈艳蓉. 全息摄影技术的实验研究. 宁夏工程技术. 2011, 10 (4).
^ 19.0 19.1 Dainty C (Ed). Laser Speckle and Related Phenomena. Sprinter Verlag. 1984. ISBN 0-387-13169-8.
^ Andrew Norton. Dynamic fields and waves of physics. CRC Press. 2000. ISBN 9780750307192.
^ 21.0 21.1 21.2 21.3 21.4 赵凯华. 新概念物理教程·光学. 高等教育出版社. ISBN 7-04-015562-1.
^ 22.0 22.1 22.2 22.3 22.4 22.5 蔡履中,王成彦,周玉芳. 光学. 山东大学出版社. ISBN 7-5607-0695-9.
^ 23.0 23.1 23.2 23.3 23.4 郭永康. 光学. 高等教育出版社. ISBN 9787040173918.
^ 26.0 26.1 梁昆淼. 数学物理方法(第三版). 高等教育出版社. ISBN 978-7-04-005906-9.
^ Propagation of Laser Beam - Gaussian Beam Optics (PDF). National University of Singapore. [2012-04-03].
^ Mahajan, Virendra. Optical imaging and aberrations, Volume 2. SPIE Press. 1998. ISBN 9780819425157.
^ 杨福家. 原子物理学(第四版). 高等教育出版社. ISBN 978-7-04-022994-3.
^ M. Jammer. The Conceptual Development of Quantum Mechanics. McGraw - Hill Co. 1966.
^ 钱伯初. 量子力学. 高等教育出版社. ISBN 7-04-017783-8.
^ 34.0 34.1 张艺,沈为民. 固体电子学基础. 浙江大学出版社. ISBN 7-308-04487-4.
^ 35.0 35.1 王矜奉. 固体物理教程. 山东大学出版社. ISBN 978-7-5607-1665-7.
^ John M. Cowley. Diffraction physics. North-Holland, Amsterdam. 1975. ISBN 0-444-10791-6.
^ The Nobel Prize in Physics 1915: William Bragg, Lawrence Bragg. The Official Web Site of the Nobel Prize. [2012-03-22].
^ 程万荣,吴自勤. 铜合金薄膜高温行为的电子显微镜观察. 物理学报. 1982, (10).
^ 39.0 39.1 Grant R. Fowles. Introduction to Modern Optics. Courier Corporation. 1975. ISBN 978-0-486-65957-2.
^ Ayahiko Ichimiya; Philip I. Cohen. Reflection High-Energy Electron Diffraction. Cambridge University Press. 2004-12-13. ISBN 978-0-521-45373-8.


The new year has started, and that means back to work for everyone. For many of Americans, that means back to the computer screen, spending 8-12 hours a day with non-stop computer use. And then, yes, we go home and typically unwind with computer use (or iPad or cell phone). So what is all of that computer time potentially doing to your eyes? This month I am devoting multiple posts to computer vision -- how to maximize your computer vision and comfort, and possible solutions for common computer complaints with the eye.
Let's start with just a general review of your workplace ergonomics. It's amazing what a difference the right set up can make!
Advice: The top of your computer screen should range from at eye level to 15 degrees below your eye level when you are sitting straight at your desk. If you have a large monitor, at eye level is advisable. Smaller monitors are better for 15 degree below eye level screen height.
Why? The goal is that your neck can be held straight, without needing to tilt the chin up or down. If you wear progressives, this will put your eye naturally looking through the computer portion of the lens. Other benefit? Your eyelids will be able to droop partially closed. If your screen height is above eye level, you will have to hold your eyes open very wide! This leads to much more dryness issues by the end of the day!
Advice: Set your computer monitor about extended arms length away from your seat. Typically the distance is 2-3 feet.
Why? The closer your monitor screen is to your person, the harder your eyes are going to have to work. A longer working distance allows for more comfortable viewing distance, as well as a wider field of view to work with, which means less head movement for you when you are reading across the screen.
Advice: Natural lighting, such as window light is great, but should be dimmed so that the brightness from surrounding lights is as close as possible to the brightness of the screen.
Why? Ambient brightness can create more glare and reflections on the screen. If your surrounding lighting is about the same brightness as your screen, the world will seem more natural. There will be less discomfort caused by the difference between screen brightness and world brightness. Try dimming your computer screen to match workplace brightness if you can't change your workplace lighting.
Advice: Avoid any external lighting reflecting onto computer screen by moving position of lamps, or covering windows if they provide direct glare. A yellow filter over the screen can also be used for glare reduction.
Why? Yellow filters out blue light waves, which is the predominant wavelength of electronic light sources. Therefore a yellow filter will cut glare from your screen, but also enhance the contrast of black writing on a white screen. A win-win.
Advice: Do not have air vents or fans putting direct air flow on your face.
Why? Direct air flow will dry your eyes out even faster, creating blur, redness, and discomfort!


text:
Q: Refactoring away labeled loops After I was convinced that labeled breaks/continues are a total "nono" over here, I need help to remove the label out of my code.
I have a square matrix and a vector that has the same length. The vector has already some values in it an depending on the values in the matrix the vector is changed in the loop.
I hope, the code-fragment is basically understandable…
vectorLoop:
for( int idx = 0; idx < vectorLength; idx++) {
    if( conditionAtVectorPosition( v, idx ) ) continue vectorLoop;

    matrixLoop:
    for( rowIdx = 0; rowIdx < n; rowIdx++ ) {
        if( anotherConditionAtVector( v, rowIdx ) ) continue matrixLoop;
        if( conditionAtMatrixRowCol( m, rowIdx, idx ) ) continue vectorLoop;
    }
    setValueInVector( v, idx );
}

Please convince me, that there is a more readable/better version without the labels.

A: Looking at the solutions presented so far:

*

*They all look less readable than the original, in that they involve spending more code on the mechanism of the code rather than on the algorithm itself

*Some of them are broken, or were before they were edited. Most damning is the fact that people are having to think quite hard about how to write the code without labels and not break anything.

*Some come with a performance penalty of running the same test twice, which may not always be trivial. The alternative to that is storing and passing round booleans, which gets ugly.

*Refactoring the relevant part of the code into a method is effectively a no-op: it rearranges how the code is laid out in the file, but has no effect on how it's executed.
All of which makes me believe that, at least in the case of this question as phrased, the label is the correct solution and doesn't need to be refactored away. Certainly there are cases where labels are used incorrectly and should be refactored away. I just don't think it should be treated as some unbreakable rule.

A: Easily, my good man.
for( int idx = 0; idx < vectorLength; idx++) {
  if( conditionAtVectorPosition( v, idx ) ) continue;

  for( rowIdx = 0; rowIdx < n; rowIdx++ ) {
    if( anotherConditionAtVector( v, rowIdx ) ) continue;
    if( conditionAtMatrixRowCol( m, rowIdx, idx ) ) break;
  }
  if( !conditionAtMatrixRowCol( m, rowIdx, idx ) )
    setValueInVector( v, idx );
}

EDIT: Quite correct you are Anders. I've edited my solution to take that into account as well.

A: @Patrick you are assuming calling setValueInVector( v, idx ); at the end of the second loop is OK. If the code is to be identical, logically, it must be rewritten to somethng like this:
for( int idx = 0; idx

A: From reading your code.

*

*I noticed your eliminating the invalid vector positions at conditionAtVectorPosition then you remove the invalid rows at anotherConditionAtVector.

*It seems that checking rows at anotherConditionAtVector is redundant since whatever the value of idx is, anotherConditionAtVector only depends on the row index (assuming anotherConditionAtVector has no side effects).

So you can do this:

*

*Get the valid positions first using conditionAtVectorPosition (these are the valid columns).

*Then get the valid rows using anotherConditionAtVector.

*Finally, use conditionAtMatrixRowCol using the valid columns and rows.

I hope this helps.

A: @Sadie:

They all look less readable than the original, in that they involve spending more code on the mechanism of the code rather than on the algorithm itself

Externalizing the second loop outside the algorithm is not necessarily less readable. If the method name is well chosen, it can improve readability.

Some of them are broken, or were before they were edited. Most damning is the fact that people are having to think quite hard about how to write the code without labels and not break anything.

I have a different point of view: some of them are broken because it is hard to figure out the behavior of the original algorithm.

Some come with a performance penalty of running the same test twice, which may not always be trivial. The alternative to that is storing and passing round booleans, which gets ugly.

The performance penalty is minor. However I agree that running a test twice is not a nice solution.

Refactoring the relevant part of the code into a method is effectively a no-op: it rearranges how the code is laid out in the file, but has no effect on how it's executed.

I don't see the point. Yep, it doesn't change the behavior, like... refactoring?

Certainly there are cases where labels are used incorrectly and should be refactored away. I just don't think it should be treated as some unbreakable rule.

I totally agree. But as you have pointed out, some of us have difficulties while refactoring this example. Even if the initial example is readable, it is hard to maintain.

A: @Nicolas

Some of them are broken, or were before they were edited. Most damning is the fact that
    people are having to think quite hard about how to write the code without labels and not
    break anything.

I have a different point of view: some of them are broken because it is hard to figure out
  the behavior of the original algorithm.

I realise that it's subjective, but I don't have any trouble reading the original algorithm. It's shorter and clearer than the proposed replacements.
What all the refactorings in this thread do is emulate the behaviour of a label using other language features - as if you were porting the code to a language that didn't have labels.

A: Some come with a performance penalty of running the same test twice, which may not always be trivial. The alternative to that is storing and passing round booleans, which gets ugly.

The performance penalty is minor. However I agree that running a test twice is not a nice solution.
I believe the question was how to remove the labels, not how to optimize the algorithm. It appeared to me that the original poster was unaware of how to use 'continue' and 'break' keywords without labels, but of course, my assumptions may be wrong.
When it comes to performance, the post does not give any information about the implementation of the other functions, so for all I know they might as well be downloading the results via FTP as consisting of simple calculations inlined by the compiler.
That being said, doing the same test twice is not optimal—in theory.
EDIT: On a second thought, the example is actually not a horrible use of labels. I agree that "goto is a no-no", but not because of code like this. The use of labels here does not actually affect the readability of the code in a significant way. Of course, they are not required and can easily be omitted, but not using them simply because "using labels is bad" is not a good argument in this case. After all, removing the labels does not make the code much easier to read, as others have already commented.

A: This question was not about optimizing the algorithm - but thanks anyway ;-)
At the time I wrote it, I considered the labeled continue as a readable solution.
I asked SO a question about the convention (having the label in all caps or not) for labels in Java.
Basically every answer told me "do not use them - there is always a better way! refactor!". So I posted this question to ask for a more readable (and therefore better?) solution.
Until now, I am not completely convinced by the alternatives presented so far.
Please don't get me wrong. Labels are evil most of the time.
But in my case, the conditional tests are pretty simple and the algorithm is taken from a mathematical paper and therefore very likely to not change in the near future. So I prefer having all the relevant parts visible at once instead of having to scroll to another method named something like checkMatrixAtRow(x).
Especially at more complex mathematical algorithms, I find it pretty hard to find "good" function-names - but I guess that is yet another question

A: I think that labelled loops are so uncommon that you can pick whatever method of labelling works for you - what you have there makes your intentions with the continues perfectly clear.

After leading the charge to suggest refactoring the loops in the original question and now seeing the code in question, I think you've got a very readable loop there.
What I had imagined was a very different chunk of code - putting the actual example up, I can see it is much cleaner than I had thought.
My apologies for the misunderstanding.

A: Does this work for you? I extracted the inner loop into a method CheckedEntireMatrix (you can name it better than me) - Also my java is a bit rusty.. but I think it gets the message across
for( int idx = 0; idx < vectorLength; idx++) {
    if( conditionAtVectorPosition( v, idx )
    || !CheckedEntireMatrix(v)) continue;

    setValueInVector( v, idx );
}

private bool CheckedEntireMatrix(Vector v)
{
    for( rowIdx = 0; rowIdx < n; rowIdx++ ) {
        if( anotherConditionAtVector( v, rowIdx ) ) continue;
        if( conditionAtMatrixRowCol( m, rowIdx, idx ) ) return false;
    }
    return true;
}

A: Gishu has the right idea :
for( int idx = 0; idx < vectorLength; idx++) {
    if (!conditionAtVectorPosition( v, idx )
        && checkedRow(v, idx))
         setValueInVector( v, idx );
}

private boolean checkedRow(Vector v, int idx) {
    for( rowIdx = 0; rowIdx < n; rowIdx++ ) {
        if( anotherConditionAtVector( v, rowIdx ) ) continue;
        if( conditionAtMatrixRowCol( m, rowIdx, idx ) ) return false;
    }
    return true;
}

A: I'm not too sure to understand the first continue.
I would copy Gishu and write something like ( sorry if there are some mistakes ) :
for( int idx = 0; idx < vectorLength; idx++) {
    if( !conditionAtVectorPosition( v, idx ) && CheckedEntireMatrix(v))
        setValueInVector( v, idx );
}

inline bool CheckedEntireMatrix(Vector v) {
    for(rowIdx = 0; rowIdx < n; rowIdx++)
        if ( !anotherConditionAtVector(v,rowIdx) && conditionAtMatrixRowCol(m,rowIdx,idx) )
            return false;
    return true;
}


Club Cafe' Cafe Racers; the Thruxton, Bobber and other custom cafe styled bikes.
OK, so we finally got around to doing a full end to end test relating to the removal of the cat from a Thruxton 1200R, and documented each of the changes, with dyno runs and full A/F measurements.
I'll be posting a full report on it all soon, but I've left the preliminary document with a tuning specialist to check all the facts and correct any mistakes I've made. That will be a more complete account of the fun, but I'll post the "too long, did not read" version here.
The bike was a 2,500km Thruxton 1200R, with no modifications for the first dyno runs. The dyno was Platinum Motorcycles in Victoria (http://platinummotorcycles.com.au/) where they have a DynoJet dyno and do lots of race bike tuning. We explained that the reason this was being undertaken was to document both the default state of tuning on a standard Thruxton 1200, and the effect that changes such as de-cat and slip-ons made to factors such as A/F, performance, and responsiveness.
We were sent down a cross-pipe from Meerkat to perform these tests, and Peter Herrington also sent down a set of his race slip-ons to use during the test runs. It was made clear that the results would be released even if we discovered issues, and he was perfectly happy to accept that. The products arrived the next day, and the quality of finish on these was stunning, particularly given they were hand-made. This is not a plug for Meerkat by me, but a recognition of incredibly impressive workmanship.
So... here is the first dyno run from the stock bike. The idle/cruise/gentle throttle (in closed loop) recorded an A/F of 14.8, as expected, and this shows the AF mixture, going slightly rich, then slightly lean (from a power perspective, not relative to stoich) in the midrange, then over-rich at the top end.
Next was to fit the decat (or decat the bike?). This was about 2 hours work, not all that tricky (particularly with @Fenech doing most of the work!), and the Meerkat unit which looks like a work of art, fitted perfectly. I thought I'd also mention that the frame bolt everyone complains about is extremely easy to reach from above with a 14mm ring-spanner, so I'm not sure what all the fuss is about.
As you can see, there was a huge increase in torque over the entire rpm range. This is an average of about 7% increase, from off-idle all the way to the rev limiter!
Awesome stuff, and very noticeable when you're riding. The low-end pickup is stronger, without the slightly hesitant feel you get from standstill if you don't slip the clutch enough, making the feel more relaxed.
Remember this is across the whole rpm range, not just the top-end, so the bike accelerates 7% faster from opening the throttle all the way to changing up, and the bike feels as though the sports mode is on because you get the same power by throttle position in standard mode. In sports mode it's even more impressive!
So what about the dreaded A/F ratios? Well you can see from the chart that it is about 2% leaner (as expected, there's a less restrictive gas-flow), but it is still far below lean. The idle/cruise closed-loop remained unchanged at 14.8, indicating that the ECU loop has no issue adjusting, and the open-loop tables in the ECU are rich enough for it to simply not be an issue at all.
OK, so the final step... what happens when the slip-ons are added? I honestly predicted this would make no difference, as the OEM can is relatively open with some mild 'waffling'.
What's happened is that the torque has shifted slightly down, probably because the slip-ons were shorties which tend to increase low torque at the expense of top end torque.
What's also interesting is that the A/F ratio has increased again by about 2%, suggesting the mild-mannered OEM cans do actually have more impact than expected, probably because of the cat removal.
In spite of all this, it's still perfectly within safe tolerances, but it does demonstrate that there may be more airflow restriction at the filter side, but any additional changes will probably need a mixture adjustment to keep the mid-range A/F more optimised.
The tuning specialise at Platinum estimates an additional 6-8hp should be achievable simply by resolving the factory fuelling instability, keeping it at a constant 13ish across the whole range. If this is so (and that might be the next project) it will mean an additional 13-16% power across the spectrum.
So here's the finished setup. I left the shorties on because I like them a lot. Guess I'll have to change address so Peter at Meerkat can't find me to ask for them back.
Decat with the OEM exhausts is still very socially acceptable. Popping is slightly louder, but not very loud. The bike sounds like it should have done from the factory, like a highly-tuned twin with road-legal mufflers.
Now decat with the slip-ons is another story. This setup is for the men, not the boys! It's not harsh or crackling like a Harley, but on idle it sounds like a classic 2-stroke, with a burble and throaty sound that is awesome.
Opening the throttle wide makes a real powerful roar. Again, not horrible and painful like Harley pipes, but more like a performance tuned rally car roaring past you, and personally I think it sounds wonderful.
Overrun definitely introduces popping, which can be stopped by pulling in the clutch, but again I like it. It tends to be more a set of small crackles than bangs, whereas the slash-cuts I used to use with the cat gave much louder 'pops'.
So in summary, for me the bike is now really quite awesome. The power increase is very noticeable and makes the throttle response much nicer, the sound may be 10% louder than ideal for me but I just don't care, and I feel the appearance is vastly improved by removal of the dual whales and replacement with beautifully engineered hand-made mini versions of classic pipes.
Sorry the TL;DR ended up so long, but after spending all this time and money researching I want to make sure I get as much info out there as possible.
Make sure you allow ample time because Peter likes to discuss in detail, and you won't get away until he knows exactly what it is you want constructing, but when it arrives it's well worth the wait!
TriRocket3, tsmgguy, SirCuffsalot and 38 others like this.
Last edited by jsobell; 02-01-2017 at 05:52 AM.
2016 Triumph Thruxton R - Finally feel like I belong!
Awesome write up jsobell. Your thoughts on the end result is exactly how I feel about mine. Simply put the changes do what Peter from Meerkat said they would. I'll let you know when I have replaced my air filter and have the PCV fitted and dyno tuned. Stand by. Once again glad to help and great detailed write up.
"You were hauling along when I came past you"
Excellent post. Great data here.
Thank you @jsobell for making this post.
Cheers for that, looking fwd to receiving my de-cat pipe, bikes been stripped down for two weeks already! hopefully come next week.
Great post.... I am still waiting until we can see a fully tuned bike. This however seems promising.
Don't we need it?? If I understand correctly, balancing the backpressure between the independent exhaust increases power and reduces resonance.
That's what I was thinking. Independent duals have been proven to be less effective in most setups...Atleast from what I have read.


text:
SonicWall to expand product engineering facility in India
According to Debasish Mukherjee's, Country Manager India & SAARC SonicWall, the company will expand its product engineering facility in Bangalore in the coming monthsPankaj Maru | ETCIO | August 04, 2018, 07:00 IST
Bangalore: SonicWall, a private equity-backed security company is planning to expand its product engineering facility in India.
According to Debasish Mukherjee's, Country Manager India & SAARC SonicWall, the company will expand its product engineering facility in Bangalore in the coming months.
"In India, we are expanding our facility and very soon you will hear about the new facility based out of Bangalore and the development has already been started over here. We are increasing the manpower and lots of development has already started happening in Bangalore," Mukherjee told ETCIO.com
"The company has over 350 people that are providing technical support and working in the R&D space," added Mukherjee. With the plans to expand the facility, the company is likely to increase headcounts in the engineering domain. However, the company has a separate sales team.
It's been close to two years since SonicWall is operating as an independent security company after Dell sold SonicWall to private equity firm Francisco Partners and Elliott Management.
Since then, the company has made a comeback trail and trying to regain its ground and business globally including India.
"We are in the growth stage and we are growing more than double digits. We are meeting all our financial numbers quarter on quarter. So we are seeing a lot of traction and there's a growth," commented Mukherjee.
Two brothers Sreekanth Ravi and Sudhakar Ravi founded the company in 1991 as Sonic Systems and successfully established the company in the UTM (unified threat management) segment.
However, in the past two years, post the spun-off from Dell, the company has been repositioning itself in the enterprise security space.
"As you know, SonicWall was always a dominant or no.1 player globally in the UTM segment. But in last two, we have changed this story and we are no more a UTM company. And now we are more of an enterprise security company and all our technology product and innovation is happening in the enterprise space," informed Mukherjee.
Although, SonicWall's UTM business focused on the SMB market has been growing at a decent rate, but it's the enterprise business that has been growing at a higher rate than the SMB, according to Mukherjee.
The digital wave in India is actually opening up more opportunities for security companies and there's growing competition as well.
"Yes competition is growing and the market is also growing. The India market is almost $200 million, so now everyone growing, but the thing is, are they doing technology innovation or addressing the pain points," remarked Mukherjee.
With 70 percent of data being encrypted today, Mukherjee asked that are those technologies available in the market able to decrypt the data and protect the customers against the growing encrypted threats sent by cybercriminals.
The encrypted threats are growing at a rate of over 200 percent, according to SonicWall's midyear threat report.
Tags : Corporate, SonicWall, product engineering, UTM, SMB, R&D, private equity, Enterprise Security, Dell


text:
Taliban delegation in Ankara for talks with Turkish officials
By Muzna Mishal Waseem	 On Oct 14, 2021, 2:35 pm 40 0
Oct 13, 2021: A high-level Taliban delegation has arrived in Turkey's capital for talks as Afghanistan's new government continues a diplomatic push for support and recognition.
Afghan Foreign Ministry spokesman Abdul Qahar Balkhi said on Thursday that acting Foreign Minister Amir Khan Muttaqi and other ministers would meet "senior Turkish officials" to discuss "issues of mutual interest", including aid, migration, air transport and trade.
Balkhi said the invitation was extended by Turkish Foreign Minister Mevlut Cavusoglu.
The visit comes a day after Cavusoglu told reporters that he and other foreign ministers plan to visit the Afghan capital, Kabul, to hold talks with the Taliban, who took over the country in August. It comes after days of talks in Qatar, where the group called on US and European officials to end the country's isolation, including easing financial sanctions that it said were crippling the country.
Turkey, a NATO member, has maintained its embassy in Afghanistan following the withdrawal of Western countries after the Taliban took over, and urged those countries to increase engagement.
At the same time, he said, it would only work fully with the Taliban if it formed a more comprehensive administration.
Turkey is also working with Qatar to operate the airport in the Afghan capital, Kabul, and reopen it for international travel.
Stay tuned to BaaghiTV for latest news and Updates!
Israel flattens Muslim graveyards near Al-Aqsa Mosque
AfghanistanNATOtalibanTurkey
Muzna Mishal Waseem 4005 posts 0 comments
Reuters report reveals how Amazon copied products, rigged search to push own brands
Zeeshan Malik suspended under PCB Anti-Corruption Code


text:
The Corruption Underlying the Scooter Libby Pardon
April 20, 2018 April 20, 2018 / Randall Eliason
Last week president Trump pardoned Scooter Libby, the former chief of staff to vice president Dick Cheney. Libby was convicted in 2007 of obstruction of justice, perjury, and false statements in connection with the investigation into the leak of the identity of a covert CIA agent, Valerie Plame. In his statement announcing the pardon, Trump said he did not know Libby, "but for years I have heard he was treated unfairly."
Since his conviction more than ten years ago, Libby had faded into relative obscurity. He never served his 30-month sentence because it was commuted by president Bush – although Bush, the president most knowledgeable about Libby's activities, did not see fit to pardon him. He already had his voting rights restored and had been re-admitted to the practice of law. Unlike controversial former Arizona Sheriff Joe Arpaio, whom Trump pardoned last year, Libby was not facing any imminent court proceedings.
So why this pardon, and why now? It appears to have nothing to do with Libby and everything to do with president Trump's ongoing assault on the Mueller investigation and the rule of law.
Valerie Plame Wilson
The CIA Leak Case
Some may not recall the details of the events that led to Libby's conviction, but the investigation known as the CIA leak case, or "Plamegate," riveted Washington in the mid-2000s. It began with president George W. Bush's State of the Union address in 2003, when his administration was trying to build the case for invading Iraq. Bush's speech included what later became known as the "sixteen words:" "The British government has learned that Saddam Hussein recently sought significant quantities of uranium from Africa." That claim was one piece of evidence in the Bush administration's argument that military action was necessary because Hussein possessed weapons of mass destruction.
The United States invaded Iraq in March 2003 and no WMDs were found. Beginning in May 2003, a series of press reports appeared claiming the sixteen words were false and the administration knew it when Bush gave the speech. Those reports said the CIA had sent a former ambassador to Africa in 2002 to investigate the uranium claims and he had concluded they had no basis. These stories culminated with an op-ed in the New York Times on July 6, 2003 by the former ambassador himself, Joseph Wilson. Wilson wrote he had been sent to Niger in 2002, had concluded that the claims about Hussein seeking uranium were untrue, and had reported this back to the CIA.
During this time the White House was in full crisis-control mode, trying to combat the firestorm of allegations that the administration had manipulated intelligence to lead the country into war. The evidence at his trial demonstrated that Libby was at the forefront of this damage control effort, speaking to numerous people within the White House, State Department, and CIA to learn the details of Wilson's trip to Africa. During those conversations he learned from multiple sources that Wilson's wife, Valerie Plame, worked at the CIA. Libby and other administration officials also had numerous conversations with members of the press about Wilson and Plame. The White House was trying to convince reporters that Wilson was not credible or qualified and had only been sent to Africa because his wife worked at the CIA.
On July 14, 2003, Robert Novak wrote a column for the Washington Post adopting the White House line and seeking to discredit Wilson's claims. He wrote, "Wilson never worked for the CIA, but his wife Valerie Plame is an agency operative on weapons of mass destruction." Prior to that column, Plame's employment with the CIA was classified and not publicly known. Revealing the name of a covert CIA agent can be a crime under certain circumstances, and in September 2003 the FBI launched an investigation into who had leaked Plame's name to the press.
The FBI interviewed Libby about the leak of Plame's identity in October and November, 2003. During those interviews, Libby said that during a conversation with Tim Russert of NBC News in July, Russert had informed Libby that Wilson's wife worked for the CIA. Libby told the FBI he was surprised to hear that from Russert, because at the time he did not recall that he had already learned about Plame through his own intensive investigation. Libby also said that during a conversation with reporter Matt Cooper of Time magazine, he told Cooper other reporters were saying Wilson's wife worked at the CIA but Libby did not know whether that was true.
At the time of Libby's FBI interviews, the investigation was being handled by the Department of Justice under Bush's attorney general, John Ashcroft. In response to growing political pressure, in December 2003 Ashcroft recused himself. Acting Attorney General James Comey (yes, that James Comey) then appointed Patrick Fitzgerald, the U.S. Attorney for the Northern District of Illinois, as special counsel to conduct the investigation. (Full disclosure: Fitzgerald is a law school classmate of mine, although we were not close in law school and to my recollection have spoken only once in the 30-plus years since we graduated.)
After Fitzgerald took over the investigation, Libby testified twice in the grand jury. He repeated essentially the same stories concerning his conversations with Russert and Cooper. Prosecutors alleged that this was part of an attempt to cover up the Bush White House's active and persistent role in "outing" Plame to the press which, even if ultimately not criminal, would have been very damaging politically. Libby's story allowed him to admit that he spoke to reporters but deny any responsibility for knowingly disclosing Plame's CIA employment – he claimed he was merely repeating unconfirmed gossip.
Libby was ultimately indicted in October 2005 for obstruction of justice, two counts of false statements to the FBI, and two counts of perjury. Following a jury trial, he was convicted on four of the five counts in March of 2007. He was sentenced to thirty months in prison, but president Bush commuted his sentence and he never served any time.
I. Lewis "Scooter" Libby
Libby's Defense
Libby did not testify at his trial, but the theory of the defense was a failure of recollection. The defense claimed that despite Libby's active work for several weeks investigating the crisis consuming the White House, when he spoke to reporters merely days later he had forgotten that information. In the grand jury he even went so far as to testify that he told Time's Cooper he wasn't even sure whether Wilson had a wife.
Prosecutors presented a parade of witnesses, several of them other Bush administration officials and political allies of Libby, who testified about their conversations with him concerning Wilson and Plame while the White House was scrambling to respond to the Africa story. Russert also testified and denied telling Libby about Wilson's wife. The evidence showed Libby was deeply involved in investigating the matter and trying to control the damage. It was simply unbelievable, prosecutors argued, that someone accomplished and capable enough to rise to the level of chief of staff to the vice president spent weeks investigating Wilson and Plame and then failed to remember it mere days later when speaking to reporters. The jury agreed.
(As an aside: conservatives who support Libby typically express outrage that he was not prosecuted for leaking Plame's name but "only" for perjury, obstruction, and lying to the FBI. This has always baffled me. Fitzgerald found that Libby, a senior White House official, tried to obstruct a federal criminal investigation into the leak of Plame's identity. Given this evidence, Fitzgerald did what any good prosecutor would do: prosecute the attempted cover-up to protect the integrity of the justice system and send a message to others. Even if the underlying conduct being investigated ends up not being criminal, you don't get a pass on lying to the FBI about it or lying in the grand jury. That should be doubly true if, like Libby, you work at the highest levels of the White House.)
Judith Miller's Changed Recollection
Part of the purported reason for granting the pardon was that a witness at trial, former New York Times reporter Judith Miller, has supposedly recanted her testimony. Miller, who was best known for a series of stories in the Times that bolstered the administration's case for invading Iraq, went to jail for three months in 2005 when she refused to identify Libby as her source for information about Plame. Libby finally released her from her pledge of confidentiality, and Miller testified in the grand jury and at trial.
Ten years later, in a new book, Miller said she now believed she had been misled by prosecutors and that her testimony at the trial was incorrect. Those assertions, of course, have never been cross-examined or tested. When Trump granted the pardon claiming Libby had been treated "unfairly," Fitzgerald issued a statement rejecting Miller's claims and any suggestion that any witness was misled or information withheld.
Fitzgerald always had a sterling reputation when he was with DOJ as an outstanding, by-the-book prosecutor. Miller is a close friend of Libby's and certainly no fan of Fitzgerald, who had her jailed for contempt. She waited ten years, until she was plugging a new book, to make her supposed recantation. Her claim that her memory of conversations with Libby was better in 2015 than it was in 2005 is implausible. If the question boils down to Fitzgerald's credibility vs. Miller's, I don't think that's even a close call.
In any event, Miller overstates her importance to the case. Libby was convicted based on his lies about conversations with Russert and Cooper, not with Miller. Miller was only one of a number of witnesses who testified about LIbby's deep involvement with investigating and discussing Plame and Wilson. Her attempt to revisit her sworn testimony more than a decade later provides no sound basis to question the validity of Libby's conviction.
The Corruption Underlying the Libby Pardon
It almost goes without saying, but this pardon did not follow the normal process of review within the Department of Justice. There is an entire office at DOJ, the Office of the Pardon Attorney, tasked with reviewing applications for clemency and making recommendations to the president. Trump, of course, bypassed that process. No doubt he will soon be pardoning people by Tweet.
It's safe to say Trump is not personally concerned about Libby. As he said in his statement, he doesn't even know him. So why this pardon, and why now? Presidents typically grant pardons in batches, frequently around the holidays or when they are getting ready to leave office. There was certainly no urgency about the Libby pardon that would explain why it needed to be done now, and outside of the normal DOJ channels.
But although the pardon is largely symbolic for Libby, it serves a dual purpose for president Trump. First, it sends a clear signal to those who might consider cooperating against the president, such as Paul Manafort, Michael Cohen, and Michael Flynn: stay strong, don't cooperate, and I'll pardon you if necessary. When Trump's attorney John Dowd recently resigned, there were reports that he had discussions last year with lawyers for Flynn and Manafort about possible pardons. Pardoning Libby reinforces that same message from the president: if you've got my back, I've got yours.
The supposed rationale for the pardon also feeds into the president's overall defense strategy of attacking the Mueller investigation as an illegitimate "witch hunt." Trump didn't pardon Libby by saying his long record of public service and otherwise exemplary career made him deserving of clemency. Instead, the claim was that Libby had been treated unfairly by an overzealous prosecutor. And not just any prosecutor, but a special counsel who was appointed by none other than James Comey.
This pardon thus furthers the defense narrative that special counsels can't be trusted, that they are simply out to "get" anyone they can, and that they unfairly charge people with "process crimes" like perjury and obstruction. This is exactly what Trump wants the public to believe about the Mueller investigation. He will point to the Libby case as a supposed example of the unfairness he and his own people are now allegedly facing. The pardon also indirectly attacks the integrity and competence of Comey, who appointed Fitzgerald — which of course also feeds directly into the president's strategy.
Libby was not a victim who was treated "unfairly." He had a fair jury trial with excellent defense counsel in front of a smart, no-nonsense judge, Reggie Walton (who was appointed by president George W. Bush, by the way). Judge Walton, who said at sentencing that the evidence of Libby's guilt was "overwhelming," had no problem with the government's case. (Walton did, however, take issue with Bush's decision to commute Libby's sentence, and took the unusual step of criticizing that action in a judicial opinion.) It's false for Trump to characterize Libby's pardon as simply correcting a past injustice. The true purpose appears to be something far darker.
Scooter Libby is widely regarded as the fall guy in the Plame affair. He remained silent, took the rap, and protected his president and the administration. He's a stand-up guy. Those are traits president Trump likely admires. And Trump may believe he needs such people around him right now. What better way to make sure they know that if they protect him, he will return the favor. Trump had the power to grant this pardon — but it may be one of the most transparently corrupt things he has done since taking office.
Like this post? Click here to join the Sidebars mailing list
Public Corruption, White Collar Crime
corruption, Donald Trump, False Statements, Obstruction of Justice, pardons, perjury, Scooter Libby
← Pardons, Bribery, and President Trump
Mueller's Potential Interview of President Trump: Q & A →


text:
module StgCmm ( codeGen ) where

#define FAST_STRING_NOT_NEEDED
#include "HsVersions.h"

import StgCmmProf
import StgCmmMonad
import StgCmmEnv
import StgCmmBind
import StgCmmCon
import StgCmmLayout
import StgCmmUtils
import StgCmmClosure
import StgCmmHpc
import StgCmmTicky

import Cmm
import CLabel

import StgSyn
import DynFlags

import HscTypes
import CostCentre
import Id
import IdInfo
import Type
import DataCon
import Name
import TyCon
import Module
import ErrUtils
import Outputable
import Stream

import OrdList
import MkGraph

import Data.IORef
import Control.Monad (when,void)
import Util

codeGen :: DynFlags
         -> Module
         -> [TyCon]
         -> CollectedCCs                -- (Local/global) cost-centres needing declaring/registering.
         -> [(StgBinding,[(Id,[Id])])]  -- Bindings to convert, with SRTs
         -> HpcInfo
         -> Stream IO CmmGroup ()       -- Output as a stream, so codegen can
                                        -- be interleaved with output

codeGen dflags this_mod data_tycons
        cost_centre_info stg_binds hpc_info
  = do  { liftIO $ showPass dflags "New CodeGen"

              -- cg: run the code generator, and yield the resulting CmmGroup
              -- Using an IORef to store the state is a bit crude, but otherwise
              -- we would need to add a state monad layer.
        ; cgref <- liftIO $ newIORef =<< initC
        ; let cg :: FCode () -> Stream IO CmmGroup ()
              cg fcode = do
                cmm <- liftIO $ do
                         st <- readIORef cgref
                         let (a,st') = runC dflags this_mod st (getCmm fcode)

                         -- NB. stub-out cgs_tops and cgs_stmts.  This fixes
                         -- a big space leak.  DO NOT REMOVE!
                         writeIORef cgref $! st'{ cgs_tops = nilOL,
                                                  cgs_stmts = mkNop }
                         return a
                yield cmm

               -- Note [codegen-split-init] the cmm_init block must come
               -- FIRST.  This is because when -split-objs is on we need to
               -- combine this block with its initialisation routines; see
               -- Note [pipeline-split-init].
        ; cg (mkModuleInit cost_centre_info this_mod hpc_info)

        ; mapM_ (cg . cgTopBinding dflags) stg_binds

                -- Put datatype_stuff after code_stuff, because the
                -- datatype closure table (for enumeration types) to
                -- (say) PrelBase_True_closure, which is defined in
                -- code_stuff
        ; let do_tycon tycon = do
                -- Generate a table of static closures for an
                -- enumeration type Note that the closure pointers are
                -- tagged.
                 when (isEnumerationTyCon tycon) $ cg (cgEnumerationTyCon tycon)
                 mapM_ (cg . cgDataCon) (tyConDataCons tycon)

        ; mapM_ do_tycon data_tycons
        }

---------------------------------------------------------------
--      Top-level bindings
---------------------------------------------------------------

{- 'cgTopBinding' is only used for top-level bindings, since they need
to be allocated statically (not in the heap) and need to be labelled.
No unboxed bindings can happen at top level.

In the code below, the static bindings are accumulated in the
@MkCgState@, and transferred into the ``statics'' slot by @forkStatics@.
This is so that we can write the top level processing in a compositional
style, with the increasing static environment being plumbed as a state
variable. -}

cgTopBinding :: DynFlags -> (StgBinding,[(Id,[Id])]) -> FCode ()
cgTopBinding dflags (StgNonRec id rhs, _srts)
  = do  { id' <- maybeExternaliseId dflags id
        ; (info, fcode) <- cgTopRhs id' rhs
        ; fcode
        ; addBindC (cg_id info) info -- Add the *un-externalised* Id to the envt,
                                     -- so we find it when we look up occurrences
        }

cgTopBinding dflags (StgRec pairs, _srts)
  = do  { let (bndrs, rhss) = unzip pairs
        ; bndrs' <- Prelude.mapM (maybeExternaliseId dflags) bndrs
        ; let pairs' = zip bndrs' rhss
        ; r <- sequence $ unzipWith cgTopRhs pairs'
        ; let (infos, fcodes) = unzip r
        ; addBindsC infos
        ; sequence_ fcodes
        }

cgTopRhs :: Id -> StgRhs -> FCode (CgIdInfo, FCode ())
        -- The Id is passed along for setting up a binding...
        -- It's already been externalised if necessary

cgTopRhs bndr (StgRhsCon _cc con args)
  = forkStatics (cgTopRhsCon bndr con args)

cgTopRhs bndr (StgRhsClosure cc bi fvs upd_flag _srt args body)
  = ASSERT(null fvs)    -- There should be no free variables
    setSRTLabel (mkSRTLabel (idName bndr) (idCafInfo bndr)) $
    forkStatics (cgTopRhsClosure bndr cc bi upd_flag args body)

---------------------------------------------------------------
--      Module initialisation code
---------------------------------------------------------------

{- The module initialisation code looks like this, roughly:

        FN(__stginit_Foo) {
          JMP_(__stginit_Foo_1_p)
        }

        FN(__stginit_Foo_1_p) {
        ...
        }

   We have one version of the init code with a module version and the
   'way' attached to it.  The version number helps to catch cases
   where modules are not compiled in dependency order before being
   linked: if a module has been compiled since any modules which depend on
   it, then the latter modules will refer to a different version in their
   init blocks and a link error will ensue.

   The 'way' suffix helps to catch cases where modules compiled in different
   ways are linked together (eg. profiled and non-profiled).

   We provide a plain, unadorned, version of the module init code
   which just jumps to the version with the label and way attached.  The
   reason for this is that when using foreign exports, the caller of
   startupHaskell() must supply the name of the init function for the "top"
   module in the program, and we don't want to require that this name
   has the version and way info appended to it.

We initialise the module tree by keeping a work-stack,
        * pointed to by Sp
        * that grows downward
        * Sp points to the last occupied slot
-}

mkModuleInit
        :: CollectedCCs         -- cost centre info
        -> Module
        -> HpcInfo
        -> FCode ()

mkModuleInit cost_centre_info this_mod hpc_info
  = do  { initHpc this_mod hpc_info
        ; initCostCentres cost_centre_info
            -- For backwards compatibility: user code may refer to this
            -- label for calling hs_add_root().
        ; emitDecl (CmmData Data (Statics (mkPlainModuleInitLabel this_mod) []))
        }

---------------------------------------------------------------
--      Generating static stuff for algebraic data types
---------------------------------------------------------------

cgEnumerationTyCon :: TyCon -> FCode ()
cgEnumerationTyCon tycon
  = emitRODataLits (mkLocalClosureTableLabel (tyConName tycon) NoCafRefs)
             [ CmmLabelOff (mkLocalClosureLabel (dataConName con) NoCafRefs)
                           (tagForCon con)
             | con <- tyConDataCons tycon]

cgDataCon :: DataCon -> FCode ()
-- Generate the entry code, info tables, and (for niladic constructor)
-- the static closure, for a constructor.
cgDataCon data_con
  = do  { dflags <- getDynFlags
        ; let
            (tot_wds, --  #ptr_wds + #nonptr_wds
             ptr_wds, --  #ptr_wds
             arg_things) = mkVirtConstrOffsets dflags arg_reps

            nonptr_wds   = tot_wds - ptr_wds

            sta_info_tbl = mkDataConInfoTable dflags data_con True  ptr_wds nonptr_wds
            dyn_info_tbl = mkDataConInfoTable dflags data_con False ptr_wds nonptr_wds

            emit_info info_tbl ticky_code
                = emitClosureAndInfoTable info_tbl NativeDirectCall []
                             $ mk_code ticky_code

            mk_code ticky_code
              =         -- NB: We don't set CC when entering data (WDP 94/06)
                do { _ <- ticky_code
                   ; ldvEnter (CmmReg nodeReg)
                   ; tickyReturnOldCon (length arg_things)
                   ; void $ emitReturn [cmmOffsetB (CmmReg nodeReg)
                                            (tagForCon data_con)]
                   }
                        -- The case continuation code expects a tagged pointer

            arg_reps :: [(PrimRep, UnaryType)]
            arg_reps = [(typePrimRep rep_ty, rep_ty) | ty <- dataConRepArgTys data_con, rep_ty <- flattenRepType (repType ty)]

            -- Dynamic closure code for non-nullary constructors only
        ; whenC (not (isNullaryRepDataCon data_con))
                (emit_info dyn_info_tbl tickyEnterDynCon)

                -- Dynamic-Closure first, to reduce forward references
        ; emit_info sta_info_tbl tickyEnterStaticCon }

---------------------------------------------------------------
--      Stuff to support splitting
---------------------------------------------------------------

-- If we're splitting the object, we need to externalise all the
-- top-level names (and then make sure we only use the externalised
-- one in any C label we use which refers to this name).

maybeExternaliseId :: DynFlags -> Id -> FCode Id
maybeExternaliseId dflags id
  | dopt Opt_SplitObjs dflags,  -- Externalise the name for -split-objs
    isInternalName name = do { mod <- getModuleName
                             ; returnFC (setIdName id (externalise mod)) }
  | otherwise           = returnFC id
  where
    externalise mod = mkExternalName uniq mod new_occ loc
    name    = idName id
    uniq    = nameUnique name
    new_occ = mkLocalOcc uniq (nameOccName name)
    loc     = nameSrcSpan name
        -- We want to conjure up a name that can't clash with any
        -- existing name.  So we generate
        --      Mod_$L243foo
        -- where 243 is the unique.

redpajama_set_name: RedPajamaGithub