(PERTH-ANDOVER) April 4, 2012 - Upper River Valley Mental Health and Addiction Services is offering a free "How to Cope with Stress" workshop for those affected by the flood in Perth-Andover. The workshop will be held on Thursday, April 5 at 6 p.m. at the Calvary Tabernacle United Pentecostal Church, 12 Legion Street Extension, Perth-Andover (Andover Side).
The information session will assist individuals in coping with the stress and emotional aftermath of this traumatic event. It will address the common signs of reacting to stress, a typical stress response, healthy and unhealthy ways to cope, helping your child cope, when to seek help and where to get help.
Horizon Health Network is the largest health-care organization in Atlantic Canada, operating 12 hospitals and more than 100 medical facilities, clinics and offices providing medical services ranging from acute care to community-based health services to New Brunswick, northern Nova Scotia and Prince Edward Island. With 1,000 physicians, an annual budget exceeding $1 billion and approximately 13,000 employees, Horizon Health Network's strategic vision focuses on research, innovation and education.


text:
InfoQ Homepage Articles Learning Modern C++: An Interview with Barbara Moo
Learning Modern C++: An Interview with Barbara Moo
This item in japanese
The popularity of C++ has varied throughout the years since its introduction in the 1980s. The rise of managed languages like Java and C# along with the emergence of scripting languages like JavaScript, Python, and Ruby has affected C++'s adoption. Yet many supporters like C++ for the control, raw power, and speed that it offers. C++11 promises to bring that power to programmers in a more efficient manner, and the changes it introduces illustrate how much the language has grown in the past 30 years. Programmers looking to learn about C++11 or perhaps sample C++ for the first time would do well to try C++ Primer, 5th Edition by Stanley B. Lippman, Josée Lajoie, and Barbara E. Moo. InfoQ had the opportunity to speak with Ms. Moo about her new book and the C++ language as a whole.
InfoQ: Lets start with the approach of your new book. You previously coauthored "Accelerated C++" which takes the approach of teaching C++ around its standard library. C++ Primer 5th Edition continues this style. By comparison, the author of 3rd Edition used a completely different method (C plus C++). I bring this up because I think it would be beneficial to discuss this philosophical shift in how the language as a whole is taught as well as the changes required to introduce C++11. How did you and the new team become part of this project?
Building Smarter Communications Using Artificial Intelligence
RingCentral Developers helps you revolutionize business communications with APIs for voice, SMS, Glip, meetings, and fax. Get started for free.
Barbara: Thanks. Indeed it was the success of Accelerated C++ that led AW to ask me to work on the 4th Edition of the Primer. The C++ Primer really has an important role in the C++ community. Since 1989, when the Primer was initially published, it has been more or less the gateway book for serious programmers that want a tutorial introduction to C++.
The first three editions of the C++ Primer were motivated by changes in the language. The 3rd Edition, which was published in 1998, focused on the 1998 standardization of C++. That edition was published before the new standard library was widely available. It was also published before Accelerated C++ demonstrated the advantages of teaching the library along with the language rather than as an advanced topic. Unlike previous editions of the C++ Primer, the primary motivation for the 4th Edition was to revise its teaching strategy. We decided to use the same teaching approach as Accelerated C++ and in particular to incorporate the library right from the start of the book.
Unfortunately, too many C++ books still teach low-level facilities based on arrays and pointers and teach the library as an advanced topic. But, using arrays and pointers is much more error-prone and harder to understand. Even worse, to simplify using arrays, many books end up teaching bad habits, such as using fixed-size arrays.
It is so much easier to write programs using the string and vector types. So, we present these types early in the Primer. When the new C++ 11 standard was nearing completion we decided to use the same strategy for presenting the new features. We completely revised the book to present the language as an integrated whole rather than teaching the new features as advanced topics grafted onto the existing language. Some of the new C++ 11 features in particular auto and decltype, range-based for statement, and smart pointers make writing programs much easier, so we teach these facilities along with other basics of the language.
InfoQ: What features of the new C++11 standard do you like the most?
Barbara: Well, I guess I sort of started to answer this question in the last one! The new auto and decltype type specifiers let programmers obtain the benefits of static typing (catching errors at compile time) without burdening programmers with writing long complicated type declarations or having to search through the program to know which type is needed.
Smart pointers make it easier and safer to use dynamic memory, but I think the biggest boon from smart pointers is that using them makes it easier to write classes that manage resources. Classes that use smart pointers (in place of ordinary pointers) don't need to define the assignment operator, copy constructor, and destructor. That means we can write fairly complex classes without having to teach about copy control.
Some other features that I like are the new library facilities for programming with functions e.g., bind and function. These new facilities are much cleaner and uniform to use. Also, lambdas, which can be thought of as lightweight functions, make it easier to use and customize the behavior of the standard algorithms.
One really important change is one that many programmers may ignore but will benefit from anyway, which is rvalue references and move semantics. The ability to move rather than copy an object is something that is needed only for some kinds of classes. In practice I suspect that only fairly sophisticated programmers will directly write move operations. However, avoiding copies when an object can be moved does provide a BIG boost to the performance of the standard library containers and string class.
InfoQ: Anything crucial that was overlooked?
Barbara: No, not really. The committee had a draft for concepts, which was an attempt to add constraints checking to the language that got omitted. I think that was a good choice because the design really wasn't ready.
InfoQ: How do you see C++ fitting in with today's software development world given today's popular areas (mobile/web/cloud)? There have been a numerous languages with various levels of popularity (Python / C# & Java / Go /etc) How do you feel C++ compares when starting a new project? (Or is it a matter of using C++11 for legacy C++ code bases?)
Barbara: Well, these languages differ from each other and from C++ in a number of important ways including both technical and nontechnical issues. With the exception of Go, with which I am not really familiar, these languages differ from C++ significantly and target different kinds of applications. If I'm writing a large-scale application that has rigorous performance, portability, hardware interface, or scale requirements these languages aren't appropriate. On the other hand, if I'm building an application that is dominated by interaction with the user, then I'm probably looking at one of these kinds of languages.
As to the specific question of mobile/web/cloud computing, C++ is used for these kinds of applications as well. C++ is used to manage the server (in the cloud) computing. And of course, it's also used for the operating systems that control the mobile devices themselves. So, even in this newest part of the computing industry there's widespread use of C++.
There's another important difference between C++, Python, and to a lesser extent Java, and languages like C#, Go, and Objective-C. The first group of languages have an open (or in the case of Java at least partially open) evolution process. As a result they are available on a wide variety of platforms. The same is not true for the second group. These languages are captive to particular corporate sponsors. Microsoft wants C# to be cross-platform but realistically it's used only for projects that run on MS operating systems. So far Go is a Google language and Objective-C has little use outside Apple's iOS applications. If you're writing an application that can be tied to a single platform, then these languages are suitable. If not, then you really need to think about what happens when you need to support other hardware or operating systems.
InfoQ: C++ has been described as 3 separate languages: the C pre-processor which has no knowledge of scope, the C++ runtime language, and the C++ compile time language-templates. Do you consider the C++ language that segmented? And if so, how much of an issue is it?
Barbara: No, I think that's an overstatement. Yes, there is a preprocessor and yes it is disconnected from the C++ language itself. But, aside from #include and conditional compilation there's been little reason to use the preprocessor in C++ since the mid-80s once C++ had inlines and const. As a result, most C++ programmers don't even think about the preprocessor and needn't be familiar with its additional facilities.
As to the distinction between the "run time" and "compile time" language, I think that's a distinction that matters more to language designers and implementers than to programmers. Aside from those few C++ programmers who do template metaprogramming, many, probably most, C++ programmers, never think about the distinction between runtime and compile time when they use templates versus the other parts of the language. At most the distinction they see regarding templates is that they may not hear about errors until later in the compilation cycle. That may be a surprise at first, but it's not a huge issue. A far bigger issue for programs that use templates is the state of the art regarding compiler error messages!
InfoQ: Some arguments against using C++ are its lengthy compile times and/or cryptic compilation errors. Do you see that as a real obstacle to be overcome or is it somewhat exaggerated? (In this case, there are some challenges but the power is worth the price?)
Barbara: As to compilation times, I think this used to be a much bigger deal than it is today. Like many other software systems, compilation times have gotten faster as machines have gotten faster. If you think about it, since the mid 1980s, when we started working on C++, machines have gotten about 1000 times faster. Systems haven't gotten a thousand times bigger, so compilation times today are relatively much, much faster than they were when C++ got its reputation for slow compile times. Of course, teams that work on very large systems still have to give attention to how they organize their code in order to reduce compilation times. Unfortunately I think that's a fact of life for large projects regardless.
As to cryptic error messages I think that's a problem primarily regarding code that involves templates. I do wish compiler writers would put more effort into reporting template-related errors in terms used in the code itself rather than reporting errors using internal generated names. I primarily used the gcc compiler to test the code in the Primer and I must admit that the error messages relating to template-based code were useful to find the right line of code but too often didn't help to much in figuring out what was wrong.
InfoQ: Since our last conversation Microsoft and others announced the Standard C++ Foundation. How do you feel this will affect C++ usage? What is your opinion on their goals to provide a central C++ location and a quicker release cycle of new standards?
Barbara: As to the Standard C++ Foundation I am not real familiar with it yet and, of course, they've just started. I applaud the effort and so far it looks like it will be an interesting site to track.
Barbara E. Moo is an independent consultant with 20 years' experience in the software field. During her nearly 15 years at AT&T, she worked on one of the first commercial products ever written in C++, managed the company's first C++ compiler project, and directed the development of AT&T's award-winning WorldNet Internet service business.
This content is in the Microsoft topic
Popular across InfoQ
Microsoft Introduces Power Virtual Agents, a No-Code Solution to Building AI Bots
The InfoQ eMag - .NET Core 3
Babel 7.7 Released with Improved TypeScript Support, Top-Level Await and More
Build Your Own WebAssembly Compiler
Your Program as a Transpiler: Applying Compiler Design to Everyday Programming
What about native code generation toolchains for Java and C#?
by Paulo Pinto /
Not so fast ..
by Cameron Purdy /
Re: Not so fast ..
by Carlos Quijano /
by N M /
some questions of the interview
by 李 彬 /
deterministic performance, templates and evolution
by Gerald Loeffler /
In these type of interviews where a language with native code generation toolchain gets compared with JVM and .NET environments, I always miss the reference to existing native code generation toolchains for the said environments.
As if it was convenient to forget such tools exist.
.. these languages [e.g. Java] differ from C++ significantly and target different kinds of applications. If I'm writing a large-scale application that has rigorous performance, portability, hardware interface, or scale requirements these languages aren't appropriate.
I don't feel that this matches reality at all:
* Performance: For multi-threaded programs on modern multi-core processors, the static compilation approach that C++ uses is far inferior to the dynamic optimizations that JIT compiler technology has at its disposal. Java's seventeen-year-old "java.util.Hashtable" benchmarks at 3x the performance of a similar C++ data structure built using smart pointers, and newer "atomics" (i.e. CAS-based) concurrent data structures are even better than that!
* Portability: While C++ code may be more portable today than it was in 1990 (when it was roughly as portable as C -- i.e. portable in theory only), it is very low on the list of language choices for portability. The continued standardization of the library will help a lot in this area, though.
* Hardware Interface: Hardware interface libraries almost always expose C interfaces (not C++).
* Scale Requirements: I suppose this depends on how one defines "scale requirements". Are we talking about scale at run-time, in which case C++ has no intrinsic advantages and some disadvantages (e.g. paucity of distributed systems capabilities)? Or are we talking about "scale" at development time, in which case C++ may be better than assembly, Javascript and Perl, but arguably worse than most other modern languages? Or perhaps by "scale", what was actually meant was "small footprint at run-time"?
C++ is used to manage the server (in the cloud) computing.
That's an odd example to cite; I haven't seen C++ used much for this type of work at all! Consider the most commonly used examples:
* Puppet (Ruby)
* Chef (Ruby & Erlang)
* OpenStack (Python)
* CloudStack (Java)
Instead of cloud server management, I'd have suggested something like "web browsers built using C++":
* Chrome
* Firefox (partial)
* Webkit
But while I disagree with a number of the statements made, and I'm no fan of C++, C++11 appears to be a definite improvement on C++ in a number of areas. There really aren't a lot of choices in the low-level language arena, so if you consider C++ as the "Siamese twin" of C, then C/C++ is pretty close to the only choice for low-level work, and it's still one of the most widely used languages overall.
Cameron Purdy
The opinions and views expressed in this post are my own, and do not necessarily reflect the opinions or views of my employer (Oracle).
You may not know that although Cameron is right with her performance disquisitions, the sadly true is not so benevolent with Java... I have experience building big multi-process systems and for the same performance obtained with 10 servers and a LAMP architecture we needed 100 servers with Java... And stability was horrible... As you probably know, this kind of open source architecture relies on Linux (mostly programmed in C / C++) and is mostly coded in Perl or PHP with the performance dependant tasks (mostly about calculus / statistics) in .so libraries coded in C / C++. So when you execute a command in Perl / PHP script you are executing native C/C++ power-horse algorithms that are far away from Java's performance's reach...
Regarding this "C++ is used to manage the server (in the cloud) computing". I think you are somewhat confused in terms of systems and applications. I bet Barbara is talking about the server (system) itself from a structural point of view (not a user friendly POV). Then Barbara is right: The servers are C++ as we human beings are carbon and water. Of course there is anecdotal % of code in Java, Python or Ruby in typical servers. In the case of Linux I have to remind that none of this three languages even compares Perl in %code MANAGING the server: It is, helping loading kernel modules, basic operative system libraries, hardware interfaces and drivers and the utilities to truly manage them.
That's what I think that Barara is meaning when saying "to manage the server"...
Take care & peace 4 U 2.
I worked for Sun looooong ago. I am also PhD in Bioinformatics and Systems Architect.
;-) My opinions are also mine and only mine and are probably wrong too.
"By comparison, the author of 4th Edition used a completely different method (C plus C++). "
Should it be "3rd edition" here? Since Moo was one of the aurthers of the 4th editon.
And the paragrah "As to cryptic error messages...... seems to be the answer of the previous question?
Cameron,
Well, let's go one-by-one.
* Performance
Right, we've all heard about the mythical SufficientlyFastJITCompiler with "dynamic optimization" that's going to catch up "any time now" -- since (at least) the very early 1990s ;-)
Other than simple mini-benchmarks with trivial for-loops, this simply hasn't arrived.
What this hope (because it's more of a hope than actually an delivering-what's-promised in-practice tech right now[*]) ignores is that the state-of-the-art as far as compiled languages are concerned isn't exactly frozen and waiting for the managed world to catch up -- PGO (available for C++ and able to use run-time execution path to fine-tune performance) differs from the JIT-optimization-hype in that it actually exists today and works in practice:
en.wikipedia.org/wiki/Profile-guided_optimization
msdn.microsoft.com/en-us/library/e7k32f4k%28v=v...
[*] the currently existing JIT-optimization implementations don't meet the delivering-what's-promised in-practice constraint;
Herb Sutter is still asking "When will better JITs save managed code?"
herbsutter.com/2012/04/02/reader-qa-when-will-b...
Frankly, I wouldn't hold my breath ;-)
Other than that, static optimization techniques (that have been with native languages like Fortran, C, or C++ since the optimizing compilers were invented) can be performed more extensively (and thus at a significantly more advance lavel) than in the time-frames dealt with by the JITters.
What this means in practice right now is that empirical results show it's not even close:
benchmarksgame.alioth.debian.org/u64q/which-pro...
In addition, with the growing importance of many-core and GPGPU and the already rich and growing ecosystem of modern C++ solutions (Thrust as part of CUDA 5 from NVIDIA, or C++ AMP from Microsoft), I can't see how Java can even compete here.
* Portability
As far as PC is concerned, it's pretty much comparable.
As far as mobile is concerned, C++ will run on:
- BlackBerry 10+ and PlayBook
- Apple iOS
- Android NDK (Android SDK 1.5+)
- Windows Mobile 8+
I don't think there's even a JVM for many of these...
Embedded: most platforms would choke on the JVM's memory requirements.
Java is too limiting here.
* Hardware Interface
Intel delivers a whole suite of C++ solutions supporting features of its newest CPUs
threadingbuildingblocks.org/
software.intel.com/en-us/articles/intel-array-b...
software.intel.com/en-us/intel-cilk-plus
NVIDIA includes Thrust with its CUDA tooling since CUDA 4.0:
thrust.github.com/
AMD delivers Bolt C++ Template Library as an integral part of its Accelerated Parallel Processing (APP) SDK:
developer.amd.com/tools/heterogeneous-computing...
So, it's not the 1990s anymore.
At the same time, C is not a problem and you can call C APIs seamlessly from C++ (which has been designed with this in mind).
As opposed to using C through, say, Java Native Interface, which is so slow so as to (more than) cancel many potential performance improvements:
stackoverflow.com/questions/1562111/jni-perform...
* Scale Requirements
*The* map-reduce solution, Google MapReduce, has been implemented in C++:
static.googleusercontent.com/external_content/u...
You might want to inform Google, Amazon, and Facebook, perhaps they'll all switch from C++ to Java ;-)
Of note, the Oracle Database also uses C++ for its implementation:
www.lextrait.com/Vincent/implementations.html
blogs.embarcadero.com/davidi/2013/02/26/42586
Oracle's JVM, HotSpot, is also written in C++.
So, are you perchance suggesting that the Oracle Database or Oracle's JVM do not scale?
* Applications *
From a tiniest micro-controller, through every mainstream cellphone, any PC, web infrastructure (incl. Amazon and Facebook), financial infrastructure (buy-side, sell-side, and exchanges themselves), to jet fighters in the sky and the International Space Station (ISS), SpaceX's Dragon spacecraft, and Mars Rovers in space:
archive.org/stream/nasa_techdoc_20060009036/200...
www.extremetech.com/extreme/127765-how-spacex-d...
www.stroustrup.com/applications.html
I'd say this is pretty scalable :-)
* Productivity
Again, this sounds like a snippet from some 1990s marketing materials.
Right now, a more appropriate language to compare C++11 with, as far as the syntax is concerned, would be Python:
cpp-next.com/archive/2011/11/having-it-all-pyth...
Java, with its baroque 1990s big-class-hierarchy frameworks fits better in the COBOL league. I admit, it has alleviated some of the problems with the "C with Classes", but this language doesn't exist anymore. So, yeah, Java, released in 1996, solved the 1996 problems. This is all a blast from the past... Frankly, I'm surprised you'd even attempt a comparison here :-)
It's good that you're suggesting a focus on the more modern languages though; C++ has been first standardized in 1998 and as such is a more modern language, perhaps it's worth getting familiarized with its 2011 version :-)
If you're looking for a neater language on a JVM platform, you might want to consider Scala.
What the comparisons often ignore is just like Java has frameworks, C++ has pretty good modern libraries (with a pretty lightweight user code):
pocoproject.org/
www.boost.org/
For instance, compare:
java.net.HttpURLConnection
digiassn.blogspot.com/2008/10/java-simple-httpu...
Poco::Net::HTTPClientSession
www.codeproject.com/Articles/252566/Learning-Po...
Hope that helps :-)
Agreed ;-)
I can show C/C++ being faster than Java, or vice versa. That's not very hard. There's still a lot of code that is being written in C/C++ for good reason; there is no one single language that "does it all well".
However, what is hard is finding ways to get highly concurrent C/C++ code (i.e. multi-threaded, running on more than one core or CPU) that shares data structures that may be mutable to perform well.
The benchmarks that most people point to are benchmarks of startup time, or benchmarks of single-threaded code. If I were writing a simple single-threaded piece of code that had stringent startup-time requirements, I might use C. Unfortunately, I live in the real world.
Just to be clear, the optimizations that Java (and other runtime optimized languages) can do at runtime cannot be done by a statically compiled language. Let me know when you grok that. This is particularly impressive for concurrency control mechanisms.
Again, you're referring to the state-of-the-art from 15 years ago. The JIT compilers today spit out pretty good code almost instantly, and then -- while the application is running -- they spend minutes (or even hours or days) collecting runtime information and optimizing (and as necessary, de-optimizing) code to produce much better optimized code.
"As far as PC is concerned"??? First, that's not portability. Second, it isn't true. Even supporting three different OSs (Linux, Windows, OSX) on the same hardware is fairly challenging with C++.
Second, for mobile, even though the OS is typically written in C (not C++), the providers will often disallow you from putting your own native code on their hardware!
Third, Android is Java.
Fourth, I've seen the JVM run fine on most if not all of those mobile platforms. Again, this isn't the 1990s ;-)
And regarding embedded, it's now the area of the fastest growth for Java!
I'm not talking about companies putting together syntactic sugar frameworks around their native C APIs ;-)
All three of those use Java extensively for their web sites and applications. While they may build some plumbing and system code with C/C++, they use C/C++ very little for building applications.
C++ is not efficiently scalable in development.
At runtime, I would argue that scalability is in the architecture and design of a system, and not in the language choice. You could build an Amazon-scale web site with VB if you had to (but yes, it would be ugly).
Sorry, it's still C with Classes. You can't put lipstick on this one .. just look at the errors the compiler spits out, and you know what's underneath. (OMG!!!)
I like Scala, but calling it "neater" is interesting. While it can be less verbose, it is (like C++) quite difficult to know what will actually happen at runtime from looking at the source code. In some was, C++ to C is like Scala to Java.
Yes, I've used boost. It's pretty good for a C++ library. However, one or two glue-on libraries do not a platform make. Also, because it's not built into the platform, it means that every app has to ship it.
Again, as I said before:
Regarding Java, while I do like it much more than C++ (for most projects), it's not a panacea either. Every time I have to work in C++ though, I desperately miss the advances that are present in Java.
p.s. Do you have a name?
One of the important advantages of C++ over e.g. Java is the availability of a style of memory management (no GC, allocation on the stack) that results in deterministic performance characteristics. I'm not saying that i personally miss this, but it's interesting that amidst all the hatred directed at Java in the posts above (in a manner which i haven't seen for at least a decade) this fails to get mentioned.
For this reason, and the ones listed by Cameron, i'd say Ms. Moo doesn't do a good job comparing C++11 to other languages. But clearly this is only a marginal topic in this interview, and shouldn't distract from here real expertise, i.e. C++ itself.
As concerns the rather incoherent attack on the design of the Java standard library (which, for all its signs of age in some spots, is in fact remarkably expressive, comprehensive and reliable) i'd find it much more important to mention the enormous influence that C++'s rather unique template system has on the design of the C++ standard library. I'd say this template-centric style represents an approach to library design that is (in the mainstream) unique to C++ and can't be replicated in e.g. Java. That's not a value judgement, just an observation.
Of course, the design of a standard library is not everything: essential in practice (as Cameron says) is also its breadth, and here the C++ standard library is unfortunately a bit under-developed.
Personally i find the new develoments in C++11 very exciting, a worthy evolution along the unique path that C++ has chosen decades ago. I'll have to buy yet another edition of the C++ Primer, it seems ;-)
www.gerald-loeffler.net

redpajama_set_name: RedPajamaCommonCrawl


text:
Golf In Cork
Get Fit, Reduce Stress, and Be Involved at Fota Island Resort
New Year, New Tee: Get Fit, Reduce Stress, and Be Involved at Fota Island Resort Have you vowed to make 2020 your #newyearnewme year? Do you want to get fit, expand your social circle, release stress and increase mental alertness? The 5-Star Fota Island Resort has the solution with a…
Get Fit, Reduce Stress, Be Involved with Golf at Fota Island Resort
Don't get down in the bunks Get Fit, Reduce Stress, Be Involved at Fota Island Golf Club Beat the January blues, it's time to get fit, reduce stress, and be part of something far more than just a game. Experience an array of health and wellness benefits for women through…
Ireland's newest and most modern golf academy
Improve your golf game in 2018 Fota Island Golf Academy is ideal for those who want to improve their game, offering a sophisticated analysis of swing, putt and technique, as well as excellent, comfortable and relaxing surroundings and invaluable advice and tuition from professional trainers. The finest selection of golfing…
Book your golf society outing for 2018
Perfect backdrop for a challenging round of golf Fota Island Golf Club, three-time host to the Irish Open, has three championship golf courses set in beautiful parkland scenery, maintained to the very highest of standards to ensure year-round golfing enjoyment and has now opened the 2018 tee sheet to group…
Swing into Oktober with Golfest at Fota Island Resort
Win a custom set of Callaway Apex Irons Fota Island Resort is helping to put the fun into golf this Oktober, as the five star resort is inviting golfers of all abilities to practice their swing for a chance to win a custom set of Callaway Apex Irons at the Cork golf club. The three…
Fota Island Open Week 2017
Fota Island Resort's Open Week commenced on Monday, 24th July, and runs until the 28th July at the renowned golf club in Cork. Whether you are a guest staying in the hotel or the lodges, or simply a keen golfer you are invited to participate at one of Ireland's most iconic…
Golf Club ranked in Ireland's Top 50 for 2017
Fota Island Golf Club was been ranked in the 2017 Golf Digest Volvo Top 100 best courses in Ireland once again. The results are compiled following a very comprehensive review process of Irish golf courses which was undertaken by selected readers of The Golf Digest over the past twelve months….
Fota named in Top 10 Golf Courses in South West Ireland
For those planning a golf break in Cork then it is worth noting that Fota Island Golf Club has been listed in the Top 10 Golf Courses in South West Ireland by usa.golfbreaks.com. With so many great and iconic golfing destinations dotted around the south west region of Ireland then it's…
Fota Island makes Golf Digest's Top 30 courses in Ireland
Fota Island Resort has once again been named in Golf Digest's highly prestigious Top 100 golf courses in Ireland.
Fota Island makes Ireland's Top 30 golf courses
Fota Island Golf Club in Cork has been selected as one of the Top 30 golf courses in Ireland in a recent Irish Independent article.
Does your company have what it takes to be InterCompany Challenge champions?
To enter the Fota Island Inter-Company Challenge contact us on +353 (0)21 4883700 or at cstanley@fotaisland.ie.


Zn0.97Mn0.03O and Zn0.87Mn0.03Fe0.1O nanoparticles have been synthesized using co-precipitation technique. The obtained nanoparticles were characterized by X-ray diffraction, and transmission electron microscopy. The elemental contents of the prepared nanoparticles were determined using particle-induced X-ray emission. Besides, the oxygen content of these nanoparticles was determined using non-Rutherford backscattering spectroscopy. The electrochemical behaviour of 10 ppm nanoparticles on the corrosion of mild steel in 0.5 M HCl and 0.5 M NaCl solutions containing 1% SDS was studied using potentiodynamic polarization curve measurements and electrochemical impedance spectroscopy techniques. The mechanism of inhibition of the studied nanoparticles was discussed and explained. Iron containing nanoparticles enhanced the corrosion protection of mild steel in 0.5 M HCl due to the ability of Fe2+ to deposit onto metal surface. However, in neutral 0.5 M NaCl medium, both nanoparticles have approximately similar efficiency.
The authors thank Dr. Mohamad Roumié the head of the accelerator Laboratory, Lebanese Atomic Energy Commission, CNRS, Beirut, Lebanon for the assistance in this work.


text:
Local News >
Stay Alfred to relocate to former Itron headquarters building
Etailz recently moved into the same Valley complex
Samantha Peone
Spokane-based vacation rental company Stay Alfred plans to occupy 37,500 square feet of space in the former Itron Inc. headquarters complex at 2818 N. Sullivan Road, a building permit issued by the city of Spokane Valley indicates.
The Stay Alfred permit, which lists a project value at $450,000, calls for tenant improvements to offices, restrooms, conference rooms, ceilings, and the fire-suppression system.
Architectural Ventures and SDS Construction Management LLC, both of Spokane Valley, are the designer and the general contractor, respectively, for the project.
Stay Alfred CEO Jordan Allen couldn't be reached immediately for comment.
In December 2017, the Journal reported Stay Alfred planned to move its office this year. Allen declined to disclose a location at that time. Currently located at 123 E. Sprague downtown, a couple of blocks east of Division Street, Stay Alfred had 140 employees as of December.
The permit follows an announcement from Spokane-based online retailer etailz Inc., which employs more than 250 people, that it recently moved into its new 40,000-square-foot headquarters in the former Itron complex, which includes three main buildings ranging from 30,000 to 48,600 square feet.
Indoor and outdoor renovations for that project included the addition of natural and directional lighting features; hanging hammock chairs, bean bags, couches, and plants; open work spaces; themed meeting rooms; privacy phone booths; a yoga room; a fitness area; a barbecue patio; a volleyball court; and a basketball court.
As earlier reported in the Journal, etailz had outgrown its former headquarters at 850 E. Spokane Falls Blvd., which it had occupied for more than five years.
Etailz and Stay Alfred aren't the first large operations to occupy the Sullivan Road space since Itron moved out. In 2016, Philadelphia-based Comcast Corp. temporarily occupied 50,000 square feet in the complex before moving its call center to Liberty Lake.
Spokane real estate investment company S&L Sullivan LLC purchased the former Itron campus last year.
Itron currently is headquartered at 2111 N. Molter Road, in Liberty Lake. The publicly traded company provides products and services that measure, manage, and analyze energy and water.
Reporter Samantha Peone joined the Journal in 2015 as research coordinator before later transitioning into a reporter role. She covers real estate and construction.


text:
Login|Register your Profile
Employers & Sectors
My EngineerJobs
What do health & safety engineers do?
A health and safety engineer is usually responsible for ensuring safety in the workplace. This can include developing and implementing safety programmes, inspecting and maintaining equipment, identifying potential hazards and designing ways to prevent them. Other duties can include working on the designs of new products to ensure that they are not harmful. Health and safety engineers can also be employed to improve workplace safety through building, fire protection, equipment and machinery designs. Engineers use specialised knowledge to prevent injuries, accidents and damage to property whenever possible.
A health and safety engineer needs to be knowledgeable about many aspects of the workplace in order to do the job effectively. Other duties can include designing fire protection equipment for maximum effectiveness and appropriate ventilation systems in areas where chemicals are used.
Employment can be in a variety of workplaces such as manufacturing plants, construction sites, utility plants and research facilities. Health and safety engineers can also work for the government. Often working with non-engineering specialists in various capacities as part of a team, long hours can be necessary at times, as well as travel to work sites and meetings.
Take a look at our employers below
AMEC is the leading UK provider of nuclear services. Our experience spans several decades in the UK, France, Canada and North America.
Meet us at the Exhibition
Speaking at conference
Buckingham Group Contracting Services
Buckingham Group Contracting Ltd is an owner-managed, multi-disciplinary contractor
Mitsubishi Electric Europe B.V
Mitsubishi Electric Europe produces and distributes a wide range of advanced electrical and electronic equipment in domestic and commercial markets.
Owen Mumford Ltd
Owen Mumford is a global leader in medical device design and manufacturing with a commitment to innovation and above all, meeting our customer needs.
As a leading global engineering company, Siemens provides innovative solutions to help tackle the world's major challenges.
UK Atomic Energy Authority
UK Atomic Energy Authority's mission is to lead the commercial development of fusion power and related technology, and position the UK as a leader in sustainable nuclear energy.
Sign up to receive the latest job vacancies, news and career advice.
Telephone +44 (0)20 8394 5200
Email ner@vmgl.com
Request a callback PLEASE CALL ME
@engineerjobs_UK Oct 26
McLaren are looking for talented design #engineers with existing knowledge of battery systems, electric drive or hy… https://t.co/Oa5Sl5Ht8C
Calling all #CivilEngineers! Do you have what it takes to educate the next generation? Weston College, rated 'outst… https://t.co/ownQPhKLR9
Web Design by upriseVSI | Privacy | Update Preferences | Terms & Conditions


How does diabetes bring problems to my mouth?
The tissues in your tongue, the top, the bottom as well as the sides of your mouth.
There is glucose in your saliva, the liquid which keeps your mouth moist. When your diabetes is not well managed, the levels of blood glucose is high and so is the amount of glucose in your saliva. This high level of glucose in the saliva encourages the growth of harmful germs called plaque. Plaque is also brought by putting foods which have lots of sugars or starches into the mouth. Certain kinds of plaque bring about tooth decay(dental caries or cavities). Other kinds bring about gum disease.
What can possibly happen if I have plaque?
When plaque is not cleared and it remains in your mouth for some time, it hardens and form deposits where your teeth meet your gums. When hardened, plaque is not easy to remove from between your teeth even with brushing. Then, your gums turn swollen, red, and bleed quite easily, giving you signs that you are beginning to suffer from gingivitis.
If gingivitis does not get treatment, it may lead to periodontitis. With periodontitis, the gums separate from side of the teeth and form pockets which soon become infected. Your body immediately fights against the bacteria in the infection even as the plaque goes down into the gums. The infection and the body'€™s reaction to it causes damage to the bone as well as the tissue that keep the teeth where they are. Therefore, when periodontitis does not get treatment, the gums, bones, tissues, and bones which hold up the teeth will be destroyed. When teeth become loose, they will have to be pulled out. When you suffer from periodontitis, you may be sent by your dentist to a periodontist who is a specialist in gum diseases.
What are the usual diabetes-related mouth problems?
Burning mouth syndrome – a painful, difficult mouth problem.
Dry mouth, known as xerostomia.
Thrush – the development of a yeast fungus which the body is not able to control.
Periodontitis – a more serious form of gum disease.
Gingivitis – the beginning of gum disease.
An infected, painful area, or ulcer, which cannot heal.
Dark marks or cavities in your teeth.
An altered sense of taste.
Pain at the time of chewing some food.
The mouth, jaw, or face suffering from a pain which is difficult to stop.
How do I know whether I have mouth problems from diabetes?
Examine your mouth often for any indication of diabetes related problems. If you see any signs of problems, visit your dentist immediately. The first indications of gum disease are tender, swollen, or bleeding gums. However, there are times when there are no indications at all until the damage is already serious. So, the best strategy is to visit your dentist half-yearly to have your mouth cleaned and checked.
How can I prepare for a visit to my dentist?
Planning is important for a diabetic who wants to visit his dentist. Before the visit, ask your doctor as well as your dentist on caring for your blood sugar at the time your dentist is working on your teeth and mouth.
It is possible that the diabetes medicine you take can result in hypoglycemia or low blood sugar. Therefore, after taking your insulin or some other diabetes medicines, make sure you eat like usual before going to see your dentist. It is better if you can bring along the diabetes medicines as well as the food to the dentist'€™s place.
When your blood sugar is poorly controlled, it is wise to not go ahead with any dental work if it is not an emergency. Let the dentist as well as the staff know any nervousness that you may have so that your dentist can suit your needs in the treatment he gives. Nervous or not, your scheduled checkup is not to be missed. Waiting for a better time to go to the dentist can cause problems, if any, to be worse.
What should I do if my mouth becomes sore after the dental work?
About the foods as well as the drinks which are suitable.
Whether the time for taking your medicines ought to be changed.
Whether your diabetes medicines'€™ dosage need to be changed.
How many times a day, you ought to test your blood sugar.
What effects does smoking have on my mouth?
Smoking can worsen the problems faced by your mouth. It increases the possibility of having gum disease, oral fungal infections, throat and oral cancers. Smoking also tinges your teeth a nicotine yellow and fouls your breath.
you can lessen the possibility of suffering from stroke, heart attack, amputation, kidney disease, and nerve disease.
your blood pressure and cholesterol levels might become better.
circulation of your blood will be better.
If you are a smoker, reach out for help from your doctor. Ask him to help you stop smoking. For assistance, you can also call 1-ˆ'800-ˆ'784-ˆ'8669 (1-€"800-€"QUITNOW).
How do I make sure that my mouth will be healthy?
Your mouth may be kept healthy by taking the following steps.
Make sure your blood sugar numbers are close to the target you have chosen. This target should be set with the help of your doctor. Your doctor can tell you what can be done whenever your numbers go too high or too low.
Eat balanced meals and eat according to your meal plan which you, together with your dietitian, have prepared.
A minimum two times each day, using fluoride toothpaste, your teeth should be brushed. Fluoride gives your teeth protection from tooth decay.
Try to brush upon awakening, before sleep and when you have finished eating.
A soft toothbrush should be used.
Brush your gum line gently.
Small, circular movement ought to be used.
The back, front, and top of every tooth must be brushed. Your tongue should be brushed, too.
Your toothbrush needs to be replaced after 3 months'€™ use, or earlier if it is worn or its bristles are no longer firm. New toothbrushes do the job of removing plaque better.
Your drinking water should have fluoride added to it. Find out from your dentist about fluoride mouthrinse to avoid tooth decay.
move the floss to the top and then down to the base of the teeth. Also let the floss go round the base of every tooth.
use unused sections of floss as you move from one tooth to the next.
Removing plaque from between the teeth can also be done by using a dental pick or brush which are thin aids designed to keep places between the teeth clean. They are available at drugstores as well as grocery stores.
Dentures, if you have them, must also be kept clean. Get them changed or adjusted if they are loose.
At the first sign of mouth problems, contact your dentist immediately.
Get your dentist to clean and do a checkup at least two times each year. If your dentist thinks you need further dental attention, he may advise more visits.
Always follow the advice of your dentist.
If your dentist informs you of a mouth problem, act on it immediately.
Follow the advice or treatments given by your dentist to make sure your mouth stays healthy.
Inform your dentist about your diabetes.
Let your dentist know of any changes in your health as well as in the medicine used.
Let your dentist know your blood tests, including the fasting blood glucose and the A1c test.
If your blood sugar levels are not under control, find out if you have to take antibiotics before as well as after any dental treatment done.
If you are a smoker, find out how you can stop smoking.


text:
Q: Why the program stuck at the await statement if using while loop and using lock.locked() checking I am writing a code to simulate getting data from a website which takes 3-5seconds with multiple selenium drivers but I cannot even get one browser working. I want to implement while loop inside an async function but the program seems stuck at the await asyncio.sleep(random.uniform(3, 5)) statement so the lock is never released so other async basically cannot enter the async with lock_browser:
import asyncio
import random
import time

async def work(lock_browser,x,y):
  while True:
    if lock_browser.locked() is False:
      async with lock_browser:

        await asyncio.sleep(random.uniform(3, 5)) #simulate only one browser connect to the website at a time

        print(x,y)
        break

async def main(x):
    tasks=[]
    lock_browser = asyncio.Lock()
    for y in range(5):
        tasks.append(work(lock_browser, x,y))
    await asyncio.gather(*tasks)

if __name__ == "__main__":
  start = time.perf_counter()
  for x in range(5):
    asyncio.run(main(x))

  end = time.perf_counter()
  duration=end-start
  print(f'Time elapsed:{duration:.2f}s')

The program will run if I remove the while & break statement. What are the possible causes that the program stuck inside the work() function??

redpajama_set_name: RedPajamaStackExchange


Ethiopian will avail similar freighter services from other flower-producing regional states such as Hawassa.
To spur tourism growth and development, Ethiopia must improve the hotel industry and the infrastructure that supports it.
Even if growth in the big African economies is lagging, the smaller countries are accelerating forward.
As African economies evolve, the services sector is growing as a proportion of these economies, and electricity is a non-negotiable ingredient for businesses in this sector to operate efficiently.


Anne won us a trip to the Big Island with the Sarah & Vinnie morning radio show. Not one to let an opportunity slip to embarrass myself, I managed to infiltrate both the live broadcast and the 'Secret Show,' a podcast that allows the crew to let their hair down a bit. Featured is a new composition of mine, destined to be the new Mill Valley theme song, as well as some clips on the live show from a spontaneous jam that happened at the airport while we were waiting for our flight. Enjoy!


AltFi sat down with Ian Pollari, KPMG's global co-lead for KPMG's Fintech practice, to find out more.
With Airwallex raising $100m, Avoka selling for $245m, and even UK startups like Bud raising $20m from Australia's ANZ banking group, all of a sudden Australian fintech is on the map.
Recent figures revealed that Australia's alternative finance industry is now turning over $1.15bn a year, placing it ahead of South Korea.
What Fintech trends are you seeing in Australia?
Open Banking has had mixed success in the UK, so is it taking off in Australia?
Are Fintech partnerships growing among Australian fintechs?
What can Australian fintechs learn from their European or US counterparts?
Hear more from Ian Pollari, KPMG's global co-lead for KPMG's Fintech practice, at AltFi's Australasia Summit in Sydney on 15 April. Last remaining tickets available.


An improved method of parent ion scanning is disclosed. In one embodiment a quadrupole mass filter 3 upstream of a collision cell 4 is arranged to operate in a highpass mode. Parent ions transmitted by the mass filter 3 are fragmented in the collision cell 4 and detected by an orthogonal time of flight analyser 5 which obtains a daughter ion mass spectrum. Ions having a mass to charge ratio below the cutoff of the mass filter 3 are identified as daughter ions, and candidate parent ions may then be discovered and their identity confirmed by obtaining corresponding daughter ion spectra. In a second embodiment, the collision cell 4 alternates between high and low fragmentation and candidate parent ions can additionally be identified on the basis of the loss of a predetermined ion or neutral particle.
Preferably, the method further comprises the steps of: filtering the ions upstream of the fragmentation means so that ions having a mass-to-charge ratio within a second range which includes at least one candidate parent ion are arranged to be substantially transmitted to the fragmentation means and so that the transmission of ions having a mass-to-charge ratio outside of the second range is substantially reduced; operating the fragmentation means so that substantially more of the ions are fragmented than in the second mode; and then mass analysing at least some of the ions which have passed through the fragmentation means. In otherwords, once a candidate parent ion has been identified, then the first mass filter is preferably set to operate as a narrow bandpass filter substantially only allowing ions at the m/z value of a particular candidate parent ion to be transmitted. According to a preferred embodiment, the second range is selected so that only ions having mass-to-charge ratios within ±x mass-to-charge units of a candidate parent ion are substantially transmitted to the fragmentation means ( 4), wherein x is selected from the group comprising: (i) 0.5; (ii) 1.0; (iii) 2.0; (iv) 5.0; (v) 10.0; (vi) 15.0; and (vii) 20.0. The mass spectrometer therefore operates in a tandem MS mode.
Preferably, the fragmentation means comprises a collision cell selected from the group comprising: (i) a quadrupole rod set; (ii) an hexapole rod set; (iii) an octopole rod set; and (iv) an electrode ring set. Further preferably, the collision cell is operated in a RF only mode and in a preferred arrangement is provided with a collision gas at a pressure within the range 10 −4 to 10−1 mbar, preferably 10−3 to 10−2 mbar. Further preferably, the collision cell forms a substantially gas-tight enclosure. The collision gas may preferably comprise helium, argon, nitrogen, air or methane.
Preferably, the predetermined daughter ions comprises ions selected from the group comprising: (i) immonium ions from peptides; (ii) functional groups which includes, for example, phosphate group PO 3 − ions from phosphorylated peptides; and (iii) mass tags which are intended to cleave from a specific molecule or class of molecule and to be subsequently identified thus reporting the presence of the specific molecule or class of molecule.
Preferably, the fragmentation means comprises a collision cell selected from the group comprising: (i) a quadrupole rod set; (ii) an hexapole rod set; (iii) an octopole rod set; and (iv) an electrode ring set. Preferably, the collision cell is operated in a RF only mode, and is further preferably provided with a collision gas at a pressure within the range 10 −3 to 10−1 mbar, preferably 10−3 to 10−2 mbar. Preferably, the collision cell forms a substantially gas-tight enclosure.
Preferably, the predetermined daughter ions comprises ions selected from the group comprising: (i) immonium ions from peptides; (ii) functional groups including phosphate group PO 3 − ions from phosphorylated peptides; and (iii) mass tags which are intended to cleave from a specific molecule or class of molecule and to be subsequently identified thus reporting the presence of the specific molecule or class of molecule.
The various preferred embodiments provide numerous advantages over conventional techniques of parent ion scanning, including the possibility of discovering the mass-to-charge ratios of parent ions and to obtain their corresponding daughter ion spectra within on-line time scales e.g. chromatography time scales. The preferred embodiments also have higher sensitivities than conventional parent ion scanning methods, and open up the possibility of incorporating multiple criteria into the same experiment for selection of parent ion m/z values. It is also possible to discover multiple classes of parent ion within the same experiment and the methods can be used with mass tagging.
FIG. 19 shows mass spectra for α-casein.
A preferred embodiment will now be described with reference to FIG. 1. A mass spectrometer  6 comprises an ion source 1, preferably an electrospray ionization source, an optional ion guide 2, a first quadrupole mass filter 3, a collision cell 4 and an orthogonal acceleration time-of-flight mass analyser incorporating a reflectron 5. The mass spectrometer 6 may be interfaced with a chromatograph, such as a liquid chromatograph (not shown), so that the sample entering the ion source 1 may be taken from the eluent of the liquid chromatograph.
The quadrupole mass filter  3 is disposed in an evacuated chamber which is maintained at a relatively low pressure e.g. less than 10−5 mbar. The electrodes comprising the mass filter 3 are connected to a power supply which generates both RF and DC potentials which determine the range of mass-to-charge values that are transmitted by the filter 3. A fragmentation means 4, preferably a collision cell, is disposed to receive ions which are transmitted by the mass filter 3. In particularly preferred embodiments the collision cell may comprise a quadrupole or hexapole rod set which may be enclosed by a substantially gas-tight casing into which a collision gas, in use, such as helium, argon, nitrogen, air or methane may be introduced at a pressure of between 10−4 and 10−1 mbar, further preferably 10−3 mbar to 10−2 mbar. Suitable RF potentials for the electrodes comprising the fragmentation means 4 are provided by a power supply (not shown).
Ions generated by the ion source  1 pass through the ion guide 2 into the mass filter 3 and into the fragmentation means 4. Ions exiting from the fragmentation means 4 pass into a time-of-flight mass analyser 5. Other ion optical components, such as ion guides or electrostatic lenses, may be present which are not shown in the figures or described herein to maximise ion transmission between various parts of the apparatus. Various vacuum pumps (not shown) may be provided for maintaining optimal vacuum conditions in the device. The time-of-flight mass analyser 5 operates in a known way by measuring the transit time of the ions comprised in a packet of ions so that their mass-to-charge ratios can be determined.
A control means (not shown) provides control signals for the various power supplies (not shown) which respectively provide the necessary operating potentials for the ion source  1, ion guide 2, quadrupole mass filter 3, fragmentation means 4 and the time-of-flight mass analyser 5. These control signals determine the operating parameters of the instrument, for example the mass-to-charge ratios transmitted through the mass filter 3 and the operation of the analyser 5. The control means is typically controlled by signals from a computer (not shown) which may also be used to process the mass spectral data acquired. The computer can also display and store mass spectra produced from the analyser 5 and receive and process commands from an operator. The control means may be automatically set to perform various methods and make various determinations without operator intervention, or may optionally require operator input at various stages.
FIGS.  2(a) and 2(b) show respectively daughter and parent ion spectra of a tryptic digest of ADH known as alcohol dehydrogenase. The daughter ion spectrum shown in FIG. 2(a) was obtained while the collision cell voltage (i.e. the voltage applied to fragmentation means 4) was high, e.g. 30V, which resulted in significant fragmentation of ions passing therethrough. The parent ion spectrum shown in FIG. 2(b) was obtained at low collision energy e.g. ≦5V. The mass spectra in this particular example were obtained from a sample eluting from a liquid chromatograph, and the spectra were obtained sufficiently rapidly and close together in time that they correspond to substantially the same component or components eluting from the liquid chromatograph.
According to both embodiments of the present invention, it may be determined that a predetermined daughter ion of interest say, for example, daughter ions having a m/z value of 136.1099 as shown in FIG. 2( a) are present. This determination may be made either by an operator or by automatic determination using a computer. According to the first embodiment once this determination has been made, then the voltage applied to the collision cell is set to low and a parent ion spectrum (corresponding to FIG. 2(b)) is acquired.
In both embodiments, the parent ion spectrum may then be analysed so as to determine which peaks correspond to candidate parent ions. In FIG. 2( b), there are several high intensity peaks in the parent ion spectrum, e.g. the peaks at 418.7724 and 568.7813, which are not substantially present in the corresponding daughter ion spectrum. These peaks may therefore preferably be considered to indicate candidate parent ions.
According to both embodiments, once a predetermined daughter ion of interest has been detected, for example, ions having a m/z value of 136.1099, and corresponding candidate parent ion(s) have been identified, e.g. ions having m/z values of 418.7724 and 568.7813, then the mass filter  3 is set to operate as a narrow band pass filter so as to substantially transmit to the fragmentation means 4 only one of the candidate parent ions, for example, ions having a m/z value of 418.7224. The fragmentation means 4 is set at high collision energy, so that a full daughter spectrum for that particular candidate parent ion may be obtained. If the predetermined daughter ion of interest is present in the full daughter spectrum, then it must be a product of the selected candidate parent ion. If the predetermined daughter ion is not present then another candidate parent ion is selected.
In the case of phosphopeptides, both phosphoserine and phosphothreonine containing precursors may be identified as they display a neutral loss of 98 Da (H 3PO4) under high-energy conditions. Correspondingly, the software may make a list of neutral losses from the precursors identified in the low energy spectrum. This involves measuring the masses of the precursor ions, determining their charge states and subtracting the neutral loss i.e. 97.9769 (1+), 49.9885 (2+). Appearance of the neutral loss in the high energy spectrum causes the instrument to switch into the product ion mode to confirm the neutral loss and to acquire additional sequence information. The exact mass capability of the Q-TOF2 increases the specificity of the neutral loss particularly in the case of a mass deficient loss such as that observed with phosphate. FIG. 5 shows a schematic of an exact neutral loss experiment.
FIG. 11 shows the neutral loss of H 3PO4 from a beta casein digest peptide detected at a concentration of 10 fm injected on column.
In the case of phosphotyrosine, fragmentation to produce a neutral loss of H 3PO4 does not occur. It does, however, decompose to produce a phosphorylated immonium ion at m/z 216 in positive ESI. The software can be directed to monitor for this ion, switching to a MS/MS mode when it appears in the high-energy spectrum.
FIG. 14 shows the full mass spectrum corresponding to scan number  604. This was a low energy mass spectrum recorded on the Q-TOF, and is the low energy spectrum next to the high energy spectrum at scan 605 that corresponds to the largest peak in the mass chromatogram of m/z 84.04. This shows that the parent ion for the Asparagine immonium ion at m/z 87.04 has a mass of 1012.54 since it shows the singly charged (M+H)+ ion at m/z 1013.54, and the doubly charged (M+2H)++ ion at m/z 507.27.
FIG. 17 shows a processed and expanded view of the same spectrum as in FIG. 16 above. For this spectrum, the continuum data has been processed such to identify peaks and display as lines with heights proportional to the peak area, and annotated with masses corresponding to their centroided masses. The peak at m/z 1031.4395 is the doubly charged (M+2H) ++ ion of a peptide, and the peak at m/z 982.4515 is a doubly charged fragment ion. It has to be a fragment ion since it is not present in the low energy spectrum. The mass difference between these ions is 48.9880. The theoretical mass for H3PO4 ++ is 97.9769, and the m/z value for the doubly charged H3PO4 ++ ion is 48.9884, a difference of only 8 ppm from that observed.
A Q-TOF2 mass spectrometer was set up to acquire mass spectra, with collision gas in the collision cell, and with the acquisition set to acquire alternate high and low energy spectra. When a daughter ion, with a mass difference from a candidate parent ion corresponding to the loss of the H 3PO4 ion, was identified the system would automatically switch to acquire the MS/MS spectrum of that candidate parent ion.
The spectrum in trace (1) shows the low energy mass spectrum at time 25.335 minutes. It mainly shows the doubly charged ion (m/z 976.4) and the triply charged ion (m/z 651.6) for a peptide with a mass of 1952 Daltons. The spectrum in trace (2) shows the high-energy spectrum at time 25.315 minutes, and shows a new peak at m/z 927 (not labelled). This has to be a daughter ion, since it is not present in the low energy spectrum, and it has a difference in m/z of 49 from the parent ion at m/z 976. This mass corresponds to that of the doubly charged H 3PO4 ++ ion. The system has automatically recognised this mass difference and switched to record the MS/MS spectrum from the m/z range 976-978. The MS/MS spectrum confirms that the peak at m/z 927, corresponding to the loss of the doubly charged H3PO4 ++ ion, is from that parent ion at m/z 976. It also shows other fragment ions from that parent ion, thereby allowing confirmation of the identity of the peptide.
mass analysing at least some of the ions which have passed through said fragmentation means (4) operating in said second mode.
, wherein said first range is variable.
, wherein the step of mass analysing at least some of the ions which have passed through said fragmentation means (4) operating in said first mode comprises obtaining a first mass spectrum and wherein the step of mass analysing at least some of the ions which have passed through said fragmentation means (4) operating in said second mode comprises obtaining a second mass spectrum.
, wherein after the step of mass analysing at least some of the ions which have been passed through said fragmentation means (4) operating in said second mode, said method further comprises the step of identifying at least one candidate parent ion.
, wherein said at least one candidate parent ion is identified by comparing the intensity of ions having a certain mass-to-charge ratio in said first mass spectrum with the intensity of ions having the same mass-to-charge ratio in said second mass spectrum.
mass analysing at least some of the ions which have passed through said fragmentation means (4).
, wherein said second range is selected so that only ions having mass-to-charge ratios within ±x mass-to-charge units of a candidate parent ion are substantially transmitted to said fragmentation means (4), wherein x is selected from the group comprising: (i) 0.5; (ii) 1.0; (iii) 2.0; (iv) 5.0; (v) 10.0; (vi) 15.0; and (vii) 20.0.
, wherein said ion source (1) is selected from the group comprising: (i) an electrospray ion source; (ii) an atmospheric pressure chemical ionization ion source; and (iii) a matrix assisted laser desorption ion source.
, wherein said ion source (1) is provided with an eluent over a period of time, said eluent having been separated from a mixture by means of liquid chromatography.
, wherein said ion source (1) is selected from the group comprising: (i) an electron impact ion source; (ii) a chemical ionization ion source; and (iii) a field ionisation ion source.
, wherein said ion source (1) is provided with an eluent over a period of time, said eluent having been separated from a mixture by means of gas chromatography.
, wherein said mass analysing steps are performed by an analyser selected from the group comprising: (i) a quadrupole mass filter; (ii) a time-of-flight mass analyser; (iii) an ion trap; (iv) a magnetic sector analyser; and (v) a Fourier Transform Ion Cyclotron Resonance ("FTICR") mass analyser.
, wherein said filtering step(s) are performed by a multi-element ion optical lens (3), preferably a quadrupole rod set.
, further comprising providing both a RF and a DC electric field to said multi-element ion optical lens (3).
, wherein said multi-element ion optical lens (3) is arranged to substantially transmit only ions having mass-to-charge ratios greater than a first value.
, wherein said first value is selected from the group comprising: (i) 100; (ii) 150; (iii) 200; (iv) 250; (v) 300; (vi) 350; (vii) 400; (viii) 450; and (ix) 500.
, wherein the step of identifying daughter ions comprises identifying at least some ions which are determined to have mass-to-charge ratios less than said first value.
, wherein said fragmentation means (4) comprises a collision cell selected from the group comprising: (i) a quadrupole rod set; (ii) an hexapole rod set; (iii) an octopole rod set; and (iv) an electrode ring set.
, wherein said collision cell is operated in a RF only mode.
, further comprising the step of providing a collision gas to said collision cell at a pressure within the range 10−4 to 10−1 mbar, preferably 10−3 to 10−2 mbar.
, wherein said collision cell forms a substantially gas-tight enclosure.
, wherein said predetermined daughter ions comprises ions selected from the group comprising: (i) immonium ions from peptides; (ii) functional groups including phosphate group PO3− ions from phosphorylated peptides; and (iii) mass tags which are intended to cleave from a specific molecule or class of molecule and to be subsequently identified thus reporting the presence of said specific molecule or class of molecule.
, wherein operating said fragmentation means (4) in said first mode comprises the step of supplying a voltage to said fragmentation means (4) selected from the group comprising: (i) ≧15V; (ii) ≧20V; (iii) ≧25V; (iv) ≧30V; (v) ≧50V; (vi) ≧100V; (vii) ≧150V; and (viii) ≧200V.
, wherein operating said fragmentation means (4) in said second mode comprises the step of supplying a voltage to said fragmentation means (4) selected from the group comprising: (i) ≦5V; (ii) ≦4.5V; (iii) ≦4V; (iv) ≦3.5V; (v) ≦3V; (vi) ≦2.5V; (vii) ≦2V; (viii) ≦1.5V; (ix) ≦1V; (x) ≦0.5V; and (xi) substantially OV.
said control system is arranged to identify as daughter ions, at least some ions which are determined to have a mass-to-charge ratio which falls outside of said first range, wherein if one or more daughter ions are determined to be present, then said control system determines whether said one or more daughter ions correspond with one or more predetermined daughter ions, and wherein if said control system determines that said one or more daughter ions does correspond with one or more predetermined daughter ions, then said control system switches said fragmentation means (4) so as to operate in a second mode wherein substantially less of the ions received by said fragmentation means (4) are fragmented than in said first mode and whereupon said mass analyser is arranged to mass analyse at least some of the ions which have passed through said fragmentation means (4) operating in said second mode.
, wherein said mass analyser is selected from the group comprising: (i) a quadrupole mass filter; (ii) a time-of-flight mass analyser; (iii) an ion trap; (iv) a magnetic sector analyser; and (v) a Fourier Transform Ion Cyclotron Resonance ("FTICR") mass analyser.
, wherein said multi-element ion optical lens (3) comprises a quadrupole mass filter.
said mass spectrometer is configured to identify as daughter ions, at least some ions which are determined to have a mass-to-charge ratio which is less than said first value, wherein if one or more daughter ions are determined to be present, then said mass spectrometer is arranged to determine whether said one or more daughter ions correspond with one or more predetermined daughter ions, and wherein if it is determined that said one or more daughter ions does correspond with one or more predetermined daughter ions, then said mass spectrometer is arranged and adapted to switch said fragmentation means (4) so as to operate in a second mode with an applied voltage ≦5V wherein substantially less of the ions received by said fragmentation means (4) are fragmented than in said first mode and whereupon said mass analyser is arranged to mass analyse at least some of the ions which have passed through said fragmentation means (4) operating in said second mode.
determining whether: (i) said at least one daughter ion corresponds with one or more predetermined daughter ions; and/or (ii) said at least one daughter ion and said at least one candidate parent ion could be related by the loss of a predetermined ion or neutral particle.
, further comprising: filtering the ions upstream of said fragmentation means (4) so that ions having a mass-to-charge ratio within a first range are substantially transmitted and so that the transmission of ions having a mass-to-charge ratio outside of said first range is substantially reduced.
, wherein the step of identifying at least one daughter ion comprises determining at least some ions which have a mass-to-charge ratio which falls outside of said first range.
, wherein said at least one daughter ion is identified by comparing the intensity of ions having a certain mass-to-charge ratio in said first mass spectrum with the intensity of ions having the same mass-to-charge ratio in said second mass spectrum.
, wherein said filtering step(s) are performed by a multi-element ion optical lens (3), preferably a quadrupole mass filter.
, further comprising providing both a RF and a DC electric field to said multi-element ion optical lens.
, further comprising the step of providing a collision gas to said collision cell at a pressure within the range 10−3 to 10−1 mbar, preferably 1031 3 to 10−2 mbar.
, wherein said predetermined daughter ions comprises ions selected from the group comprising: (i) immonium ions from peptides; (ii) functional groups including phosphate group PO3 − ions from phosphorylated peptides; and (iii) mass tags which are intended to cleave from a specific molecule or class of molecule and to be subsequently identified thus reporting the presence of said specific molecule or class of molecule.
wherein said control system is arranged to identify at least one daughter ion and at least one candidate parent ion and to determine whether: (i) said at least one daughter ion corresponds with one or more predetermined daughter ions; and/or (ii) said at least one daughter ion and said at least one candidate parent ion could be related by the loss of a predetermined ion or neutral particle.
, further comprising a multi-element ion optical lens (3) for filtering ions so that ions having a mass-to-charge ratio within a first range are substantially transmitted and so that the transmission of ions having a mass-to-charge ratio outside of said first range is substantially reduced.
(i) said at least one daughter ion corresponds with one or more predetermined daughter ions; and/or (ii) said at least one daughter ion and said at least one candidate parent ion could be related by the loss of a predetermined ion or neutral particle.


text:
State Board of Education > Research Reports
Research Reports and Studies
The State Board of Education periodically conducts research and other activities that result in the publication of reports, papers and other materials. In addition, members of the Board often participate as members of commissions, task forces and study groups which produce reports. This site contains research and studies conducted by the Board and select reports published by commissions on which members of the Board served.
Annual Report to the Governor and General Assembly
2022 Annual Report (PDF)
Report on Holocaust, Genocide and Human Rights Violations
Act 70 Report (PDF)
Appendix C Act 70 Survey Results (PDF)
Report on Public School Entity Data Collection Reduction
Act 86 of 2016 directed the State Board of Education to review existing data collection requirements for public school entities in the areas of finance, human resources, food services, transportation, child accounting, athletics, health and special education. The Board was directed to submit a report of its findings and recommendations on data collection requirements that are redundant, overly burdensome or no longer necessary to the Chairman and Minority Chairman of the Education Committee of the Senate and the Chairman and Minority Chairman of the Education Committee of the House of Representatives. Below is the report issued by the Board in January 2017.
Report on Public School Entity Data Collection Reduction (PDF)
House Resolution 987 of 2010 directed the State Board of Education to work with PDE to conduct a study of library services for students in kindergarten through grade 12 in each public school building in the Commonwealth. Learn more about School Library Study.
Benefits and Detriments of Mandating Dating Violence Education
Act 104 of 2010 directed the State Board of Education to conduct a study of the benefits and detriments of mandatory dating violence education and to submit a report of its recommendations to the Chairman and Minority Chairman of the Education Committee of the Senate and the Chairman and Minority Chairman of the Education Committee of the House of Representatives. Below is the report issued by the Board in January 2014.
The Benefits and Detriments of Mandating Dating Violence Education in the Public Schools of the Commonwealth (PDF)
Common Core Alignment Study
Evaluation of the Alignment between PA Academic Standards and the Common Core Standards (June 2010) (PDF)
Implementing the Common Core Standards in PA: Reflections from the Field: A State Board of Education White Paper (PDF)
Report of the College Textbook Policies Advisory Committee
Updated Report of the College Textbook Policies and Advisory Committee (November 2021) (PDF)
Textbook Affordability Report (PDF)
Update to the Report of the College Textbook Policies Advisory Committee (PDF)
Report of the College Textbook Policies Advisory Committee (September 2018) (PDF)
Master Plan for Basic Education
Master Plan for Basic Education (PDF)
Master Plan for Higher Education
Master Plan for Higher Education (September 2005) (PDF)
Report on The Cost of Higher Education in Pennsylvania
Pennsylvania enrolls more students in higher education than all but three states in the country. Higher education options abound, ranging from community colleges to public and state-related universities to a broad array of independent institutions. Pennsylvania also can boast of having one of the largest need-based grant aid programs in the country. The Pennsylvania Higher Education Assistance Agency (PHEAA) annually distributes grant aid to Pennsylvania college students across the Commonwealth.
Despite all of these merits, the cost of attending college in Pennsylvania is a serious and growing concern. This issue has been exacerbated by recent reports of a student loan crisis that threatens to constrict access to affordable loans and further reduce postsecondary education options.
The Cost of Higher Education in Pennsylvania (November 2008) (PDF)
Report of the Governor's Commission on College and Career Success
This report of the Governor's Commission of College and Career Success makes recommendations to ensure that today's high school graduates are prepared to be the citizens and workers that the commonwealth's economy demands.
Governor's Commission on College and Career Success (PDF)
Pennsylvania's Education Costing-Out Study was requested by the General Assembly in House Bill 185 of 2005 and overseen by the State Board of Education. House Bill 185 directed the State Board to conduct or provide for a comprehensive statewide Costing-Out Study to arrive at a determination of the basic cost per pupil to provide an education that will permit a student to meet the state's academic standards. Learn more about Education Costing-Out Study.
As part of Pennsylvania's examination of the Pennsylvania System of School Assessment (PSSA), the Human Resources Research Organization (HumRRO) investigated whether PSSA scores are appropriately related to other measures of education achievement. Learn more about PSSA Validity Study.


text:
Q: Spring MVC dynamically binding to and from a list of beans I am new to spring MVC.In my application I need  to bind dynamically generated textbox contents to a list of beans dynamically.I went through the spring mvc book for binding to lists.But before binding, we must not only initialize
the collection, but populate it with objects.
In my case  I dont know the size of the list initially.
So is there any way to achive this ?
any help ?
Thanks in advance

A: Use an org.springframework.util.AutoPopulatingList in your model.


text:
Penrith 0°c
Our Facebook feedsThe Cumberland and Westmorland Gazette
Our Twitter feedsThe Cumberland and Westmorland Gazette
Support for decision to cancel Summer exams
Support for Government decision to cancel GCSE and A-Levels
By Gareth Cavanagh Reporter
Optimistic: Chris McAree
THE DECISION to cancel this Summer's A-Level and GCSE exams has been called "the only thing that can be done."
Education Secretary Gavin Williamson announced on Wednesday that this year's Summer exams would be scrapped due to the amount of schooling students have missed during the Covid-19 pandemic.
He said in a statement to Parliament that Government has learnt lessons from last year: "Although exams are the fairest way we have of assessing what a student knows, the impact of this pandemic now means that it is not possible to have these exams this year."
"I can confirm that GCSEs and A and AS Level exams will not go ahead this summer. This year we are going to put our trust in teachers rather than algorithms."
Cumbria County Council's cabinet member for Schools and Education Sue Sanderson said: "I think it's quite complex, personally I feel that it was the only thing that can be done."
She added that circumstances mean children are missing varying amounts of schooling.
"It's very hard to track, I think it has to be done on teacher assessments to make it as fair as it possibly can be."
However, all possible solutions have their challenges.
"There's no straight forward answer. You're forgetting the exam question altogether. Some children are motivated by an exam and targets to aim for but others prefer working on course work and building a base through the year."
Chris McAree, headteacher of William Howard School in Brampton said: "We welcome the announcement from the Secretary of State yesterday as it clarifies what had been a very confusing statement from the Prime Minister regarding exams on Monday. We now know at least what the basis for grades will be in very general terms."
Mr McAree added that clarity is needed: "Next week should see OFQUAL start the consultation on the system for awarding the grades and we will wait to see what is proposed.
"That consultation needs to be about details about how the system will work, not just broad principles. The evidence schools will need to have to back up grades and crucially how the grades are going to be moderated are things that staff and students need to know as soon as possible."
"The system will have to take into account the varying levels of disruption the students across the country in different regions and indeed within schools themselves have faced."
Mr McAree said: "It will be a difficult task and balancing act and I am sure the solution will not be a perfect one as ultimately the variability in student's experiences is so great."
Since the confusion and U-turns of last Summer's exam season, figures in education have been calling on Government to devise a plan. Mr McAree said: "The students' learning has been severely disrupted over the last 12 months and we must make sure that whatever system is used, students have a fair and equitable opportunity to achieve what they are capable of. "


Moscow, (IANS) Cessation of hostilities in the Syrian city of Aleppo will be announced in the coming hours, Russian Foreign Minister Sergey Lavrov said on Tuesday after talks with UN envoy to Syria, Staffan da Mistura.
"I hope that in the coming hours such an agreement will be announced," RT news quoted the minister as saying after the meeting here.
Lavrov also announced the creation of a new Russian-US monitoring centre in Geneva, which will oversee ceasefire violations in Syria.


text:
David Charles Benton (born 29 October 1957) is a British nurse and regulatory and health policy expert who is the 5th Chief Executive Officer of the National Council of State Boards of Nursing (NCSBN) based in Chicago, Illinois, USA. Benton was previously Chief Executive Officer of the International Council of Nurses in Geneva, Switzerland. Benton publishes on nursing and health policy, leadership, occupational licensure and nurse regulatory models, workforce and migration, and research methods including the use of social network analysis, and bibliometric analysis.

Education
Benton is a Registered Nurse who qualified in both general nursing (1983) and mental health nursing (1984) at the Highland College of Nursing and Midwifery in Inverness which later became part of the University of Stirling. He was educated at Elgin East End School and Elgin Academy, Moray and holds a BSc in Electronic and Electrical Engineering (1978) from Robert Gordon Institute of Technology (now Robert Gordon University), an MPhil (1988) from Abertay University and an MSc and PhD (2013) from Complutense University of Madrid.

Professional life
Benton  started his nursing career working clinically in general medicine and then in acute psychiatric nursing in Inverness before moving  to a specialist post as District Research Nurse in 1988 to the then North East Essex Health Authority.

He then worked as the Chief Nurse and Director of Quality for the then Tower Hamlets Health Authority in London in 1990, Regional Nurse Director for the Northern and Yorkshire Regional Health Authority, Chief Executive Officer The National Board for Nursing, Midwifery and Health Visiting for Scotland (now NHS Education for Scotland) in 1998 during which time he represented all four of the National Boards on the group reviewing the future of the UK nursing regulatory model which ultimately resulted in the creation of the Nursing and Midwifery Council.

Benton became Director of Nursing of the then NHS Grampian Acute Hospitals Trust (2001) before moving to work for the International Council of Nurses (2005). He served as a special advisor to the Scottish Parliament's workforce committee and served as a member of the then Health Minister's committee for nursing on "Facing the Future".  Benton was elected Chair of the Scottish Nurse Directors group from 2003 to 2005. Benton became Chief executive officer of the International Council of Nurses in 2008 before assuming his present position as 5th Chief Executive Officer of the National Council of State Boards of Nursing (NCSBN) in 2015.

Awards and recognition
Benton is a Fellow of the Florence Nightingale Foundation (2001) a Fellow of the Royal College of Nursing (2003) and a Fellow of the American Academy of Nursing (2007). He was a recipient of the inaugural Nursing Standard Leadership award (1993) and the Nuffield Traveling Fellowship for Research and Policy Studies in Health services (1999). In 2017, he received the Spanish Grand Nursing Cross: Gold Category, the highest award for nursing in relation to work on health policy and nursing regulation.

Personal life
Benton is married to Elizabeth Denise Benton (née Macrae) and they have three children.

Bibliography
Benton's publications are listed on Web of Science. His three most-cited articles are:

References

External links

Entry on Google Scholar

Living people
1957 births
Scottish nurses
British nurses
American nurses
Nursing researchers
Fellows of the American Academy of Nursing
Fellows of the Royal College of Nursing
Alumni of the University of Stirling
People educated at Elgin Academy, Moray

redpajama_set_name: RedPajamaWikipedia


Connect your device to multimedia speakers, car stereos, and a host of other audio products with this retractable cable. The cord includes a single 3.5 mm male connector on each end. The cord offers a fast and easy way to extend your audio player connection beyond a few inches. Simply plug one end into a 3.5 mm headphone jack and the other into the auxiliary input of your preferred audio device, such as a car stereo or boombox. Once connected, you'll enjoy a full range of audio options. Plus, when you're not using the cord, it retracts into its slim housing for storage.