Before my eyes were even open this morning, they hurt. Two days ago a little something lodged its way into my left eye, and before I woke up this morning I knew it was still there. I rubbed and rubbed, trying to get whatever it is to move, but it wouldn't.
An irritation that just won't go away.
An itch I can't scratch. A scratch I can't soothe.
Like so much of me right now. I'm feeling prickly and fussy and not quite right in my skin.
The phone rings; I jump.
A pebble works its way into my sandal; I complain just a little too loudly.
My head hurts. My feet hurt. My heart hurts.
Maybe it's selfishness or pride or just who I am.
Maybe it's all of those things combined.
A million little problems escalate into mountains that should be molehills.
A thousand worries worm their way into my consciousness throughout the day.
A hundred stories about this gone wrong or that gone wrong, all left untold.
It's only a few days, and I'm already looking for an escape.
I pick up my Bible and start reading where I left off. Joseph is in pretty bad straits. He's been forgotten, alone, abandoned in prison. People have disappointed him. Lied, even. And yet, there is no sense that he has lost hope.
Finally, the day comes when Joseph is remembered, when things start looking up for him. Does he say, "Finally! I've been waiting for you to get here! Just look at how horrible my life has been. I so deserve to get out of here"?
No. Joseph just gets busy doing the work God has for him.
"It is beyond my power to do this." I can so relate.
It is beyond my power to protect my children when they are away from home. It is beyond my power to solve issues at work. It is beyond my power to help my husband deal with the stress of his job. It is beyond my power to make everyone happy.
So much is beyond my power.
That's what I'm looking for—a mind, a heart set at ease. Peace.
Obviously, I'm looking in the wrong places. I'm trying to worry my problems away rather than resting in God. I'm trying to will things to go the way I want rather than trusting that God will make things right. All of this fussing, getting me nowhere.
Beyond my power. . . .
. . . But God.
Can you relate? (Tell me you can.) How will you trust God today?
Can I relate? Story of my life! I want to fix everything. For everyone. And I want everything to go the way I think it should go. Sound familiar? But life doesn't work that way. And God's plans don't work that way. Daily, something comes up that is, like you said, just a little pebble in my shoe . . . and I make it a boulder. I worry about things before they even happen. When I lay it all at the feet of my Savior, I have perfect peace. When I pick it up, well, wouldn't you know, there I go again trying to fix it. And so I worry. Shame on me. Sometimes I have to sing that old hymn to myself "Tis so sweet to trust in Jesus, just to take Him at His word. Just to rest upon HIS PROMISE, just to know thus sayeth the Lord. Jesus Jesus how I trust Him how I've proved Him o'er and o'er, Jesus, Jesus PRECIOUS JESUS OH FOR GRACE TO TRUST HIM MORE." He has never failed me, and He never will. I'm learning, one day at a time to trust Him more. Prayers for you today my friend!
He will do the heavy lifting.
Sending love to you in all of your many transitions, Shelly.
You must have been a fly on my wall today, all day. Yes, my day started not right in my skin and my first inclination was to build a wall and withdraw or hunker down to just fix life today. But by God's grace, I didn't. I, too, am a fixer. This story of Joseph points exactly where I need to go and how I need to be. Thank you. Praise God for the Truth of his word.
So beautifully written and so needed in my life today. Thanks.


text:
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("AmbientContext.DateTimeService")]
[assembly: AssemblyDescription("AmbientContext service for DateTime")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Nathan Johnstone")]
[assembly: AssemblyProduct("AmbientContext.DateTimeService")]
[assembly: AssemblyCopyright("Copyright © Nathan Johnstone 2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// Setting ComVisible to false makes the types in this assembly not visible
// to COM components.  If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]

// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("0fd27872-d0ea-4338-812c-b37ab948f971")]

redpajama_set_name: RedPajamaGithub


text:
Commissar Binkov, Kermit the frog, and the Cold War
Posted on November 4, 2019 by Richard Wallace	|
Presented by "Commissar Binkov himself," this useful video connects the dots that define the outlines of the emerging Cold War between China and the U.S. – and it's implications for the technology world – east and west. So what's with the frog?
Big Tech digs into deep, secretive political pockets
According to a Fast Company report "Tech giants Amazon, Facebook, and Google have spent $33 million on Washington lobbying efforts so far this year, and their political action committees have donated $900,000 to federal candidates this election cycle. The companies have also used stealthier methods of influence, pouring money into dozens of influential conservative and centrist…
Toronto gets smart about Big Tech
According to the New York Times, Toronto won a major fight against Big Tech last week. "But unlike the battles underway in Washington, it wasn't over digital domains like online privacy or ad sales; rather, it was over something deep out of the city's industrial past: its waterfront. As has been widely reported, Sidewalk Labs,…
Hudson-Creative seeks user input for proposed Mid-Hudson maker space
Hudson-Creative is conducting an online market study to assess the feasibility of bringing a maker space to the City of Hudson, New York. Click here to take the User Interest Survey. The non-profit community-based start-up organization is seeking funding and partnership to provide work spaces, equipment and a collaborative atmosphere for the creation of fine…
Hudson High School students see tech in action on Digifabshop factory tour
Digifabshop hosted a factory tour for Hudson High School students earlier this month where they got a first hand look at STEAM (Science, Technology, Engineering, Art & Math) concepts at work and saw how the new 'practical arts' (Science, Technology, Engineering, Art & Math) are applied in the manufacturing process, from the design phase to…
The Great, the Bad, and the Ugly in Silicon Valley
Posted on February 15, 2019 by Richard Wallace	| 0 Comments
If Silicon Valley looked in a mirror, here's what it would see: income disparity is a problem; the Valley is adding high-income households, but it is losing middle-income and low-income households; the top 2 percent of wage earners in Silicon…
Winter in Silicon Valley, China Sizzles
Photo: China is building a particle collider almost four times bigger than the Large Hadron Collider (LHC) and it is expected to produce over one million Higgs boson particles in its first decade of operation. Where's the Next Silicon…
Reports: Is New York GlobalFoundries looking for an exit?
This posting clarifys an error in the second paragraph of an earlier story that incorrectly identified the wafers produced at GF's fabs in New York as 200mm. They are in fact 300mm in diameter, as noted by a sharp reader…
GlobalFoundries New York: For Sale?
GlobalFoundries chipmaking operation in New York – the one taking a pass on the 7nm semiconductor manufacturing process node – is up for sale according to industry source ComputerBasereport. "A few days before the tenth anniversary, it is clear that…
Jobs and New York's Green New Deal
Clean Tech, and New York's Green New Deal, have common objectives: cleaner air, fewer emissions, more efficient fuel use. If that mix leads to the development of new technology, new products, a new factory, and new jobs, all the better.…
30 Tech Hot Spots in New York
If you drive a car in New York you have probably driven by at least one or two officially designated 'innovation hot spots,' maybe in an old industrial zone? And kept on driving no doubt. No wonder. These often nondescript…
Student entrepreneurs swap classrooms for startup
Have you ever wondered what's driving today's tech startup funding curve on the university campus? Two words: Student entrepreneurship. Some of the greatest technology companies in Silicon Valley's were launched by the classroom-to-startup method now popular at tech school and…
IBM's AI Hot Spot: Tech Valley New York
Tech Valley is the next Artificial Intelligence Hot Spot, a designation that follows recent reports that IBM Research will build a cutting-edge technology center for AI hardware in New York's Capital Region. Governor Andrew M. Cuomo announced the news, noting…
What's going down in Silicon Valley?
What's going down in Silicon Valley? The headlines tell a big part of part of the story, but only one part. How complete and accurate a picture one gets about the social justice uprisings, and the 'Big Tech' rumblings out…
Tech Valley NY movers and shakers celebrated by Albany business paper
The Albany Business Review has published an informative article and image slideshow celebrating 11 Tech Valley entrepreneurs who "have carved out a niche in the software, video game and manufacturing industries" noting that these are not just regional business. The…

redpajama_set_name: RedPajamaCommonCrawl


text:
While they're challenging SeaTac, Washington's, $15 an hour minimum wage at the Seattle-Tacoma Airport, Alaska Airlines has secured a $12 an hour wage for some of their contractors. Not all airport contractors have gotten a raise though. Photo by Flickr user cote.
Joshua Vina works as a baggage handler at Seattle-Tacoma International Airport — the site of Washington state's first push for a $15 an hour minimum wage.
As Making Sen$e reported last fall, voters in Sea-Tac, the community surrounding the airport, narrowly approved a ballot initiative — known as Proposition 1 — to raise the minimum wage and provide workers with paid sick days. But nearly 5,000 workers at the airport still haven't gotten their raises because Alaska Airlines, which represents half of the airport's traffic, has challenged the initiative in court.
The airline argued that the Port of Seattle, not voters, has the authority to regulate business at the airport, and a King County judge agreed with them last year. The state Supreme Court is expected to take up the case next month.
Vina is one of those workers who has yet to see a raise. He's still making the starting salary of $9.50 an hour with no sick pay. As he explains in our broadcast piece, below, the two days he was out with bronchitis will cost him — and his family. Vina has been injured on the job three times, and when he was in pain and had to stay home, he lost those days as well. He, his wife and his young son already rely on public assistance — a $290 monthly housing allowance, $378 in food stamps and subsidized health care.
As the debate over the minimum wage has gained national attention this year, first with President Barack Obama calling for $10.10 an hour in his State of the Union address, and most recently, fast food workers striking for $15 an hour, Alaska Airlines has been listening. They're constantly evaluating the condition of their "vendors" (contractors), says Paul McElroy, managing director of strategic and corporate communications at Alaska Airlines.
Which is why, even with a challenge to Proposition 1 pending, Alaska decided to broker a $12 an hour starting salary for its contractors beginning with the April pay period. Alaska Airlines reached out to Making Sen$e on May 21 (after our initial report on SeaTac workers denied a raise ran on April 17) to make sure we knew that "Alaska has proactively raised pay for entry-level workers."
It's not the first raise they've instituted. Last October, Alaska Airlines and Menzies Aviation, the contractor that Vina works for, agreed on a $10.88 starting salary for baggage handlers.
So why is Vina still making $9.50 an hour when Alaska Airlines' first-quarter profits more than doubled since last year?
As a Menzies contractor, Vina is not an employee of Alaska Airlines. He's handled baggage for them and for other airlines. The only Menzies contractors who are eligible for the $10.88, and now, $12 raise are those contractors who are assigned exclusively to Alaska Airlines, according to McElroy.
The raises Alaska Airlines is offering would be a step up for Vina, but these new rates are still several steps below what Alaska was paying its employees a decade ago — before they outsourced these jobs to Menzies and other contractors in 2005. Union-represented baggage handlers used to make an average of $13.41 an hour, nearly double the state's then-minimum wage of $7.35 an hour, and still well above even the current state minimum wage of $9.32 (the highest in the country).
Paul Solman spoke with Vina and a fast food employee in Seattle about needing to supplement their near-minimum wages with public assistance to make ends meet for their families.
102996Life on minimum wageLife on the Minimum Wage?Paul Solman speaks with an airport contractor and McDonald's employee whose near-minimum wage salaries keep them on public assistance. A higher wage, as high as the possible $15 in Seattle, would go a long way toward making them more independent, they say.2014-05-15 00:00:00disabled2365247601nUHi3RpFYK8true


1" x 6" Reverse Engraved Plastic tags showing what fuel is stored in what containers around your garage or shop. Set comes with 7 tags on individual beaded chains for each attachment to fuel container.
Tags shown are Orange/Black combo. Other color combos available - please ask.
Every day, we engrave plastics in some way, shape or form. We are familiar with using phenolics, flexible plastics, acrylic, ADA braille substrates and appliques, cutting out shapes and many other processes. As you can see from the above photo, plastics come in a large variety of color combinations, shapes & sizes. Using reverse engraved plastics, where we engrave from the back into one color, leaving the engraved areas clear, we can also create custom coloring by paint filling. You will find a color chart at the bottom of this page.
Contact us with your plastic project information and let's talk solutions.
Every nametag we create begins with you - your idea, your choice of color combinations, your choice of size and backing attachment.
Prices are calculated on color combinations, square inch of material used, type of material used, your final copy layout and font used. We cut our nametags out in house, so you have your choice of nametag sizes. There is no "standard" size or nametag design here!
We use logos on nametags every day. If you would like to add your logo to your nametag, simply mail or scan a photo of your logo and e-mail it to us in a .jpg format. There is an $45.00 one time additional charge for converting your logo to the engraving format, and add $3.00 per nametag when logos are engraved. Once your logo is converted for use on our engraving machine, we can then use your logo for any engravable project in the future. Your logo can be easily resized for use on plaques or small signage, among other items.
Attachments available: Magnetic - $2.50; Swivel Bull-dog Clip - $.85; Folding Pocket Badge (clear plastic holder nametag attaches to) - $1.25; other attachments available. Let us know your needs. Pin backings are included in the price of all our plastic nametags.
Multi-colored screened nametags are also available. If you have a logo with many combined colors, at times, this is the way to go for your nametags for the best cost and appearance. Contact us with your information and we'll assist you with layout and sizing for your nametag.
Have you ever had one of those days when someone in your office decides to attend a tradeshow at the last minute? Or the person who you planned to have attend is ill and you have to send a substitute? Or perhaps you are having visitors to your plant or office and want nametags for them, but you'll only need them for this one occasion?
If you find yourself in need of one or more nametags at the last minute, we have just the item. The clear holder shown above holds a business card. You simply pop off the back, insert the card, and replace the back. This nametag option can be used over and over - replacing the card for someone new as needed. This is a perfect item to keep on hand for last minute nametag needs.
$3.89 each if purchased individually or $3.50 each in packages of 25 pieces.
Frames available in Silver Chrome, Matte Black, White Plastic & Gold Brass.
Please note - In Oregon and a few other states, the license plate tags are placed on the bottom corners as shown in the photo above (left). If you are buying a license plate frame as a gift for someone who lives in another state, check where that state requires you to place the tags before ordering. The white plastic frame has two top mounting holes and two bottom mounting holes. All other frames have two bottom mounting holes only, but can be drilled to attach to the top screws on most cars.
If you are purchasing a frame to use with tags at the bottom, and you wish to have top holes drilled in the metal frame you are purchasing from us we are happy to do this for you for an additional $10 drilling/placement fee. We will require you to take the current frame off the car and trace it showing the hole placement for the vehicle the new frame will go on (every car has a variation of placement). We will then space your wording around where the holes need to be drilled and drill after the inserts are attached. When you receive your frame you will simply need to install it.
Price reflects one frame with engraved inserts.
The plastic inserts come in a large variety of colors. To help narrow down the color selection, you may want to look at the main color of your car and then the trim color. For example, a black car with silver trim - you could choose a matte black frame with silver inserts and black lettering. Or you could choose the chrome frame, black insert and silver lettering. Both would compliment the car. The majority of the time we use reverse engraved strips and paint fill the letters from the back of the strip. That leaves a smooth front surface, which means your lettering doesn't fill with road dirt over time. A few color combinations do not allow this process, but whenever possible we like to use the reverse engraved material.
For unusual car colors, simply send us a digital photo of your car and we'll be happy to suggest some combinations. See the bottom of this page for color chart for reverse engraved material choices.
We create signage every day for our clients. From the basic to the complex, with or without a frame, we can provide you with quality signage you'll be proud to hang in your building. We engrave most of our signage, including ADA signage, in-house, cutting production turnaround time substantially. Contact us with your project details and we'll be happy to provide a quote for you.


What can I say here, that doesn't sound like every other lawyer/law firm bio?
But don't worry, I won't go there. The part of that that matters is that I went to law school and am licensed – just like every other lawyer you've looked at.
Easy! I love business and I know the important of taking care of the wisdom and wealth you've developed over the years.
How many lawyers do you know that can say that? I'm not just talking about having experience in business. But really enjoying the business of business. For me, I love speaking with business owners about what drives them…not just about their business, but also the strategy components behind marketing, pricing, distribution, etc. Sure, there are various legal components to all of these things. But there is also a large psychological component to all of these!
I don't just help my clients with the legal framework of their business (start up entities, funding, succession, asset protection, estate planning, etc.), I also give them a sounding board, when the need arises, for all those other parts of entrepreneurship. And you know what? I know what I'm talking about. I generally spend as much time learning and expanding my knowledge about all those other aspects of business, as I do learning and expanding the legal knowledge.
Why do I do it? Because I want my clients to succeed and part of that, means helping them understand two things: (1) that there can be legal ramifications to choices they make in these other areas and (2) there is as much science as there is luck, involved in growing a successful business.


Formaldehyde is important intermediate in the chemical industry. It is produced from methanol by oxydation, and is, hence, a part of the C1-based chemical added value chain which is based on the feedstocks natural gas and bio gas which will become increasingly important in the future.
Formaldehyde is highly reactive and is technically almost always used in solutions in water taht also contain some methanol. With water or methanol present it reacts to a series of oligomers, so that these solutions are complex recting multicomponent mixtures. Modeling of the physico-chemical properties of these mixtures is a challenge. The Laboratory of Engineering Thermodynamics (LTD) has gathered experience with these systems over almost three decades now. LTD has carried out a large number of projects in formaldehyde process engineering in cooperations with industry. Our models are used for the design and optimization. The accomplished work includes the design of new processes for formaldehyde based chemicals, like trioxane and methylal.
Current research includes the synthesis of poly(oxymethylene) dimethyl ethers (OMEs) that can be used as soot reducing fuel additives and modeling of the production process of urea formaldehyde resins.


Everyone in this world dreams to have a house full of features and facilities that can offer topnotch entertainment. Therefore, it is not unusual to dream of owning something grand and great. One of the most popular and preferred sources of luxury is none other than inground pools.
Today, swimming pools are no longer merely restricted to resorts and hotels. In fact, you can materialize this dream of yours to have one right at your own home. This is the perfect way to enjoy your leisure time.
Inground pools are a very common feature in resorts, hotels and even residential homes. The most famous kinds of inground swimming pools are infinity, lap, diving and play pools.
There are a lot of benefits of building these pools, the most important of which is that they add a permanent accessory to your garden or home. Depending on your home's decor and style, you can go for any of the varieties of these pools.
Many people are afraid to get these pools, thinking that this is a tough job, thus, they choose not to give it a god. The expense and labor required for construction are huge.
Getting a pool is definitely no child play. This is the main reason why people are hesitant to own a luxurious pool at their own home. But, if this is what holds you back, you better think twice.
How Much Does InGround Pool Cost?
Among the most common questions associated with inground pools is concerned about the cost to build one. Basically, the answer to this can vary depending on the pool type, pool size, your location, added features and more. There is really no simple answer here.
But, the most accurate means to get this question answer is by getting a quote from a reliable pool professional. Before you get in touch with a pool expert, the first thing you have to do is conduct some research.
In general, you can expect to pay around $25,000 to as much as $50,000 for your inground pool prior to adding some extras and features. It is assuming that you will get a pool with an average size, in an average city with average costs of living, and average materials and extras.
Here are several things that can lower or raise your swimming pool's price.
Depth:- If the pool is deeper, more materials and more intensive labor is required.
Size:- The biggest factor to the determining the cost of your pool is its size. For each square foot, you can expect to pay about $50.
Location:- Your area's cost of living will determine how much you will pay for the pool materials. Also, you have to pay for permits that can differ from one location to another.
Materials:- Materials to be used will certainly affect the pool's price. When you go for a gunite swimming pool, take note that this material is considered premium and will cost much more compared to vinyl swimming pools. Fiberglass pools can range in the middle as far as the price between a gunite and vinyl pool is concerned.
Shape:- If you want your pool to have a custom shape, expect that you will be paying a higher price for your pool.
Extras:- The moment your pool is constructed, any extras you add to it will completely customize it. These are times, however, when such extras are more expensive than the pool itself. You might want to add some features like waterfalls, hot tub and other water features.
You can also incorporate recreational add-ons like diving boards or waterslide, accents like fire features, pool lighting, outdoor kitchens and so much more. You also wouldn't want to forget about the energy efficient options like energy efficient pumps, saltwater chlorinators and solar covers.
Once added to any backyard, inground pools can offer leisure, entertainment and exercise opportunities, as well as an increased home value. There was a study which revealed that inground swimming pools can add around 8% to the overall value of your home.
The usual schedule for pool maintenance involves several monthly and weekly tasks, together with some daily tips to remember. In case there is no pool supply shop convenient and close to your house, majority of home improvement shops and super stores also offer some great pool care supplies and equipment.
Check the chlorine and pH levels of your pool at least two times a week. Test the pool water levels at dusk around 4 hours after all swimmers left the water and about 8 hours after a wind storm or rain. Follow the directions of the manufacturer for your chosen testing strips. If needed, add products to rebalance the levels.
Have your pool cleaned at least once on a weekly basis. For thorough cleaning, empty all skimmer baskets and skim the debris and leaves from the water. Should there be debris on the bottom part of the pool, use the vacuum cleaner meant for pool use. Use a cleaning net to skim the surface.
Add pool surface cleaner to the pool walls' waterline. These help get rid of waterline stains to keep the pool looking clean and fresh.
Shock the pool water once every week. Shocking will involve adding a big amount of chlorine to the pool to remove algae and other forms of contaminants.
If you can afford it, run the filtration system as often as possible during summer months. When water moves continuously, there is lower chance for it to get tainted with dirt, dust, bacteria, body oils and environmental pollutants.
Test the chemical levels of the water and adjust accordingly. Use the same materials and procedures used during pool season.
Inspect your pool prior to closing it for the season. Search for leaks, cracks or any kind of damage that have to be addressed. Harsh temperatures in winter can make damages worse.
Remove every object from the pool like diving boards, ladders, pool toys and other accessories submerged in water.


text:
A Cleveland construction worker suffers a crush injury on Hwy 176
On behalf of Rumizen Weisman Co., Ltd. | Jun 1, 2018 | Construction Accidents
Ohio Department of Transporation (ODOT) released a press release on Monday, May 21, acknowledging that one of its road construction workers was struck while working on a portion of State Route 176 in Cleveland that morning.
Police investigators are still trying to piece together what occurred in the moments before the worker was struck. They note that they're still not completely sure what caused the motorist who ran into him to breach the work zone's cone barrier that they had set up to keep workers safe.
The foreman for the construction company hired to complete the work notes that he and his workers have their lives threatened every day. He notes that motorists quickly become frustrated sitting in slow traffic and that they pull out all types of evasive moves on the highways as a result.
In this case, the foreman says that he witnessed this particular crash occur. He said that he saw the truck's driver speed up to the work zone, then quickly dart behind the guardrail, less than 2,000 feet from where his construction workers were positioned. It's then that the truck driver slammed into two barrier walls that hadn't yet been set in place.
He notes that one of his workers was left pinned between the two concrete panels. He says that his legs were smashed because of it. The man then apparently blacked out. It's unclear what his prognosis is.
Although laws such as Ohio's Move Over Law exist requiring motorists to change lanes to give first responders, construction and ODOT workers and police space as they work, few honor them. Even fewer drivers reduce their speed to posted limits when they come into construction zones.
Workers employed in the construction sector face significant injury risks whether from heavy machinery, automobiles, tools, falls from ladders or scaffolding or something else. If you've suffered debilitating injuries on the job, then a Cleveland construction accidents attorney can advise you of your right to sue either your employer or the negligent party in your case.
Source: News 5 Cleveland, "Man hit while working in construction zone on State Route 176," Kaylyn Hlavaty, May 21, 2018


An October 2017 double-blind, placebo-controlled and randomised pilot study1 at the University of Almería, Spain appears to have been the first to evaluate the effects of probiotics in fibromyalgia syndrome (often abbreviated to FMS). They looked at whether interventions with probiotics, in order to change the gut microbiota, could improve the symptoms of this debilitating disease. Their results may be very encouraging for those who believe that "you are what you eat" and would agree with that ancient sage Hippocrates when he said "Let food be thy medicine, and medicine thy food".
The studies covered in this blog are covered in an effort to provide a wide-range of research material and, hence, a range of viewpoints on the subject matter. My own personal opinions are expressed in [square brackets] throughout.
FMS is a chronic, generalised and diffuse pain disorder accompanied by other symptoms such as emotional and cognitive deficits. There would be little surprise if gut microbiota were intrinsically linked to this condition when you consider that FMS patients show a high prevalence of gastrointestinal symptoms.
As pointed out in other blogs2 , gut microbiota are increasingly considered to be involved in the regulation of brain processes through the gut-microbiota-brain axis, thereby modulating mood, motivation, cognitive functions, and so on. This study used probiotics as a new treatment that could improve the physical, psychological and cognitive state in FMS; being that they found no other experimental evidence to substantiate or refute this possible therapeutic approach being used with FMS to date.
Primary expected outcome: MS patients' cognition will, after eight weeks of probiotic treatment, show a better performance on impulsive choice and decision-making, as well as on working memory and attentional control.
Secondary expected outcomes: mean changes between baseline/post=intervention in body composition, pain level, and emotional state.
Additional expected outcomes: changes in physiological measures – specifically, free cortisol concentration in urine and stool faecal samples.
Previous studies with probiotics in populations with a great comorbidity with FMS, like CFS (chronic fatigue syndrome) and IBS (irritable bowel syndrome)19 20 21 , have reported beneficial effects after treatment in quality of life7 , pain severity22 , reduced inflammation23 , and emotional symptoms like anxiety24 .
An October 2017 updated article in News: Medical Life Sciences25 makes some interesting observations about fibromyalgia and the small intestine.
It points out that IBS has been linked to the occurrence of small intestine bacterial overgrowth (SIBO), a condition where normal colonic flora overgrow into the small intestine and cause disruption of normal intestinal bacterial patterns.
The author considers that connection suggests that fibromyalgia is also associated with SIBO. The evidence for this is based on the finding that correcting the latter with antibiotic therapy also lead to clinical improvements in bowel symptoms in these patients.
Mechanism 1 – Several studies are mentioned (without links) which claim that both fibromyalgia and IBS yield abnormal lactulose breath tests (LBT) – tests for bacterial overgrowth which is almost always positive in fibromyalgia patients. The idea is that endotoxins produced by overgrown bacteria are responsible for the hyperalgesia26) is an increased sensitivity to pain, which may be caused by damage to nociceptors or peripheral nerves.)) by increasing pain perception in the body.
Mechanism 2 – Another mechanism of pain production is bacterial translocation, common in SIBO and results in production of endotoxins which provoke the production of the tumour necrosis factor, leading to systemic effects.
Fibromyalgia and IBS have many common features as regards the bowel disturbances, but it's also the case that there can be significant some variations in clinical features. What accounts for this variation? It could be due to differences in the host, or that different patterns of bacterial overgrowth may occur in different conditions. For instance, hydrogen breath testing in individuals with fibromyalgia shows a far higher level of hydrogen production when compared with IBS patients even when both are LBT positive27 , and this may reflect a larger number of small intestinal bacteria.
The authors do state that the relationship between fibromyalgia, IBS and SIBO is still poorly understood and that more work is necessary.


Two years ago on March 31, I launched Gluten-Free Spirited. ? If you've been reading for a while, you know the story of why I launched it. If you're unfamiliar, check out my bio and my first blogpost. Originally, it was geared towards travelers with dietary restrictions due to food sensitivities/allergies. It hasn't been as … Read moreGluten-Free Spirited is Two!


Previous Post: Ingredients 1 can 20 oz crushed pineapple, undrained 2 packages 3 oz or 1 package 6 ounce raspberry flavored gelatin 1 can 14 oz whole berry cranberry sauce 1 medium apple chopped Any will do. Notify me of follow-up comments by email. I'm Amy: Nutrition Information: Top with sugared sparkling cranberries, if desired.
I love this salad!! I use salted pretzels and salted butter.
Footer I'm Amy: Give it a couple of hours to set, then mix up the sour cream and cream cheese topping to spread on top before sprinkling with nuts and slicing to serve with your favorite holiday meal or Sunday dinner. The pineapples and pecans were perfect. This site uses Akismet to reduce spam.
I love Jello salads! Preheat oven to 400 degrees F. Perfect for taking to a potluck, too. Yes it can!
You can also use a different flavor of pudding. Calories 122 Calories from Fat 54. Prep 15 m Ready In 8 h 15 m Combine the gelatin and boiling water; stir until gelatin is dissolved. Cranberry jello salad is a must for our family on Thanksgiving because we love eating it with turkey. Add in the entire can of whole berry cranberry sauce and stir until combined.
Notes Nutritional Information is estimated, not exact. Iron 1. Tip 4. Which has me scratching my head as to why it did for you. Bring to boil.


MadLab presents BROKEN DAUGHTERS, the world premiere of Josh Hartwell's gripping drama about a father struggling to cope with his three troubled daughters and willing to do anything to keep his family together. Scroll down for a first look at the cast in action!
In BROKEN DAUGHTERS, Conrad Douglass is a rugged working-class widower. A Bostonian in Tampa, Florida, and the father of three troubled adult daughters: Penelope is in prison for a violent hate-crime, Cassandra and her partner, Morgan, want desperately to welcome a baby into their lives, and Rene struggles with intellectual and emotional damage from a traumatic brain injury years earlier. When Penelope is assaulted and impregnated by a prison guard, Conrad embraces his opportunity to restore what remains of his deteriorated family. Confused, overwhelmed, and anxious in wildly unfamiliar terrain, Conrad resorts to whatever might be in his control to heal his children''s wounds.
The cast features: Conrad Douglass - Michael Moore; Leroy - Chad Hewitt; Penelope Douglass - Melissa Bair; Cassandra Douglass - Julia Langholt; Morgan - Celia Adams; Rene Douglass - Mary Sink. The creative team includes director Michelle Batt and stage manager Angela Cutrell.
Showtimes: 8 p.m., Thursday Dec. 4, Friday Dec. 5, and Saturday Dec. 6, Friday Dec. 12 and Saturday Dec. 13, Friday Dec 19 and Saturday Dec. 20. Tickets: $12 General Admission, $10 for students and senior citizens, $8 for MadLab members. For more information, visit www.madlab.net/MadLab/tickets.html.


text:
Q: namespace ensemble create -map : Get the old name in my procedure when I call it below my namespace :
namespace eval ::my {

    namespace ensemble create -map {
        name            name
        newName         name
    }
}

and my procedure :
proc ::my::name {args} {
    puts [lindex [info level 0] 0]
}

I would like to get the name of my procedure, for this I use [lindex [info level 0] 0].
But when I call : my newName, It always returns ::my::name.
Is It possible to get ::my::newName instead ?

A: No, because you are looking at the resolved implementation name. If you want information about the way in which your implementation is called, pass it as an extra argument:
namespace eval ::my {
    proc name {realName args} {
        puts $realName
    }
    namespace ensemble create -map {
        name            {name name}
        newName         {name newName}
    }
}

This has the advantage of being useful even if an abbreviated subcommand name is used (e.g., my new).

A: Depending on your use case, you may be able to use an execution trace:
trace add execution my enter [list apply [list {cmd args} {
    if {[lindex $cmd 0] eq "my"} {
        puts [lindex $cmd 1]
    }
}]]

redpajama_set_name: RedPajamaStackExchange


This was another big week for trains in the 21st century.
1.First "Train Heroes" are Americans.
Yes, Americans ride trains. Europe actually has trains. So very ironic, and positive, that maybe the first Train Heroes of this century are Americans.
2.Gen Y woman lives on trains.
A German 23 year old college student gave up her $450 a month apartment to pay $380 a month for unlimited train rides. No, this is not a movement. It is a symbol, a symbol of change.
3.Continued angst over New York tunnels.
The problems of success. No one would be talking about this if few people rode trains.
4.New city to emerge in Minneapolis.
A whole new city is being planned next to the new light rail line in Minneapolis.
5.Durham, North Carolina plans light rail.
The Research Triangle, the hub of North Carolina's economy, moving forward with light rail plans.
Thanks to NineShifter Perry Harker for this story.
That was just this past week.


text:
Kevin Lynch
How Cultural History and Trauma Shape Our Fears in Film
Written by Kelly McNeely
Horror is a rich part of every culture – each has its own distinct fears, tropes, and trends. When comparing horror films from country to country, the ways that each filmmaker will approach a theme are undeniably tied to their shared cultural experiences. The ghostly apparitions of Japan, for instance, are significantly different from the way that hauntings and possessions are portrayed in American horror cinema. The former has been influenced by traditions in folklore and spirits like the yûrei (The Ring, The Grudge), the latter related to a puritanical past and the moral – and often psychological - struggle between good and evil (The Exorcist, Rosemary's Baby, Evil Dead, The Amityville Haunting).
The elements that influence what – and how - horrors are shown on screen are tied to the cultural identity and history of their countries of origin.
Trauma shapes us. It shapes our fears and how we respond to them. Like a wound, it will fester if untreated, and one broadly accessible method of addressing that pain is through a creative outlet. As one of the masters of horror, Wes Craven, has so eloquently phrased it, "Horror films don't create fear. They release it".
A common subgenre of horror films is that of the violent invasion. This concept of an invasive external force is often seen as a metaphor for xenophobia; a threatening "other" that residents and protagonists are wholly unprepared to fight against. It speaks to the fear of outsiders and the helplessness found in an intrusion of your own private sanctuary.
While this is a big theme in American horror, the home invasion subgenre is thoroughly explored across many cultures. Spain's Kidnapped and Sleep Tight, and Germany's Funny Games are examples that both deal with social class conflict, but from dramatically different angles.
Invasion is also a common theme in New French Extremity films like Ils, Haute Tension, and À L'interieur (Inside). This cinematic movement has produced a long list of films with an intense approach to violence and sexuality, with elements of body horror and exploitation cinema (with a heavy lean on "torture porn').
New French Extremity is unyielding, showing the full extent and aftermath of a sudden, violent attack (ie. Irréversible). Others take a more gradual turn towards the deeply traumatic (like Martyrs, Frontiere(s), Sheitan, and Calvaire).
But there is a method to the madness. The films reflect France's own struggles with xenophobia and a far-right government (an anger punctuated by the 2005 French Riots), and a general distrust and anxiety (which could be traced back to conflicts like the French Revolution and the German occupation during WWII).
Now, let's be perfectly blunt – America is a nation that was built on violence. The country has faced a long history of trauma and turmoil; the massacre of the Indigenous population, slavery, the Civil War, Prohibition, the Vietnam War, the Cold War, The Salem Witch Trials, assassinations, volatile cults, the Civil Rights movement, Jim Crow segregation and the KKK, the LA riots and police brutality, mass shootings, school shootings, rampant sexual assault (against men, women, and children)… the list goes on.
Obviously, there's a lot to unpack there, so let's just start with a few specific examples within the home invasion subgenre.
In American home invasion films (like The Strangers, Straw Dogs, and You're Next), the concept preys on the idea that Americans often feel the need to take their safety and security into their own hands (for further reading, see every argument against gun control).
The Thing and Invasion of the Body Snatchers are fuelled by paranoia and distrust of both outside forces and the potential danger from those close to them who may have been "taken over". When considering McCarthyism and the second Red Scare of the 1940s-1950s, it's easy to see where this idea comes from.
Other films in this subgenre – for example Green Room, Get Out, The People Under the Stairs, and the entirety of The Purge franchise – shake up the fear of "otherness" by injecting a socially conscious and historically poignant message to reframe the narrative.
Bill Hudson, AP
Another trope with great historic relevance is the idea of the creepy child. During the Spanish Civil War of 1937, a common practice under Francosim was the separation of children from their incarcerated political prisoner parents. These children were often either killed or sent off to state-run orphanages (or outright adopted into Francosit families). Ripped from their parents, the children suffered through atrocious conditions. This lasting trauma can be seen through the tropes of ghostly or feral children in films like The Others, The Devil's Backbone, The Orphanage, ¿Quién puede matar a un niño? (Who Can Kill A Child), and Tras el Cristal (In a Glass Cage).
Canada has its own set of trauma with First Nation Residential Schools, which were designed to take children away from their families and Native culture and assimilate them through (essentially) cultural genocide. Of the 150,000 children placed in the care of residential schools, at least 6,000 died while in attendance. This idea of a tragic ghostly child trauma is explored in The Changeling. In combination with the more polite concept of Canada's multicultural blend, themes of metamorphosis, assimilation and a loss of humanity are seen in films like The Fly, Ginger Snaps, The Void, Bite, Rabid, and The Brood.
The National Post
Cultural history has roots in our environment as much as the way that we act within it. Japanese horror films, for example, developed larger-than-life beasts like Godzilla and Gamera as a somewhat light and campy response to the country's first-hand encounters with atomic energy during World War II.
Because of the dangerous and dehumanizing effects of the Industrial Revolution on the lower class, British horror put a focus on the hidden seams of strangeness in urban environments that release stalkers, sadists, and threatening hoards (as seen in 28 Days Later, Attack the Block, Under the Skin, Peeping Tom, Tower Block, Death Line, Comedown, Creep, and The Limehouse Golem).
Class division and - as Plan B explores in his socially charged protest track, Ill Manors - society's failure to nurture its disadvantaged youth were echoed in events like the 2011 England Riots.
In another – more remote - example, Australian and Canadian horror feed off of their wilderness. Canadian films often focus on an idea of isolation and madness (developed from Canadian literary themes of survival), seen in titles like The Mask, Session 9, Pin, Black Mountain Side, Grave Encounters, My Bloody Valentine, and Black Christmas.
Australia's entries in the horror genre embrace the dangers of the outback with creature features (like Razorback, The Pack, Long Weekend, and Black Water) and human hunters (Wolf Creek, Road Games, Night of Fear, Dead Calm, Fortress, Killing Ground, and Wake in Fright). The latter threat perhaps borrows from Australia's history as a penal colony – that idea that truly anyone could be out there (although it was mainly those convicted of petty crimes like theft that were shipped to these colonies).
But while Australian horror highlights the terror of their rural boogeymen, America's obsession with rogues and rebels - and the celebrity status surrounding real-life killers like Ted Bundy, Ed Gein, John Wayne Gacy, and Jeffrey Dahmer - have helped to create a feverish fan culture around horror's iconic slashers.
The villains in franchises like Friday the 13th, Halloween, A Nightmare on Elm Street, and The Texas Chain Saw Massacre are often both antagonist and hero. The audience roots for their kills – the bloodier the better.
Message from The Lipstick Killer via Tumblr
Of course, these examples are still just barely scratching the surface.
Horror films are far more than just blood, guts, and boobs. The whole genre is designed to challenge our fears and cause us to reflect on the trauma we hold inside us. When we watch horror, we find elements that we can relate to on a deeply personal level - themes emerge and define themselves by our history. We feel it in our bones, even if we're not exactly sure why.
Newer PostNevertheless, She Resisted: The Body as a Site of Resistance in The Autopsy of Jane Doe
Older PostMatthew Leslie brings suburban terror back to his hometown of Salem with Summer of '84 (Interview)


I am nobody from nowhere anytime.
But I am also an ethnic Swede who happens to be a patriot for my own country and in my own country. If you can't figure out which is my country please consult another teacher.
Be aware of that I haven't started producing Youtube-videos yet. I don't expect to start my lectures on Youtube until the end of 2019. But you may subscribe to my channel and this blog already if you wish. It will come when it comes.


text:
Academic Achievements of Punjab Colleges at Glance
Posted on September 12, 2020 by Punjab Colleges
Punjab Group of Colleges has been achieving outstanding results since its establishment. These achievements are the combined effort of well-trained and experienced teachers and hardworking students. Over the period of the last 12 years, the number of position holders in Boards of Intermediate and Secondary Education examination have increased from 43 in 2005 to 149 in 2017 across the country.
On top of that, the students of Punjab Group of Colleges have not only shown remarkable results at the intermediate level; they have also secured the first position in B.Com (Punjab University Examinations) for consecutive 11 years from 2005 to 2015. Punjab College of Commerce also holds a unique record of bagging 18 out 20 positions in B.com. In B.Com Bahauddin Zakaria University Examinations, Punjab College holds a record of the first position from 2005-2013, second and third position in 2015 and then first position in 2017.
Punjab Group of Colleges has maintained its stature in other undergraduate programs as well. In B.Sc Punjab University Examinations, students of PGC stood first from 2012 to 2017 along with the third position in 2015 & 2017. Moreover, PGC bagged the first position from 2011-2015 in the B.Sc Bahauddin Zakaria University Examinations. PGC secured the first place in 2017 and the second position in 2016 in the B.Sc Bahauddin Zakaria University Examinations. 3rd position was also notched by PGC in B.Sc Islamic University Bahawalpur Examinations. First and second position in the B.Sc University of Sargodha Examination 2015 was secured by PGC students along with the second and third position in 2016. Also, in the B.Sc University of Gujrat Examinations of 2015 & 2016 first positions were clinched by bright students of PGC.
Furthermore, Punjab Law College also got its hand on the first position in LLB Punjab University Examination in 2009 and 2011.
Previous: Scholarships and Fee Concessions for All
Next: Programs offered at PGC


Hurricane Katrina swooped over Florida and slammed into Louisiana, Mississippi and Alabama on Monday, shuttering movie theaters and disrupting filming. Much of the cast and crew of Warner Bros. Pictures' "The Reaping" -- a Joel Silver production starring Hilary Swank, which had been headquartered in Baton Rouge, La. -- evacuated to hotels in Austin on Sunday. Swank returned to her home in New York. Meanwhile, key personnel from the CBS telefilm "Vampire Bats," starring Lucy Lawless, which had been filming in New Orleans, considered themselves lucky just to have made it as far as Baton Rouge, where they were taken in by residents.
By contrast, Katrina's impact on filming in Florida, which it passed over as a Category 1 hurricane late last week, was less disruptive. Universal Pictures' "Miami Vice," directed by Michael Mann and starring Colin Farrell and Jamie Foxx, shut down Thursday and Friday but resumed shooting Monday.
The Reaping, which stars Hilary Swank, Annasophia Robb, David Morrissey and Idris Elba, centers on a university professor (Swank) who debunks miracles. She is summoned to a small Louisiana town by a man (Morrissey) to investigate a series of bizarre occurrences that appear to be the 10 biblical plagues. Swank begins to fall for Morrissey but soon learns that he is not all that he appears.


text:
Q: Aligning Equations using Multline I am writing a simple equations with shareLatex, but cannot align them properly.
If I type like below:
\begin{multline}
P(t_{obs}) = &\int_{t}^{\infty} \frac{1}{1/t_{total}} P(t_{total}) d t_{total} = \int_{t}^{\infty}\frac{1}{t_{total}} \frac{1}{t_{total}^{\gamma}}d t_{total}
\\ = \int_{t}^{\infty} \frac{1}{t^{(1+\gamma)}}d t_{total}
= - \frac{1}{\gamma} t_{total}^{-\gamma}
\end{multline}

I got

I don't know why, but P(T_obs) accompanies a new line, so it is isolated.
What I want to do is to put the first two equation in one line with P(T_obs), and the rest in the next line.

A: Compare the following three constructs:
\documentclass{article}

\usepackage{amsmath}
\newcommand{\ttl}{\mathrm{total}}
\begin{document}

\begin{multline}
P(t_{\mathrm{obs}}) = \int_{t}^{\infty} \frac{1}{1/t_{\ttl}} P(t_{\ttl}) d t_{\ttl} = \int_{t}^{\infty}\frac{1}{t_{\ttl}} \frac{1}{t_{\ttl}^{\gamma}}d t_{\ttl}
\\ = \int_{t}^{\infty} \frac{1}{t^{(1+\gamma)}}d t_{\ttl}
= - \frac{1}{\gamma} t_{\ttl}^{-\gamma}
\end{multline}

\begin{equation}
\begin{aligned}
P(t_{\mathrm{obs}}) &= \int_{t}^{\infty} \frac{1}{1/t_{\ttl}} P(t_{\ttl}) d t_{\ttl} = \int_{t}^{\infty}\frac{1}{t_{\ttl}} \frac{1}{t_{\ttl}^{\gamma}}d t_{\ttl}
\\ & = \int_{t}^{\infty} \frac{1}{t^{(1+\gamma)}}d t_{\ttl}
= - \frac{1}{\gamma} t_{\ttl}^{-\gamma}
\end{aligned}
\end{equation}

\begin{align}
P(t_{\mathrm{obs}}) &= \int_{t}^{\infty} \frac{1}{1/t_{\ttl}} P(t_{\ttl}) d t_{\ttl} = \int_{t}^{\infty}\frac{1}{t_{\ttl}} \frac{1}{t_{\ttl}^{\gamma}}d t_{\ttl}
\notag \\ & = \int_{t}^{\infty} \frac{1}{t^{(1+\gamma)}}d t_{\ttl}
= - \frac{1}{\gamma} t_{\ttl}^{-\gamma}
\end{align}

\end{document}

Choose whichever one you like best.

A: May be you want one of these:
\documentclass{article}
\usepackage{mathtools}

\begin{document}

\begin{multline}
  P(t_\text{obs}) = ∫_{t}^{∞} \frac{1}{1/t_\text{total}} P(t_\text{total}) d t_\text{total}\\ = ∫_{t}^{∞}\frac{1}{t_\text{total}} \frac{1}{t_\text{total}^{γ}}d t_\text{total}
  = ∫_{t}^{∞} \frac{1}{t^{(1+γ)}}d t_\text{total}
  = - \frac{1}{γ} t_\text{total}^{-γ}
\end{multline}

\begin{align}
  P(t_\text{obs}) = ∫_{t}^{∞} \frac{1}{1/t_\text{total}} P(t_\text{total}) d t_\text{total}
                                                                                \\ & = ∫_{t}^{∞} \frac{1}{t^{(1+γ)}}d t_\text{total}
  = - \frac{1}{γ} t_\text{total}^{-γ}
\end{align}

\begin{equation}%
  \begin{split}P(t_\text{obs}) & =∫_{t}^{∞} \frac{1}{1/t_\text{total}} P(t_\text{total}) d t_\text{total} = ∫_{t}^{∞}\frac{1}{t_\text{total}} \frac{1}{t_\text{total}^{γ}}d t_\text{total}\\ %
    &= ∫_{t}^{∞} \frac{1}{t^{(1+γ)}}d t_\text{total} = - \frac{1}{γ} t_\text{total}^{-γ}%
  \end{split}%
\end{equation}

\end{document}


A collage sheet with two black and white illustrations from 1886 showing a pair of Victorian teenage girls dressed for rainy fall (autumn) weather. Both are carrying umbrellas and wearing thick woolens. You can download the free high-res 10" x 10" @ 300 ppi JPEG without a watermark for use in crafts, a walk journal, collage art making, scrapbooking or card design projects here.
All digital scans by FieldandGarden.com are licensed under a Creative Commons Attribution 4.0 International License. Please cite FieldandGarden.com as your source when using this work and/or provide a link back to this page.


Flex4Life is a popular item to support your joints, muscle health. – 4Life Transfer Factor - FAST, FREE Shipping !
Healthy joints and muscles require enough lubrication and cushion to move freely and easily. The body uses over 140 different joints to perform an infinite variety of movements. Limb by limb, joints frequently support the equivalent of six times the weight of your body in repetitive cycles of movement, making special care a necessity. In addition, ease of movement is supported by healthy levels of inflammation. 4Life's Flex4Life capsules provide the nutrients the body needs to support joint health, mobility, and flexibility.


text:
Dacryophthorus är ett släkte av skalbaggar. Dacryophthorus ingår i familjen vivlar.

Kladogram enligt Catalogue of Life:

Källor

Vivlar
Dacryophthorus

redpajama_set_name: RedPajamaWikipedia


text:
COVID-19: Government suspends offline classes for two weeks – Navabharat
Thiruvananthapuram. Kerala Education Minister V. Shivankutty on Saturday said that there has not been much spread of COVID-19 among students in the state. He said that the government's decision to postpone the online classes for students of classes 1 to 9 for two weeks is a precautionary step as the cases of infection have increased in the recent times.
He told a press conference here that classes would be suspended for two weeks as a precautionary measure and the decision would be applicable to all educational institutions in the state. He said that the safety of the children is paramount for the government and according to the new decision the time table of online classes will be redrawn.
Shivankutty said that however, there would be no change in the offline classes of class 10th, 11th and 12th and special arrangements would be made for the children coming to the schools. He said, "With this, more than 35 lakh students will be staying at home and attending online classes during this period. A high-level meeting of the education department will be convened on Monday and revised guidelines will be issued after that.
He said that efforts were being made to vaccinate the students at the earliest and with the help of the health department, arrangements would be made to give them doses of the vaccine in the schools itself.
ALSO READ rising unemployment crisis
The post COVID-19: Government suspends offline classes for two weeks appeared first on Navabharat.
Now the police will not be able to deduct the challan after the validity of the driving license is over, the government made a new announcement. Driving License Validity Extended in this state till 31 march | AnyTV News
Cows and buffaloes are filled in the classrooms of government schools, know what is the reason
Tags: classesCovid19GovernmentNavabharatofflinesuspendsweeks
big news! Now the price of petrol will be reduced by Rs 25, the new rule is going to be implemented from 26 January. Government is offering Rs 25 as a petrol subsidy up to 10-litres fuel | AnyTV News
Children exercise less in lockdown, how to get them back in action – Navabharat


text:
Did John Roberts Save Planned Parenthood?
Lynette Holloway
Justice John Roberts and President Obama (Getty Images News)
The Huffington Post reports that Supreme Court Chief Justice John Roberts' health care ruling raises questions about whether the federal government can withhold Medicaid dollars if a state decides to defund Planned Parenthood. If so, it could throw a wrench in the Tea Party's efforts to defund the group.
… Before Roberts' ruling, no legal scholar would have questioned whether the federal government had the authority to spend its own money or tie any strings it deemed appropriate to it. But after the ruling, it's an open question that will likely be decided in court, legal experts told The Huffington Post.
"I perceive NFIB v. Sebelius as throwing the courthouse doors open to coercion claims," said Nicole Huberfeld, a University of Kentucky law professor. "Because the holding is so dependent on the somewhat unusual facts of Medicaid, and because the court set forth no theory of coercion, I think we will see a lot of challenges in an effort to discover the contours of the coercion doctrine."
The issue raised by Roberts' opinion is whether the federal government can coerce a state into using its federal grant money in a particular way by threatening to withhold that money. For instance, if Congress voted to defund Planned Parenthood through the Title X federal family planning program, but New York wanted to continue sending its federal Title X dollars to Planned Parenthood clinics in the state, could the government withhold all Title X money from New York?
Read more at the Huffington Post.


text:
Aspire Food Group
Get the Latest Aspire Food Group News
London Inc Magazine is London Ontario's premier entrepreneurial and business news magazine. If you're looking for the latest Aspire Food Group news you've come to the right place! We feature the latest Aspire Food Group updates so you can check back regularly to find out what's going on in the world of Aspire Food Group.
Recent Aspire Food Group Stories
Cricket protein facility named top AI project
Aspire Food Group's artificial intelligence solution has been selected as one of the world's top ten AI projects
Down on the (cricket) farm
Aided by a consortium of advanced manufacturing partners and $16.8-million in new funding, Aspire Food Group is building a ground-breaking, high-tech cricket farm of the future
Welcoming the bug biz
Aspire Food Group to build world's largest food-grade cricket processing plant in London


by Schreuder & Kraan in writing and accepted by the Client.
relationship with Schreuder & Kraan.
declares that (it) he/she agrees to the present general terms.
time – at their sole discretion, by updating this posting.
execute an agreement with the Client.
negotiable, unless the quotation itself explicitly states otherwise.
which period the stated price cannot be changed unless stated otherwise.
3.1 All prices are in Euro's, inclusive of VAT and applicable taxes.
Kraan will quote the door to door freight cost to the Client.
they are the result of laws or provisions.
4.1 Unless otherwise agreed in writing, all deliveries are made cash on delivery.
4.3 Invoices are due 14 days after invoice date.
with a minimum of €250.
the Client's obligation to pay the amount due plus interest and costs.
orders for products and / or services. Orders are delivered as quickly as possible.
to be at the Client's risk unless otherwise agreed.
it is no longer reasonable for the client be expected to maintain the agreement.
The client is then entitled to cancel the order or dissolve the agreement, if necessary.
notified by e-mail, by letter or over the phone.
5.6 The risks related to the products pass to the client at the moment of delivery.
irrespective of how the debt has arisen.
have undergone; this requirement applies with respect to the date of sale/purchase.
of an antique piece of furniture.
they conform to the agreement.
7.6 Complaints do not suspend the Client's payment obligation.
products or refunding the invoiced amount.
unless there is intent or deliberate recklessness on the part of Schreuder & Kraan.
damage and loss of profit or turnover.
invoice value to the product or service by which the damage was caused.
damage and cost will be charged to the Client.
regular basis. Schreuder & Kraan reserves the right to amend the websites without prior warning.
advice and answers to questions, unless there is intent or deliberate recklessness.
fairness under the given circumstances.
Schreuder & Kraan and/or its websites.
court with jurisdiction in Haarlem.
the event of any conflict of interpretation the Dutch text will prevail.
Last modified: 21 August 2014.


text:
Welcome to Level Seven
Unofficial Marvel's Agents of SHIELD podcast
Comic Episode
Winter Soldier Bitter March #1 (Comic Files)
February 13, 2014 by Daniel Butcher 1 Comment
Honestly, I have been pretty excited about Winter Soldier Bitter March mini-series for a few months now. It has a vintage feel, had a tie-in to Captain America: Winter Soldier, and feels in some blanks for that character during his silent years in Marvel 616. The vintage feel is a huge bonus to a guy with two history degrees and really enjoyed the retro feel of Agents of Atlas. So expectations are high, which means I am ready to crash back into reality.
It is 1966 and Hydra has kidnapped two former Nazi scientists who worked for Dr. Zola during World War II. The two have the key to the Alchemy Formula, which would give Hydra unlimited amounts of precious metals which could be used in weapons and to financially cripple the world. S.H.I.E.L.D. tasks their two top agents to the case, Agent Nick Fury and Agent Ran Shen. The two men find they not only have to fight Hydra, but also a figure that is more myth than reality.
Level Seven Analysis
I think one of the reasons I find myself attracted to S.H.I.E.L.D. is an early exposure and love of the James Bond franchise. James Bond is a super spy and Nick Fury is the ultimate super spy, let us be honest Fury has better toys (see Life Model Decoys). Also, the early Bond movies helped motivate Marvel to move Fury from a war title to a spy title. I was hoping that set in the 1960s this story would have a James Bond feel. And author Rick Remender and artist Roland Boschi nail that feel! There are spy gadgets, super villains, conspiracies to take over the world and really really big lairs! This easily could have been the opening of Goldeneye as two spies infiltrate the enemy base, complete with quips between the two. And some scenes felt very Dr. No.
I really liked Ran Shen. And I liked his chemistry with Fury. The two clearly have friendship, trust and a rivalry. The only confusion for me is if he was S.H.I.E.L.D.'s number two agent, where has he been? Why has it taken me until now to hear about him. I mean I know Dugan, and the Countess, and Woo but Shen is not on my radar. Some quick research showed me he actually made his first appearance in December 2013 in another title. And it spoiled me when I did that research for a future read when that title is collected. So beware what you look for if you want to know more about Ran Shen!
I really enjoyed Winter Soldier Bitter March and will be picking up issue #2 for sure. My hope is that we continue learning more about Agent Shen and maybe seeing a little more of the Winter Soldier. This issue really focuses on Shen and Fury. This does make sense since Shen will be the hero of the title (he is on the cover) and as a reader we know very little about him. But I really hope that it does not take too long to reveal our villain in all his glory. My only real complaint is a S.H.I.E.L.D. snowmobile with a little too modern logo, but don't worry the jumpsuits have a vintage logo on their shoulders.
Winter Soldier Bitter March was a win for me. I will be back next month and I hope the James Bond feel continues. Agent Shen, you claim to be S.H.I.E.L.D.'s number two agent, I look forward to you showing me!
S.H.I.E.L.D. Roster
Agent Fury, Agent Ran, Agent Dugan
S.H.I.E.L.D. Associates
Filed Under: Comics, Reviews Tagged With: Agent Dugan, Agent Fury, Agent Rann, Arnim Zola, Hydra, Rick Remender, Roland Boschi, Winter Soldier, Winter Soldier Bitter March
Agent Anderson says
Great review, Daniel! I too had not heard of Agent Shen. I should check out this book.
What's your favorite MCU TV series so far?
Binge Rewatch
Cool Comic Covers
Fan Art Expo
Infinity Initiative
Marvel Cinematic Universe Comics
MCU Comics
Superheroes on the Small Screen
Welcome to Level Seven™ is an independently produced fan podcast and not affiliated with ABC Studios. The views of the hosts do not necessarily reflect the views of ABC Studios or the cast and crew. Screenshots and sound clips from Marvel's Agents of SHIELD © 2013–2014 ABC Studios. Welcome to Level Seven is a trademark of Ben Avery, Daniel Butcher, and Noodle.mx Network™.


How Neurofeedback works | What Exactly is EEG Biofeedback ?
How Does Neurofeedback Work ?
To find out more please call BrainTrainUT today at (801) 686-9334.
Does Neurofeedback have a history of success or is this a new treatment?
Neurofeedback is not new. As early as 1958 it was first shown that the brain could respond to brainwave feedback. But for many years the equipment was highly complex, large and only located in university research laboratories. This made it inconvenient for patients and cost millions to own and operate. And video game technology was non-existent, or very basic, and so the feedback experience was not stimulating for the patient. Digital technology has changed the game. Now portable equipment is available that costs thousands, not millions, and can run on standard PCs (which have become more powerful themselves). And, of course, video gaming technology has developed significantly, allowing treatment to be a more sensory rich and enjoyable experience. Most importantly, the understanding of the best clinical protocols for brain training has improved (to the point where hundreds of Neurofeedback Practitioners worldwide are using this technology to help clients improve their brain function). While some aspects of Neurofeedback can be automated using modern computer technology, every brain is unique and every individual situation is different. So it is vital that a trained Neurofeedback Practitioner take an individualized approach to a person's treatment.
To read more about this, please read the next page on The BrainTrainUT Programme.


text:
Marvin E. Christianson Sr. (January 12, 1928 – March 8, 1969) was an American farmer and politician.

Born in Halstad, Minnesota, Christianson graduated from Halstad High School and was a dairy farmer and cattle dealer. Christianson served in the Minnesota House of Representatives as a Democrat from 1967 until his death in 1969. Christianson died of cancer at a hospital in Minneapolis, Minnesota. His wife Donna Jean Christianson succeeded her husband in a special election to the Minnesota House of Representatives.

References

1928 births
1969 deaths
People from Norman County, Minnesota
Farmers from Minnesota
Democratic Party members of the Minnesota House of Representatives
Deaths from cancer in Minnesota
20th-century American businesspeople
20th-century American politicians


Ye Myat Aung is the Director of the National Museum Nay Pyi Taw, Myanmar, an ASEMUS member, since the construction of this museum started in 2010.
His field work and regular tasks including researching the Myanmar arts and crafts collections, conceptualising and implementing exhibitions and creating the exhibition designs and display plans for new exhibition rooms at the National Museum Nay Pyi Taw.Among others, he has conducted the display plans and curated the contents of the twelve exhibition rooms of the National Museum Nay Pyi Taw opened in July 2015 and March 2016.
He has also designed the contents of exhibitions at the Mandalay Cultural Museum (several exhibitions between 2001 and 2005, focusing on traditional painting, ancient coins and traditional techniques in bronzeware from Myanmar); the Fukuoka Asian Arts Museum, Japan (exhibition "Beautiful Myanmar", 2002); the Maniyatanar Hall, Nay Pyi Taw (exhibition on Myanmar arts and crafts, 2014); and contributed to the "Buddhist Arts of Myanmar" exhibition at the Asia Society, New York (2015).
Recently, Ye Myat Aung has taken the responsibility to organise the Myanmar Museums Committee and to try to join ICOM. He also lectured in Postgraduate Diploma courses in the field of Museology.
Prior to this current post at the National Museum Nay Pyi Taw, he had worked as research officer at the Department of Cultural Institute.
Ye Myat Aung holds a BA (hons) in History, specialising in the history of Myanmar. Further to this initial education, he has taken part in several training activities, workshops and meetings in Myanmar and abroad, including courses on Communication in Museums (Singapore, 1997); Museology (Japan, 2002); an ICOM workshop (Laos and Cambodia, 2005); the "Museums as a learning platform" seminar (Singapore, 2008); a museum directors' symposium (Singapore, 2008); a tourism management course (Cambodia, 2010); a course on museum management for directors (Beijing, China, 2011); the meeting of the Board of Directors for the Mekong-Ganga Textile Museum (Cambodia, 2014); the international conference "Museum of Our Own" (Indonesia, 2014); and the exhibition "Buddhist Arts of Myanmar" (New York, 2015).


Missouri S&T will break ground on the 68,500-square-foot James E. Bertelsmeyer Hall at 11th and State streets in April 2013. The building is named for James E. Bertelsmeyer, ChE'66, who made the lead gift toward the project. More than 50 other donors also contributed.
Watch for details about the groundbreaking in an upcoming issue of Missouri S&T Magazine.


Men's Fished Branded Graphic T-Shirt by Weird Fish.
The classic Fished T-shirt has a new and refreshed Weird Fish logo on the left chest for a casual and relaxed look. Finished with a heavy enzyme wash to ensure every one has a super-soft, comfortable and pre-worn feel. A quality tee that's perfect for everyday wear, the Fished Branded tee is anything but basic and will look great with jeans or shorts for a classic understated look.


text:
using Exceptional.Infrastructure;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Exceptional.Domain.Application
{
    public class ApplicationSearchQuery : IMessage
    {
        public string Name { get; set; }
    }
}


text:
title := DesignAnOrderedStream
all: $(title).class

$(title).class: *.java
	javac *.java

again:
	javac *.java

edit:
	emacs $(title).java

run: $(title).class
	java $(title)


This is a beautifully made, English solid oak wardrobe by Gordon Russell, made on the 30-8-1928, this Gordon Russell wardrobe has the original paper label on theback with all the manufacturing information. Very, very high quality, a really stunning piece with lovely extra attention to detail. In superb condition and in the original finish, this oak wardrobe has cedar wood back boards and is complete with the period brass handles and interesting brass hinges. We also have the matching bed and table available.


text:
Non-Executive Chair
David Banks started in Stock Broking in Birmingham in 1979 with Harris, Allday, Lea and Brooks before moving to London and becoming an institutional salesman at Panmure Gordon where he was acclaimed in the Automotive, Engineering, Aerospace and Motor Distributors sectors. He subsequently became a corporate broker advising many companies on their corporate structure, strategy, messaging and presentations. He also raised the capital for many of these companies both at IPO and in secondary fund raises.
Keith Broadbent
Keith has a track record of strategically implementing increased efficiency and significant bottom line improvement in the most challenging of manufacturing and field installation environments whilst managing the most challenging of customers. Keith's experience includes having worked as operations director at Princess Yachts International and at Sunseeker where he was part of the senior management team. Keith has an MBA in Strategic Management; a Postgraduate Diploma in Management Studies and a 2(i) BA (Hons) Degree in English.
Mark Chapman
For the last 19 years, Mark held a number of CFO and COO roles within international companies operating in the med-tech, beverages and consumer sectors, where he has helped deliver strong improvements in business sustainability and EBITDA growth. Prior to moving into industry, Mark spent 8 years in professional services firms, including 5 years as a corporate financier with Deloitte. Before embarking on his career in finance, Mark was a commissioned officer in the British Army and served in Northern Ireland. Mark qualified as a chartered accountant in 1995 and holds a degree in Economics from the University of Birmingham.
Theresa Wallis
Independent Non-Executive Director & Chair of the Audit Committee
Theresa Wallis worked most of her executive career in financial services, moving into technology commercialisation in 2001. She was with the London Stock Exchange for 13 years, where from 1995 to 2001 she was chief operating officer of AIM, the market for smaller growing companies, having managed the market's development and launch. From 2001 to end 2006 she was a principal executive of ANGLE plc, a venture management and consulting business focusing on the commercialisation of technology.
Since 2001 she has held a number of non-executive directorships, including LiDCO Group plc where she was non-executive chairman, Veriton Pharma Ltd and the Quoted Companies Alliance. Prior to joining the London Stock Exchange she worked for Hambros Bank and then Canadian Imperial Bank of Commerce in London. Theresa has a degree in Zoology from the University of Oxford and a Diploma in Company Direction from the Institute of Directors. Theresa brings a range of corporate governance, business development, financial and commercial skills and experience.
Graham Dudley Eves MA
Independent Non-Executive Director
Graham Eves joined GKN plc in 1967 where he spent 13 years operating across multiple overseas jurisdictions including, for the last 5 years, setting up and running a special operation for GKN plc's head office in Switzerland. He returned to the UK in 1980 to work in venture capital and establish his own international business consultancy. His main activities covered advising a range of German, North American and Japanese automotive component/technology suppliers and he co-founded and was chairman of an automotive technology company, Mechadyne (now part of Rheinmetall Automotiv AG). Graham was a Non-Executive Director of AB Dynamics plc from flotation until September, 2020. He was on the AIM advisory committee of the London Stock Exchange for 6 years and has a Master of Arts degree in Modern and Medieval Languages from the University of Cambridge.
Tom Quantrille
(Haydale Technologies, Inc, US subsidiary of HGI Plc)
Tom Quantrille joined Haydale Technologies Inc. in 2016 as Vice-President and COO, when Haydale Graphene Industries PLC acquired Advanced Composite Materials, LLC (ACM). Tom was president & CEO of ACM and had been at ACM since 2002. Tom is now the President and CEO of Haydale Technologies Inc. He has an extensive background in materials, business development, technology and sales development, and operations. Tom has a B.S. and Ph.D. in Chemical Engineering from Virginia Tech in the USA.
Ryan Howard
Ryan has been operating in the energy efficiency industry for the past 12 years and is responsible for growth and strategic development for City Energy Network Limited where he is National Business Director. Having established and developed long-term relationships with major energy suppliers and local authorities, Ryan has delivered a number of large-scale projects throughout the UK. Recognised as Energy Efficiency Champion for the UK, Ryan also sits on steering groups with BEIS and Ofgem for legislation and industry changes.


Pass4sure is now offering pass4sure HP2-E15 dumps PDF and Test Engine with 100% passing guarantee. Buy Pass4sure HP2-E15 pdf and pass your exam easily. If you want real exam simulation then buy test engine and install on your pc for preparation. Download HP HP2-E15 ASC Pass4sure questions answers study material and prepare for exam.
Now we are one step ahead in providing updated real exam dumps for ASC HP2-E15 pass4sure for HP . Buy HP HP2-E15 dumps and get ASC certified. We provide 100% HP2-E15 exam passing guarantee as we will provide you same questions of ASC exam with their answers. Our HP HP2-E15 questions answers are verified by experts. If you fail then mail us your result scan copy on refund@pass4sureexam.co and get full refund.


text:
Feature Obituary: Henry Bertin, 81, 'icon' who spread cheer with flowers
By Melanie CreamerStaff Writer
PORTLAND — Henry S. Bertin, a longtime owner of Sawyer's Flowers and Greenhouse who was widely viewed as an icon in the floral industry, died early Tuesday. He was 81.
Henry S. Bertin, who owned Sawyer's Flowers, and Anna Bertin were married for 61 years and had five children. Family Photo
Mr. Bertin began working in the floral industry with his father, who owned greenhouses in Westbrook and at Woodfords Corner in Portland. He worked there briefly before relocating the business to Congress Street in Portland's West End.
By the time he retired, Mr. Bertin had been president and owner of Sawyer's Flower Shop for 35 years.
His wife, Anna Bertin, said many family members were involved in the business. She took care of the bookkeeping and whatever else needed to be done. He taught three of his daughters floral design, and his son helped with deliveries.
"He was very proud of the fact that his children learned the business," his wife said Tuesday.
She described her husband as a generous, compassionate and hard-working guy who went out of his way to make customers happy.
If a bride wanted a particular type of flower for her wedding, he did everything he could to get them. Her husband would often travel to Boston for fresh flowers for a wedding or funeral, Anna Bertin said.
Mr. Bertin probably saved many marriages and relationships, too, she said. Men would call the shop or go there late, begging him to send flowers to their wives or loved ones. "He got many guys out of the doghouse," she said.
Dan Kennedy, owner of Sawyer & Company Florist, Harmon's & Barton's and Minott's Flowers, bought the business from Mr. Bertin in 2000.
Kennedy said he was considered an icon in Portland's floral industry and was well-known and well-respected by local flower wholesalers.
"He had a passion for flowers. It was his life," Kennedy said. "He was one of the last living floral icons in the industry. Whenever I had a question, I would run it by Henry. He would say, 'Well, this is what I would do.' It was like your grandfather giving you advice. He had been there, lived through it and done it."
Mr. Bertin and his wife were married for 61 years and raised five children.
His wife said they shared a good life together.
"He was a very good husband," she said. "I'll miss seeing him. He might be sitting on the couch and I might be in the chair. We didn't say too much in the evening, (but) just knowing he was there was a comfort."
Staff Writer Melanie Creamer can be contacted at 791-6361 or at: [email protected]


If you work in an organization that is publicly traded, or you are subject to other government regulations, you will be required to perform a periodic network audit. Even if an external entity doesn't require an audit, it's a good idea to review your network to ensure your environment meets current standards.
In a large network, a full audit may seem like an overwhelming task, but a few regular practices can help at audit time. As with most things, a successful audit begins with planning. The overall health and manageability of your network will dramatically reduce your audit and remediation efforts.
Let's get a few basics out of the way. You will need an up-to-date inventory of all the devices on your network. There are many ways to maintain this inventory, ranging from a low-tech spreadsheet to a fully automated inventory tool. Regardless of the solution you use, you should track details like hostname, management IP, serial number, and code version. You should keep basic configuration standards and templates to which your device configurations can be compared. Proper standards, correctly defined and applied, will enforce a minimum standard and will help you stay compliant throughout the year.
As you consider your networking standards, appropriate logging is a must. You will need a centralized logging server which will collect syslog from your devices. There are many open source and commercial logging options. Minimally, you will need to log invalid login attempts, hardware failures, and adjacency changes. Firewalls should log ACL denies and other security events. As you build a logging infrastructure, you can add tools to parse logs and alert on relevant events. You will need to carefully control who has write access to your log data. Check internal and external adit standards for retention requirements. Many organizations need to save audit logs for 7 years or more.
In recent years, wireless networks have become a sticking point in network audits. As compared to wired networks, wireless infrastructure has been changing rapidly, the number of devices have proliferated, and vulnerabilities for legacy wireless abound. Many organizations implemented wireless quickly with a pre-shared key without considering the security or audit consequences. In order to meet current wireless security audit requirements, your wireless network will need to authenticate via 802.1X with user credentials or a unique certificate managed by PKI. You will need to log all access to the wireless network. In addition, some standards may require wireless technology to perform roque detection and mitigation.
Its important to remember the purpose of a network audit. Typically, an audit measures how well you comply with established controls. Even if your network is, in your estimation, well run, secure, and well documented, you can fail an audit if you do not comply with established policies and procedures. If you have responsibility for ensuring your network audit, get clear guidance on the audit standards and review any policies and procedures that apply.
Network audits can be challenging and labor intensive. However, with careful planning, the right tools, and diligence over time, the task will become much simpler.


Excite all five of your senses, taking on all the Sushi offered to you. There is a lot of misinformation in the media. Acquiring the correct knowledge will give you the opportunity for true bliss. We would like nothing more than to help you on that journey.


On Tuesday, I spoke at the Data Science London meetup about football data, and I started out by covering some lessons I've learned about building data sets for personal use when open data isn't available.
When that's the case, you often end up scraping HTML pages to extract the data that you're interested in, and then storing that in files, or in a database, if you want to be more fancy.
One of the most tempting things to do is build a crawler, which starts on the home page and then follows some or all of the links it comes across, downloading those pages as it goes.
This is incredibly time-consuming, and yet this was the approach I took when scraping an internal staffing application to model ThoughtWorks consultants/projects in neo4j about 18 months ago.
Ashok wanted to get the same data a few months later, and instead of building a crawler, spent a bit of time understanding the URI structure of the pages he wanted, and then built up a list of pages to download.
It took him just a few minutes to build a script that would get the data, whereas I spent many hours using the crawler-based approach.
If there is no discernible URI structure, or if you want to get every single page, then the crawler approach might make sense, but I try to avoid it as a first option.
The second thing I learned is that running Web Driver, nokogiri or enlive against live web pages and then only storing the parts of the page we're interested in is suboptimal.
We pay the network cost every time we run the script, and at the beginning of a data gathering exercise, we won't know exactly what data we need, so we're bound to have to run it multiple times until we get it right.
It's much quicker to download the files to disk and work on them locally.
Having spent a lot of time writing different tools to download the ThoughtWorks data set, Ashok asked me why I wasn't using Wget instead.
It pays to be reasonably sensible when using tools like this, and of course, read the terms and conditions of the site to check what they have to say about downloading copies of pages for personal use.
Given that you can get the pages using a web browser anyway, it's generally fine, but it makes sense not to bombard the site with requests for every single page and instead just focus on the data in which you're interested.


text:
package sbql4j8.com.sun.tools.jdeps;

import sbql4j8.com.sun.tools.classfile.ClassFile;
import sbql4j8.com.sun.tools.classfile.ConstantPoolException;
import sbql4j8.com.sun.tools.classfile.Dependencies.ClassFileError;
import java.io.*;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.*;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;

/**
 * ClassFileReader reads ClassFile(s) of a given path that can be
 * a .class file, a directory, or a JAR file.
 */
public class ClassFileReader {
    /**
     * Returns a ClassFileReader instance of a given path.
     */
    public static ClassFileReader newInstance(Path path) throws IOException {
        if (!Files.exists(path)) {
            throw new FileNotFoundException(path.toString());
        }

        if (Files.isDirectory(path)) {
            return new DirectoryReader(path);
        } else if (path.getFileName().toString().endsWith(".jar")) {
            return new JarFileReader(path);
        } else {
            return new ClassFileReader(path);
        }
    }

    /**
     * Returns a ClassFileReader instance of a given JarFile.
     */
    public static ClassFileReader newInstance(Path path, JarFile jf) throws IOException {
        return new JarFileReader(path, jf);
    }

    protected final Path path;
    protected final String baseFileName;
    private ClassFileReader(Path path) {
        this.path = path;
        this.baseFileName = path.getFileName() != null
                                ? path.getFileName().toString()
                                : path.toString();
    }

    public String getFileName() {
        return baseFileName;
    }

    /**
     * Returns the ClassFile matching the given binary name
     * or a fully-qualified class name.
     */
    public ClassFile getClassFile(String name) throws IOException {
        if (name.indexOf('.') > 0) {
            int i = name.lastIndexOf('.');
            String pathname = name.replace('.', File.separatorChar) + ".class";
            if (baseFileName.equals(pathname) ||
                    baseFileName.equals(pathname.substring(0, i) + "$" +
                                        pathname.substring(i+1, pathname.length()))) {
                return readClassFile(path);
            }
        } else {
            if (baseFileName.equals(name.replace('/', File.separatorChar) + ".class")) {
                return readClassFile(path);
            }
        }
        return null;
    }

    public Iterable<ClassFile> getClassFiles() throws IOException {
        return new Iterable<ClassFile>() {
            public Iterator<ClassFile> iterator() {
                return new FileIterator();
            }
        };
    }

    protected ClassFile readClassFile(Path p) throws IOException {
        InputStream is = null;
        try {
            is = Files.newInputStream(p);
            return ClassFile.read(is);
        } catch (ConstantPoolException e) {
            throw new ClassFileError(e);
        } finally {
            if (is != null) {
                is.close();
            }
        }
    }

    class FileIterator implements Iterator<ClassFile> {
        int count;
        FileIterator() {
            this.count = 0;
        }
        public boolean hasNext() {
            return count == 0 && baseFileName.endsWith(".class");
        }

        public ClassFile next() {
            if (!hasNext()) {
                throw new NoSuchElementException();
            }
            try {
                ClassFile cf = readClassFile(path);
                count++;
                return cf;
            } catch (IOException e) {
                throw new ClassFileError(e);
            }
        }

        public void remove() {
            throw new UnsupportedOperationException("Not supported yet.");
        }
    }

    public String toString() {
        return path.toString();
    }

    private static class DirectoryReader extends ClassFileReader {
        DirectoryReader(Path path) throws IOException {
            super(path);
        }

        public ClassFile getClassFile(String name) throws IOException {
            if (name.indexOf('.') > 0) {
                int i = name.lastIndexOf('.');
                String pathname = name.replace('.', File.separatorChar) + ".class";
                Path p = path.resolve(pathname);
                if (!Files.exists(p)) {
                    p = path.resolve(pathname.substring(0, i) + "$" +
                                     pathname.substring(i+1, pathname.length()));
                }
                if (Files.exists(p)) {
                    return readClassFile(p);
                }
            } else {
                Path p = path.resolve(name + ".class");
                if (Files.exists(p)) {
                    return readClassFile(p);
                }
            }
            return null;
        }

        public Iterable<ClassFile> getClassFiles() throws IOException {
            final Iterator<ClassFile> iter = new DirectoryIterator();
            return new Iterable<ClassFile>() {
                public Iterator<ClassFile> iterator() {
                    return iter;
                }
            };
        }

        private List<Path> walkTree(Path dir) throws IOException {
            final List<Path> files = new ArrayList<Path>();
            Files.walkFileTree(dir, new SimpleFileVisitor<Path>() {
                public FileVisitResult visitFile(Path file, BasicFileAttributes attrs)
                        throws IOException {
                    if (file.getFileName().toString().endsWith(".class")) {
                        files.add(file);
                    }
                    return FileVisitResult.CONTINUE;
                }
            });
            return files;
        }

        class DirectoryIterator implements Iterator<ClassFile> {
            private List<Path> entries;
            private int index = 0;
            DirectoryIterator() throws IOException {
                entries = walkTree(path);
                index = 0;
            }

            public boolean hasNext() {
                return index != entries.size();
            }

            public ClassFile next() {
                if (!hasNext()) {
                    throw new NoSuchElementException();
                }
                Path path = entries.get(index++);
                try {
                    return readClassFile(path);
                } catch (IOException e) {
                    throw new ClassFileError(e);
                }
            }

            public void remove() {
                throw new UnsupportedOperationException("Not supported yet.");
            }
        }
    }

    private static class JarFileReader extends ClassFileReader {
        final JarFile jarfile;
        JarFileReader(Path path) throws IOException {
            this(path, new JarFile(path.toFile()));
        }
        JarFileReader(Path path, JarFile jf) throws IOException {
            super(path);
            this.jarfile = jf;
        }

        public ClassFile getClassFile(String name) throws IOException {
            if (name.indexOf('.') > 0) {
                int i = name.lastIndexOf('.');
                String entryName = name.replace('.', '/') + ".class";
                JarEntry e = jarfile.getJarEntry(entryName);
                if (e == null) {
                    e = jarfile.getJarEntry(entryName.substring(0, i) + "$"
                            + entryName.substring(i + 1, entryName.length()));
                }
                if (e != null) {
                    return readClassFile(e);
                }
            } else {
                JarEntry e = jarfile.getJarEntry(name + ".class");
                if (e != null) {
                    return readClassFile(e);
                }
            }
            return null;
        }

        private ClassFile readClassFile(JarEntry e) throws IOException {
            InputStream is = null;
            try {
                is = jarfile.getInputStream(e);
                return ClassFile.read(is);
            } catch (ConstantPoolException ex) {
                throw new ClassFileError(ex);
            } finally {
                if (is != null)
                    is.close();
            }
        }

        public Iterable<ClassFile> getClassFiles() throws IOException {
            final Iterator<ClassFile> iter = new JarFileIterator();
            return new Iterable<ClassFile>() {
                public Iterator<ClassFile> iterator() {
                    return iter;
                }
            };
        }

        class JarFileIterator implements Iterator<ClassFile> {
            private Enumeration<JarEntry> entries;
            private JarEntry nextEntry;
            JarFileIterator() {
                this.entries = jarfile.entries();
                while (entries.hasMoreElements()) {
                    JarEntry e = entries.nextElement();
                    String name = e.getName();
                    if (name.endsWith(".class")) {
                        this.nextEntry = e;
                        break;
                    }
                }
            }

            public boolean hasNext() {
                return nextEntry != null;
            }

            public ClassFile next() {
                if (!hasNext()) {
                    throw new NoSuchElementException();
                }

                ClassFile cf;
                try {
                    cf = readClassFile(nextEntry);
                } catch (IOException ex) {
                    throw new ClassFileError(ex);
                }
                JarEntry entry = nextEntry;
                nextEntry = null;
                while (entries.hasMoreElements()) {
                    JarEntry e = entries.nextElement();
                    String name = e.getName();
                    if (name.endsWith(".class")) {
                        nextEntry = e;
                        break;
                    }
                }
                return cf;
            }

            public void remove() {
                throw new UnsupportedOperationException("Not supported yet.");
            }
        }
    }
}