text:
Metaphysics intruding on morphology
November 4, 2009 @ 12:20 pm · Filed by Geoffrey K. Pullum under Morphology, Style and register, Syntax
I received this email message this morning:
Dear Student Systems User
There are currently problems with the main database server, affecting NESI, EUCLID, WISARD, STUDMI, etc.
IS are investigating, but we have no timescale for a resolution. Sorry for any inconvenience
Student, Admissions & Curricula Systems
You might like to reflect awhile on the linguistic lessons you can learn from this. Then read on…
Of course, one thing I learned is that this is going to be a terrible day for anyone relying on databases of information for or about students. Admissions, courses, registration, timetabling, everything. I don't know why university database systems are so flaky, ill-designed, and prone to disaster, but they are. But this is Language Log, not Database Systems Log. I said linguistic lessons. And I think the major linguistic points are these.
The claim that some have made about regular plurals not being permitted in syntactic nominal compounds (about how allegedly mice eater is grammatical but rats eater is not) are just not tenable. Student Systems user is a counterexample, and so is Student, Admissions & Curricula Systems (or more simply admissions system, which is what EUCLID is supposed to be when it's up and running).
Computer support guys these days are saving bytes on punctuation: nothing after the salutation line (Dear Student Systems User); nothing after the pre-signoff sentence; nothing after the signoff (Regards).
We have no timescale for a resolution is a nice example of the jargony official talk that people switch to for institutional announcements (an individual was apprehended rather than someone was picked up, and so on). Why could they not say we don't know when it will be fixed ? Because they are an office writing to the university at large and they need to feel that they have behaved officially. Not, in my view, the appalling ethical catastrophe that George Orwell made of it in his vastly overrated, flailing essay "Politics and the English language", but definitely a known feature of English produced under the constraint of being in a bureaucratic role.
And somewhat more interestingly, the British English plural verb agreement with subjects denoting collectivities is clearly alive and well. IS in the second sentence of the message text is the university's Information Services division, but Information Services is not exactly a plural NP here. It's a singular NP with plural morphological form, like cornflakes as in Cornflakes is my favorite breakfast. It should be clear semantically that the verb are does not agree syntactically with services: after all, it is not the services that are investigating (they are abstract objects). It is the collectivity consisting of the people working in IS that can be said to be investigating. The noun phrase IS denotes the collectivity as a whole. So the sentence has the same structure as IBM are investigating. Most Americans would write that as IBM is investigating. This contrast in preferences is a minor syntactic dialect difference between UK and US English: British speakers tend to prefer plural agreement with subjects denoting companies, sports teams, departments, committees, governments, and so on, at least when they are being referred to in a way that highlights their collective nature. Metaphysics intruding on morphology.
Rachael said,
Doesn't point 4 undermine point 1? I don't have any more context than is in the post, but I read "Student Systems" as a "singular NP with plural morphological form, like cornflakes" (before I even read as far as point 4). So I don't think "Student Systems user" (or indeed "cornflakes eater") works as a counterexample to the "mice eater"/"rats eater" observation.
Mr Fnortner said,
I imagine the first rough cut at "IS is investigating, but…" left a techie aghast with nowhere to turn but to change the repellent second is to are.
Rich said,
Geoffrey –
Do you think the issue of point #2 is more than just saving effort typing? That it is an actual move toward the use of periods as sentence separators, instead of sentence terminators? In the Sorry sentence, there is no need to indicate the end of the sentence, because the end of the paragraph — the blank line — implies it. Have you seen other examples like this?
I've seen this sort of thing in computer code comments many times. Single line comments that are whole sentences have no terminal periods. Periods are only used when there are two sentences on one line. (But then the second sentence sometimes gets its period, too. Nobody's consistent.)
On the other hand, the missing period after inconvenience may be nothing more than a typo…
As a member of the IS collective, this is the equivalent of a telegraph from a correspondent in a muddy trench under heavy artillery fire. I would hate to have any linguistic lessons drawn from the (thankfully few) similar messages I have been forced to send.
The hope that the rest of my career will pass without the need for another keeps me from drafting a pleasing and grammatically unremarkable form letter for future use.
Tim Silverman said,
@Rachel: that was my reaction, too. I also interpreted Admissions as a singular in plural form, though I wasn't very clear over it was a process or a department (or indeed something else).
@Mr Fnorter: no, that really is the British collective plural in action. Although IS is collectively investigating, it is doing so by virtue of its individual members investigations, so the plural is appropriate (in British English). If the verb can only apply to IS as a unit, then the singular would be necessary ("IS is one of the largest departments"—obviously its members are not departments at all, a fortiori not the largest one.).
@Rich: I've seen this a lot too (and done it myself!) and also suspected that something like your explanation was the correct one: the full stop is treated as unnecessary because of the paragraph break.
Other than the missing full stop at the end of the pre-signoff sentence, Point 2 just looks like the standard style for business correspondence that's been current in the UK for some decades, now.
John Cowan said,
It seems like our Geoffrey has passed too much time in the States, where official writing continues to be in a commatose condition.
E. Pyatt said,
The only thing that stood out was Lesson 4 (IS with plural noun) which seems very British to me. I'm pretty sure if our U.S. tech support group were in the midst of a similar server crisis it would be "IT is investigating…"
I agree with Otter that the text shows the hallmarks of an IT organization working on a major meltdown. On the one hand they are using official jargon to make it look like things are "under control" (irony quotes) peppered with references to arcane acronyms the IT group is familiar with. However the passage "Sorry for the inconvenience" seems a little too brisk/informal (I would expect "We apologize for any inconvenience" if a copywriter had been involved.) Sounds like a quick one-off from a programmer.
In any case, I hope IS is/are able to get the servers back online soon.
Adrian said,
The fact that nouns used as modifiers are sometimes plural doesn't nix the general rule that they should be singular. And there is usually a good reason for "breaking" the rule, e.g. "admissions" is a recognised term which it would be odd to change, and "systems user" may emphasise that it isn't just one system that's being referred to.
I notice particularly the "currently". It's rather a long word for what amounts to a stutter, but that's how I see it almost always used.
While I'm here, I'd like to express appreciation for the honest use of "problems". Most of IS in the States would have written "issues" in that spot. I wonder what even more vague term they will migrate to when "issue" becomes too freighted with negativity.
Alan Palmer said,
I'm Britsh, so use and agree with the use of IS are investigating. I very much doubt that the entire personnel of the division are actually investigating the problem; some must be left to handle other things.
I must say that I'm a little pleased at the reference to problems, though. I wrote a similar notice for our corporate website a while back, and my boss substituted issues "because that way it doesn't sound so bad".
jfruh said,
Frankly what I find more interesting about the last paragraph is the kind of abrupt shift from the third to second person plural: "IS are investigating, but we have no timescale for a resolution." (I'm assuming that the we in question are members of the IS team.)
I am reminded of the dilemma faced with Facebook status updates, which by default begin with the user's name. "Josh is eating breakfast" is easy enough, but somehow typing "Josh is eating his breakfast" brings home the fact that you're referring to yourself in the third person, which feels faintly ridiculous, whereas "Josh is eating my breakfast" just looks odd.
D.O. said,
I am surprised by the use of the word timescale. Is it because of the "muddy trench under heavy artillery fire" situation or the word does have the meaning of timetable as one of the possibilities?
Spell Me Jeff said,
I actively participate on a board set up for web developers, which includes programmers as well as HTML designers.
Because most punctuation symbols serve as programming operators, their indiscriminate use in a programming context can lead to catastrophic errors. Here is a typical bit of advice:
Try writing $var = isset($_POST['var']) ? $_POST['var'] : null;
The writer in me longs to finish off the remark with a period; but what if this period were misconstrued as a continuation of the programming statement? The statement would fail. I wonder if some hardcore IT people have simply abandoned punctuation qua punctuation in the interest of unambiguous code.
Rachael: I think in this case 'Student Systems user' does indeed mean 'user of student systems', just as 'rats eater' might mean 'eater of rats'. 'Student Systems' isn't parallel to 'Information Services', which is a grammatical plural with singular meaning; it refers to the actual systems, not to the department which runs them.
E. Pyatt: in this case the arcane acronyms would actually be understandable by users (who indeed might well know what systems they referred to without knowing what they stood for).
Alex Dodge said,
In regards to periods being used as sentence separators:
This could be reading too much into it, but since this is a university IT department, I can infer that most of their work consists of hacking Perl together. Perl uses semicolons as line separators, not terminators as in some other languages.
Alex Dodge
rpsms said,
Rather than being a jargon term, "timescale" more likely refers to the inevitable question from 100s of users about time in the broadest sense (e.g. "Are we talking hours, days, or weeks?")
Would a "ratseater" be the usher at an informants' symposium?
point #1 is, to a lesser extent than point #4, a facet of British-American dialect difference. Plural nouns as attributives are somewhat commoner here than there.
OhioBob said,
The author would receive a warning from Word when writing "IS is investigating" to prompt about the double use of "is". As Bill Clinton said, it all depends on what the meaning of IS is.
Scriptor Ignotior said,
This is the part that intrigued me:
The claim that some have made about regular plurals not being permitted in syntactic nominal compounds (about how allegedly mice eater is grammatical but rats eater is not) are just not tenable.
"The claim … are just not tenable." Mes félicitations! Delightfully oblique. The attraction of the plurals some, plurals, and compounds certainly are strong.
Matthew Kehrt said,
@D.O. I think "timescale" is close to verging on stadard geek slang these days. If I wanted a vague idea of when something would be done, I would almost certainly ask "what's the timescale on that?"
@Spell Me Jeff I have the exact opposite problem, I think due to the influence of programming. If I'm not careful, I tend to write single paragraph sentences of a sequence of clauses delimited by semicolons.
Karen said,
Might it be that all rats are more or less alike (at least to the eater) while each system is different?
"Timescale" is just slightly geekier than the management-speak "timeframe".
"timescale" is jargon for something like "estimated time of delivery". it probably comes from staring at gantt charts.
re: "problems" vs. "issues", the current candidate for next runner on the euphemism treadmill seems to be "challenges".
re: redundant paragraph-terminating periods, i find myself dropping them fairly frequently, but my typing has recently been influenced by a lot of time spent chatting while playing networked games, where milliseconds really can make the difference between victory and defeat.
Picky said,
A parallel to this use and non-use of periods can be found in (at least British) newspapers where the convention is that picture captions do not finish with a full point. If the caption comprises two sentences the first will end with a full point and the second without. (Although one can sometimes see that the sub-editor has been sufficiently disturbed by this to insert the second full point, in defiance of house style).
I would agree that the British tendency to use plural verbs for collective nouns is more a matter of metaphysics than morphology, because we do it in a very specific and logical way, and differentiate between singular and plural collectives in quite subtle ways. For example, 'England' is obviously a singular noun, but on the – admittedly infrequent – occasions that the English national team (football, cricket, rugby etc.) is beating its opponents, it is perfectly natural, almost obligatory, to say 'England are winning'. On the other hand, it would sound odd, to my ears anyway, to say 'England are winning the war' and totally ungrammatical to say 'England are my native country'. 'The police' is generally plural – 'The police are coming', 'The police have arrested the suspect' – but sometimes 'the police' denotes a single body, so that it would be weird to write 'The police are an arm of the state'. Inconsistent, but logical.
Paul Power said,
There's an old joke, forgive me if you've heard it before..
A tailor wants order more than one goose (a sort of iron). He starts to write:
"Please could you send me two geese.."
This does not sound right, so he tries again..
"Please could you send me two gooses.."
Again he's not happy. Finally he solves his problem:
"Please could you send me one goose…………..
PS While you're at it could you send me another goose?"
There's a very similar short story by Zoshchenko in which a department wants to order more pokers but can't decide on the genitive plural of the Russian word kochergá 'poker.'
army1987 said,
@Paul Power and lanugage hat: there are similar jokes in Italian ("oranghi" or "orangi"?), too.
As for "timescale", as a geek myself I think it's what rpsms says. One can say "on geological timescales" or "on atomic timescales" to mean very long/very short times. When using this meaning speaking seriously, both an hour and three months would be "human timescales", but …
Ellen said,
The period after "etc", being as it's after an abbreviation, doesn't really truly break the pattern of no punctuation at the end of lines/paragraphs.
Boris said,
Re: goose, kocherga, etc: apparently, at least at one point, Microsoft insisted that the plural of "mouse" (as in pointing device) is "mouse devices".
Eddy said,
@Geoffrey "Most Americans would write that as IBM is investigating." If relaying this to a colleague would they then say "It doesn't know when it will be fixed." or "They don't know when it will be fixed."?
I think that a lot of the use of plurals, here in the UK, is to avoid the she/he PC maelstrom.
Jan Schreuder said,
I would like to repeat Rachael's point (because I had exactly the same reaction and I would like to know what Geoffry thinks ):
"Doesn't point 4 undermine point 1? I don't have any more context than is in the post, but I read "Student Systems" as a "singular NP with plural morphological form, like cornflakes" (before I even read as far as point 4). So I don't think "Student Systems user" (or indeed "cornflakes eater") works as a counterexample to the "mice eater"/"rats eater" observation"
Joe said,
Not sure what all the whinging is about regarding jargon. So Orwell is wrong when he says that there is a ethically catastrophic component to breaking the rule, "never use jargon if there is an everyday equivalent" but GP is right if the same rule is broken used for "official talk". What's wrong with breaking the rule if everyone gets the sense, " we don't know when it will be fixed"? Is it because there is an implicit sense of authority in such language that some people find distasteful?
Paul said,
I think the "timescale" sentence is indeed jargon, and that rpsms is being too charitable here.
Speaking of jargon, why do people in the military always refer to people as "individuals"? And what's up with "improvised explosive device"? Nothing makes an IED anything other than a "bomb," and I have a feeling things are called IEDs without any real thinking as to whether they're actually improvised.
Tom said,
When I read "IS are investigating…," I assumed that the sentence originally read, "We are investigating…" but the author thought that perhaps the reader wouldn't know who "we" was so they changed that without checking the rest of the sentence.
As to "problems" vs. "issues," we used to use a product called BugTracker to keep track of errors found in our code but now we use Jira Issue Tracker because we don't have any bugs in our code anymore.
cjackson said,
@Spell Me Jeff
I find that I most frequently do something similar to block quotes when I'm writing an e-mail with literal code. Though when I don't separate it like that, I am usually hesitant to add the period without also adding some explicit marker of the code segment (parentheses, quotation marks, etc.). I also pluralize java objects with 's, because the name is meaningful to the computer on its own, but meaningless to the computer with an s attached. So I think it's very reasonable to assume that writing about code could affect your writing in other domains.
(I'm tempted to replace "objects" with "Object's", but I won't.)
@Paul I think you are somewhat missing the point on what is meant by "jargon" here.
I strongly suspect that the word "timescale" was used, not because the writer was switching into a mode of speech which they considered more appropriate to communicating with non-techies , but because he or she *failed* to. The word "timescale" to mean "expected timeframe" gets used consistently (in my experience) among IT and CS people in casual conversation with each other. I suspect that it did not even occur to the author of that email that others might consider that use bizarre.
In other words, I don't think this is a case of switching to the sort of euphemistic "manager-speak" that people love to complain about, but just the normal speech for the author.
I will freely admit that this is based solely on my limited experience, but I and people I know certainly use the word "timescale" in that way.
@Matthew Kehrt: Fair enough. I see your distinction.
But I think that when IT people say things like "we have no expected timeframe for resolution," they're still speaking in jargon. In fact, that's the essence of jargon: "the language, esp. the vocabulary, peculiar to a particular trade, profession, or group."
I don't think such jargon is the "normal speech" of the author. If a student called to ask when the problem would be fixed, I'd wager that the author would respond in plain English: "We have no idea when it will be fixed." When a memo is called for, on the other hand, the same author probably switches to a sort of parallel "normal mode": jargon.
Paul Power: I have always heard this story told about mongeese. Er, mongooses. Er…
Martin Ellison said,
" we have no timescale for a resolution" means: don't keep ringing us up and asking us when it will be fixed, because we have no idea.
Fiona Hanington said,
November 10, 2009 @ 11:45 pm
I am so lucky to work for a company whose IT communications person is terribly funny. I eagerly ready all IT announcements, forward them to my friends and family, and actually Reply to His Messages.
But I know I am (nearly) alone.
Breffni said,
I think "we have no timescale for a resolution" is just fine. For a start, Geoff's alternative, "We don't know when it will be fixed", implies total cluelessness and maybe even abdication of responsibility (partly due to the passive, in this case, though "we don't know when we'll fix it" is worse and "we don't know when we'll get it fixed" is not much better). It would be appropriate for an end-user of the system like Geoff to tell a colleague "The system's down, I don't know when it will be fixed". But, jargon aside, he'd be unlikely to say "I don't have a timescale for its resolution", because it implies that he ought to have one. The frame "We don't have X" is a good fit for service-providers – they aim to have certain things to offer their clients. "We have the skills, we have the personnel, we have the tools, we have a plan, we have good intentions, but we don't have a timescale for a resolution". And if you concede that much, then you can see that no other simple noun can comfortably substitute for either "timescale" or "resolution". At least, "time" and "fix" certainly won't.
David Walker said,
@Breffni: How about "We will fix it as soon as we can" or "we don't know when we'll be able to fix it" or "We are working on it".
December 2, 2009 @ 8:39 am
David, those don't quite do the communicative job that the technicians want done. Your first and third options almost invite the question they want to forestall (namely "When will the systems be working again?"), and "we don't know when we'll be able to fix it" suggests either incompetence or that they're not making it a priority. Their version tells users not to ask when it'll be back online, but without suggesting they're clueless or don't care, and it probably sprang easily to mind: one thing the "We don't have an X" implies is "so there's no point asking for one." You could come up with other ways to do that, and I doubt they spent a long time drafting it, but their wording does the job fine.


A chilling new video released by ISIS has the nation on high alert.
In the video, ISIS thugs are threatening a Paris style massacre on Washington, D.C.
"As we struck France in the center of its abode in Paris," they say. "Then we swear that we will strike America at its center in Washington."
Football fans experienced stepped up security at games across the nation.
The NFL is taking no chances after one of the targets in Paris was a soccer stadium. Fans were instructed to carry only see-through plastic bags, which were thoroughly screened.
Security at our nation's airports has been stepped up too.
Traveler Seth Porges just arrived back in New York from Paris. The freelance journalist was staying in an Airbnb apartment near the restaurant that was attacked and saw the carnage first hand.
As the nation stands in solidarity with Paris, thoughts are turning to ways of preventing similar carnage on our shores.
Bernie Kerik says we can all play a part in keeping this county safe, particularly with the Thanksgiving Day parade just two weeks away.
France is set to host one of the largest soccer tornaments in June with Euro 2016. Fans who want to attend the competition got a guarantee from Jacques Lambert, the president of the organizing committee that security will prevail above everything.
The month long tournament will take place in 10 cities across the country with the final being held in Paris at the Stade de France, were a bombing took place outside the stadium.
While security and safety is on the mind's of everyone, Anonymous has declared war on ISIS in a chilling new video posted online.
On Monday morning, President Obama spoke about the threat of ISIS, or ISIL, at the G20 Summit in Antalya, Turkey.
"We are united against this threat," he said of the G20 members. "ISIL is the face of evil. Our goal is to degrade and ultimately destroy this organization."
Airstrikes against ISIS have intensified, he said, adding: "Both in Iraq and Syria, ISIL controls less territory than it did before."


Welcome to Optimum CRA Services Inc.
Optimum CRA Services, Inc. is a service organization, dedicated to providing quality and service excellence, and specializing in monitoring, project management, training and clinical operation services.
Optimum offers to pharmaceutical and biotechnology companies in need of expert clinical monitoring, project management and educational services, superior services, qualified and experienced consultants. Optimum is therefore an association of highly qualified healthcare and clinical research professionals who have an exhaustive knowledge of the industry, combined with practical expertise at the site level. As a result, Optimum is able to better understand and meet the sponsor's needs and requirement as well as to work efficiently with the Investigator sites.
Optimum CRA Services Inc. has the credentials and experience to help you get to where you want to go.
Copyright © 2010 Optimum CRA Services Inc. All Rights Reserved.


text:
A gag order doesn't belong at the meetings of the Williamsburg-James City County School Board. But there's one in place, in the form of policy that says, "The Board will not hear comments about any individual employee or student while in public session."
The intent is reasonable - to avoid situations in which citizens bring to the board complaints that should be handled in other venues, or launch into discussions of individual problems that are out of place at a public meeting of a policy-making body.
But the board's official policy is so badly crafted and enforced that it amounts to a gag order that bans not only comments, but even the mention of individuals.
Recently, during a discussion of the school budget, a citizen was stopped when giving her opinion of the plan to restore a staff position while eliminating teachers. Her offense: She specified the position (without naming the individual in it).
Still, the ruling came: She went too far.
So, apparently, did a citizen who referred to the superintendent, by his title. Favorably. What's the offense in that?
The School Board's policy is unusual. And unusually broad. And unnecessarily restrictive.
What's needed is a policy that invites the public to participate and welcomes commentary on their schools' objectives and operations. At the same time, the policy should make it clear that the board won't listen to things that don't belong in open session: personal attacks or invasions of students' and employees' reasonable expectation of privacy.
The best solution is a simple policy that does two things. First, direct people who have complaints about personal issues to make them through the chain of command (and make sure that chain is responsive). And two, clarify that the board will cut off any speaker who crosses the line.
The goal is to protect both citizens' right to be heard and employees' and students' privacy. Those interests can be balanced.
Yes, some information about individuals must be kept confidential, and some discussions held out of the public eye.
But citizens' commentary about school operations and decisions is legitimate ground for a School Board session - both compliments and criticisms. And sometimes it's necessary to mention and even discuss the individuals who run those operations and make those decisions.
Sharing with the board what one has experienced - "I've talked to 15 people about this and gotten to the superintendent's office and they won't respond" - isn't the same thing as a personal attack.
When people work for an institution as integral to a free and open society as public schools, they can't have a boundless expectation of privacy. Insofar as they serve a public function, there's room for legitimate public discussion of their performance. It just comes with the job.
This street goes both ways, though. When public employees are in line for praise, they should be able to get it publicly.
Yet the current policy at Williamsburg-James City Schools is as silly in barring compliments as it is in banning complaints. A parent who wants to praise a teacher, or a principal who wants to brag on students' accomplishments, are also gagged by an all-or-nothing approach.
There are plenty of good models, from other schools, of well-crafted policy along these lines. That's only part of the solution. The rest lies in the chairperson running things with an even and sensible hand, intervening when speakers go places they shouldn't.
If the board has to err, though, better to do so on the side of openness and public participation.
After all, not many people want to air their family laundry at a public meeting, and the few sticky situations that will arise don't have to get out of control. They can be handled under another provision already spelled out in the board's policy, one that's based on common sense and judgment: "The Chair has discretionary authority to rule a speaker out of order."
Judgment is better than any gag, and fairer.

redpajama_set_name: RedPajamaCommonCrawl


text:
f'real Announces Brand Relaunch, Redesign
The changes, which will hit the marketplace in March 2020, will be supported by a strong brand awareness campaign and in-store support.
By Isabelle Gustafson | October 9, 2019
f'real foods — a designer, maker and marketer of blended frozen beverages — is being relaunched with new products, a complete packaging redesign and incremental marketing support that will be introduced into the marketplace in Q1 2020.
Market research indicates that consumers, in addition to loving indulgent frozen beverage options, want great-tasting, convenient snacks that have healthier ingredients. And consumers are willing to pay more for snacks with healthier attributes.
In particular, there are three emerging trends f'real is leveraging with the relaunch:
No/Low Sugar
Plant-Based Alternatives
f'real is relaunching its smoothie platform with healthier nutritionals. The newly-reformulated products will replace the existing smoothie line, and are all are made with real fruit, are plant-based, have fewer calories,and have less added sugar.
The smoothie line will come in three flavors: Strawberry Banana, Mango, and Acai Berry.
f'real is also launching a new line of protein-packed shakes that boast 15+ grams of plant-based protein and low added sugar. The new protein shakes will be available in three flavors: Cold Brew, Peanut Butter and Chocolate, and Salted Caramel.
f'real's renowned milkshakes are here to stay; crowd favorites like Vanilla, Oreo Cookie & Cream, Peanut Butter Cup with Reese's and Mint chip will continue to be available.
Because consumers have told f'real that they want to indulge more responsibly, the company is "sensible-sizing" its entire portfolio. Its milkshakes, smoothies and protein shakes will move from 16-ounce to 12-ounce servings. The new 12-ounce cups will be launched in vibrant packaging that also easily differentiates each product segment.
These changes will be supported by a strong brand awareness campaign and in-store support. All this news will be hitting the marketplace starting in March 2020.
Murphy USA, Core-Mark Extend Supply Agreement
Bud Light Reveals New Super Bowl Ad
Mars Wrigley Plans Spring Release of Skittles Gummies
CWU Campus Dining Launches Fresh Food Concept


We have been providing property care and preservations services in areas across North Wales for over 50 years. These services include: damp proofing, woodworm treatment, dry rot treatment as well as radon gas. We have the best team across the country to help with your property care maintenance and ensure that all of our customers are left fully satisfied.
Conwy is located in the North Coast of Wales and is a walled market town that faces the Deganwy across the River Conwy. The average precipitation is significant high throughout the year in Conwy and even in the driest months, there is still a large amount of rainfall.
The wettest weather is at its peak during the months between October and December. This is where the potential for dampness occurring in your property will be at its highest. If your property is more than 40 years old then it is more than likely that your buildings damp proof course will be either damaged or not even have put in place.
If you leave damp untreated for a long period of time then more serious issues can occur and this can cause further problems for you and your property. Health issues such as the risk of asthma can be increased from the exposure to black spot mould. Condensation, rising damp and penetrating damp can all lead to stains of the walls, peeling off the plaster and an unpleasant smell.
Dry rot and wet rot can also be an outcome of dampness in your property. Both of these property care issues can cause serious damage to your building. Having someone who is inexperienced and not a qualified professional to treat your property then this will be a waste of time and money. We always recommend that you have a damp proof specialist carry out a survey at your property.
At Timberwise are accredited with being members of the PCA, Which? Trusted Trader and BWA (Basement Waterproofing Association). This will give you the satisfaction that all works carried out at your property will be to the highest standards possible. You can trust Timberwise will provide the best solution for all your property preservation needs.
Many of our customers in North Wales always ask the question of what goes into a timber and damp survey. The first procedure in the process is to book an inspection with a specialist. Always make sure when booking a survey it is from a PCA approved company to ensure that your property will be fully treated from any damp and timber issues.
Once you have booked in the survey, the surveyor will assess all areas of the property. Pictures and notes will be taken at the inspection of outlining any potential issues and solutions to the property care problem. All this information will then be explained in the damp and timber report. The damp and timber report will then put forward the costs for any works that need to be carried out to solve the timber or damp issue.
We are proud of our work and showcase work we have carried out in our case studies.
One such case study looks at wet rot on a property on Anglesey. Our property care experts in North Wales were called upon to advise upon fungal decay found in a historic hotel in Beaumaris, Anglesey. Once the survey has been carried out by surveyors wet rot fungus was discovered in a bay window area. The extent of the wet rot was such that the timbers in the bay had been structurally weakened.
The solution to the wet rot problem involved providing a caged area to the seating area beneath the bay and the decayed timber was removed from the bay and new timber sections were added in their place.
For more information about the case studies we cover click here.
TTimberwise is one of the leading property care companies in North Wales covering Wrexham, Rhyl, Colwyn Bay,Bangor, Anglesey, Caernarfon (Carnarvon), Bangor, Holyhead, Rhos on Sea and Valley, Peterstone Wentlooge, Duffryn, Bassaleg, Rogerstone, Newport, Bettws, Caerleon, Langstone and Underwood and many more. At Timberwise we carry out treatments for damp proofing, woodworm, dry rot for many high profile customers which include Conway Council, Denbighshire County Council and estate agents Dafydd Hardy.
Having to deal with a damp and timber problem in your property can be quite a huge task to be faced with. At Timberwise, we aim to provide you with the very best service possible to make the process as stress-free as possible. Our timber and damp surveyors are on hand to provide expert advice for any questions you might have.
You can get in touch with our friendly team by calling on 01492 849 056. You can alternatively fill our request a survey form in at the top of the page.


text:
On November 8, 1985, 18-year-old Thomas Odle brutally murdered his parents and three siblings in the southern Illinois town of Mount Vernon, sending shockwaves throughout the nation. The murder of the Odle family remains one of the most horrific family mass murders in U.S. history. Odle confessed to the grisly crimes, was sentenced to death, and expected a lethal injection to end his life. It seemed to be a sad end to a rare case of parricidal familicide.
The collective human response to a teenager murdering his entire family is, "How does something like this happen?" When the murderer himself, after years of incarceration and self-reflection, asks the same question, we are compelled to join him on a journey deep into the circumstances and dynamics that may explain, but not defend, this unforgivable act. Written in part by the killer himself, this book offers a first-hand account of the thoughts and experiences that led to his appalling crime. In a truly unique collaboration, this convicted mass murderer, Thomas V. Odle, and neuropsychologist Dr. Robert Hanlon, tell this tragic story of abuse, abandonment, annihilation, and atonement.
At the age of 19, Tom Odle was the youngest death-row inmate in the Illinois prison system. Viewed as a remorseless, coldblooded killer, devoid of normal emotions, Odle spent 17 years waiting to die. However, a moratorium on executions in January, 2000, followed by the commutation of all death sentences to life sentences in 2003 changed Odle's destiny from certain death to natural life in prison without the possibility of parole.
After living in denial about his family and horrible crime for years, Tom Odle suddenly found himself confronted with an unfamiliar reality: a future. As a result, he began his search for answers by reaching out to Dr. Robert Hanlon, a neuropsychologist who had previously examined him. Over the next few years, Hanlon engaged Odle in a therapeutic process of introspection and self-reflection which became the basis of this book.
Can society learn something from reviewing the factors underlying this shocking crime in order to help prevent future cases of family mass murder? Although attempting to understand a crime does not mean forgiveness, Dr. Hanlon offers invaluable insights into the mind of the individual responsible for one of the most notorious domestic homicides in American history.
There are many stories written about serial killers and murderers, books that narrate the life course of individuals who commit heinous acts. However, few have been written by murderers explaining their lives first-hand and offering a glimpse into the experiences that bring one to murder. Survived by One: The Life and Mind of a Family Mass Murderer, is a unique endeavor. It combines the psychological expertise of Robert E. Hanlon, PhD, a prominent Chicago-based neuropsychologist, and the raw narration of Thomas Odle, a man serving a life sentence for the murder of his parents, his two brothers, and his sister. Familicide is fairly uncommon, making Odle's story all the more compelling. Continue reading this review
-Lama Bazzi, MD, Nicole Charder, MD Psychiatric Times
Survived By One tells the fascinating story of Thomas V. Odle, who was still a teenager in 1985 when he murdered all of his close family members – his parents, two brothers, and his sister. Dr. Hanlon, the author of the book and forensic neuropsychologist, traces young Tom's life from his childhood to his teens, and then from his arrest through to his prison sentence. Odle had been on Death Row in Illinois, but this was eventually changed to life in prison after a series of landmark court cases. While in prison, Odle reached out to Dr. Hanlon to help put his life in perspective. With Odle's assistance and permission, Hanlon has expertly put together this life story of a killer.
Apart from being very accessible, one of the best things about this book is how Odle's story is told. Hanlon describes the life of Odle, which includes his expert psychological analysis of events in Tom's life, as well as the historical and legal context of the story, and splices in Odle's own personal narratives. This allows the reader to build up a rich idea of how Tom's mind and life perspective developed throughout his childhood. For those seeking to understand how a person could commit familicide, Hanlon's telling of the story is genius. Continue reading this review.
– Jack Pemment, Psychology Today
"Dr. Hanlon has done a masterful job presenting the case of Tom Odle, a male adolescent who was sentenced to death after killing his parents and three younger siblings. This fascinating work covers Tom's childhood history, the legal proceedings, and perspectives of the mental health professionals who examined the youth after the killings. It also beautifully weaves in changes in the death penalty in Illinois that resulted in Odle's sentence being commuted to life. Most important, this book presents Odle's reflections two decades after the crime. The breadth of this work and its careful presentation virtually ensure that it will become a classic in the field of familicide."
—Kathleen M. Heide, professor of criminology, University of South Florida, and author of Understanding Parricide: When Sons and Daughters Kill Parents
"Survived by One is a profound experience. While demonstrating the moral courage of Governor George Ryan and the wisdom of Governor Pat Quinn, this book makes two critical points Americans need to learn: no matter how battered, reviled, or deeply buried, the divine spark of the human spirit can never be completely extinguished and there is always a reason for human behavior."
—Mike Farrell, president of Death Penalty Focus, author of Just Call Me Mike: A Journey to Actor and Activist and Of Mule and Man
Copyright © 2023 survivedbyone.com


text:
03.08.2016 Featured Story
Cops: Armed robbery reported at Riverhead gas station
An armed robbery was reported Tuesday morning at Mobile gas station on Route 58 in Riverhead and police are asking for the public's help in locating the suspect, according to a press release.
A store clerk called 911 shortly before 2:20 a.m. and reported a black man had entered the store, located at 1575 Old Country Road, robbed him at gunpoint and stole money from the cash register, Riverhead Town police said.
Police are also investigating other robberies in the area. Most recently, an employee at M&G Deli in Riverhead contacted police Feb. 26 and reported two men wearing ski masks entered the store, displayed a hang gun and demanded money, officials said.
Anyone with information about the robbery is asked to contact the Riverhead Police Department at 631-727-4500. Police said all calls will remain confidential.
Mobile gas station
Riverhead Town Police
01.18.2020	Police
Riverhead Blotter: Police investigating multiple thefts
Antony Gonzales-Huaman, 25, of Southampton was arrested last Tuesday around 4:14 p.m. for one count of forcible touching, a...
Cell phone dispute led to altercation that left 65-year-old man dead, family says; suspect held on $150K bail
A man accused of a Jan. 2 assault that led to the victim's death three days later was ordered...
Update: Police charge Riverhead man with assault in connection to fatality in early January
Update (Jan. 14): Suffolk County police arrested a 38-year-old man in connection with the death of a Riverside man...
Update: Police say missing teen located
UPDATE: Police said the teenager reported missing earlier has been located and was unharmed. Original Story: Riverhead Town police...
Riverhead Blotter: DWI and prostitution arrests in Riverhead
Joseph Thomas, 47, of Riverhead was arrested outside Riverhead Burger King last Friday evening for DWI, police reports said.
Fire on West Main Street displaces more than 30 Riverhead residents
Update: Riverhead Town police said the fire at 260 West Main St. likely started with someone smoking a cigarette...


text:
Injury Updates on Liverpool Duo Georginio Wijnaldum & Fabinho as Jurgen Klopp Fears the Worst
Jurgen Klopp has confirmed that midfielder Georginio Wijnaldum suffered a muscle injury during Liverpools 2-0 victory over Watford on Saturday afternoon, and the Reds coach admitted that they are not yet certain over the severity of the knock.
Wijnaldum pulled up just before the hour mark clutching his hamstring, and he was subsequently forced to leave the pitch, much to the concern of the Liverpool supporters and coaching staff.
The Dutch star now faces a spell on the sidelines, and Klopp stated that while initial signs are not promising, the extent of the injury will become clearer on Sunday morning, as reported by the Daily Star.
"Muscle. I don't know anything else," responded Klopp, when questioned over the nature of the injury.
"[Whether he can travel to Qatar] is actually in the moment one of my smallest concerns – he could probably fly – but my problem is more what exactly the injury is and I don't know that yet.
"It's a muscle thing and you never want to have a muscle injury.
"But in these moments it always makes it immediately more difficult, but it's not only us, all other teams have the same problems. We have to deal with these situations, that's clear.
"We will see - tomorrow we know more."
Wijnaldum joins fellow midfielder Fabinho in the Liverpool treatment room, as the Brazilian star has been ruled out of action since late November for the Reds.
The 26-year-old is not expected to return to Klopps side until the new year, but he was reportedly seen using crutches after the game, while still sporting a protective boot on his foot.
Journalist Paul Gorst tweeted: "Fabinho just hobbled through the Anfield mixed zone on crutches with his foot in a massive protective boot.
"Said it was getting better but that looks like a long way off, unfortunately."
Liverpool face a daunting Christmas period in which they must battle it out in the Premier League, EFL Cup and FIFA Club World Cup, and Klopps squad will be split in half when they play two games in two days next week.
Watford 0-0 Tottenham: Report, Ratings & Reaction as Gazzaniga Penalty Heroics Spare Spurs' Blushes
Juventus vs Parma: How to Watch On TV, Live Stream, Kick Off Time & Team News
Hertha BSC vs Bayern Munich: How to Watch on TV, Live Stream, Kick Off Time & Team News
AC Milan vs Udinese Preview: How to Watch on TV, Live Stream, Kick Off Time & Team News
Gareth Bale Mysteriously Left Out of Real Madrid Squad to Face Sevilla
Canadasports


text:
const int NO_VERTEX = -1;

ACleverAIController::ACleverAIController()
{
    ChooseDirectionProbeCount = 4;
    MinAllowedScale = 150.0f;
    InitialScale = 300.0f;
    ScaleDecayRate = 0.9f;
    AcceptableDistanceToTarget = 10.0f;
    CurrentVertex = NO_VERTEX;
    MinAllowedSpeed = 50.f;
    OvershootDistance = 30.0f;

    PreviousDistanceToNextVertex = MinAllowedScale;

    MinTryMoveTime = 0.5f;
    TryMoveTime = 0.0f;

    NextPathVertexIndex = NO_VERTEX;

    Graph = nullptr;
}

void ACleverAIController::BeginPlay()
{
    Super::BeginPlay();

    auto* controller = Cast<ACleverAIController>(GetControllerById(0));
    if (ControllerId == 0 || !controller) {
        Graph = MakeShareable(new NavGraph());
        Graph->SetWorld(GetWorld());
    } else {
        Graph = controller->GetNavigationGraph();
    }
}

void ACleverAIController::Tick(float DeltaSeconds)
{
    Super::Tick(DeltaSeconds);

    if (CurrentVertex == NO_VERTEX) {
        CurrentVertex = Graph->AddVertex(GetCharacterLocation());
        TraversalStack.Add(CurrentVertex);
    }

    if (TryEscape()) {
        return;
    }

    if (bIsMoving) {
        auto currentLocation = GetCharacterLocation();
        auto distance = (currentLocation - NextVertexLocation).Size();
        float speed = fabs(PreviousDistanceToNextVertex - distance) / DeltaSeconds;
        UE_LOG(LogTemp, Warning, TEXT("Current location: %s, Next location: %s, distance: %.3f, speed: %.3f"),
            *currentLocation.ToString(),
            *NextVertexLocation.ToString(),
            distance,
            speed);

        TryMoveTime += DeltaSeconds;
        if (distance < AcceptableDistanceToTarget || (speed < MinAllowedSpeed && TryMoveTime > MinTryMoveTime)) {
            bIsMoving = false;
            if (!bIsMovingBack) {
                NextVertexLocation = currentLocation;
                NextVertex = Graph->AddVertex(currentLocation);
                Graph->AddEdge(
                    CurrentVertex,
                    NextVertex,
                    (Graph->GetVertexByIndex(CurrentVertex) - currentLocation).Size());
                TraversalStack.Add(NextVertex);
            }
            CurrentVertex = NextVertex;
            NextVertex = NO_VERTEX;
            PreviousDistanceToNextVertex = MinAllowedScale;
            TryMoveTime = 0.0f;
        } else {
            PreviousDistanceToNextVertex = distance;
            return;
        }
    }

    if (!bIsFollowingPath) {
        if (!Graph->IsVisited(CurrentVertex)) {
            DiscoverNeighborhood();
        }
        if (!ChooseDirection()) {
            UE_LOG(LogTemp, Warning, TEXT("Traversal completed"));

            for (int vertex = 0; vertex < Graph->GetVertexCount(); ++vertex) {
                if (!Graph->HasPossibleDiscoveries(vertex)) {
                    continue;
                }

                TArray<int> path;
                if (Graph->FindPath(CurrentVertex, vertex, path)) {
                    FollowPath(path);
                    break;
                } else {
                    UE_LOG(LogTemp, Warning, TEXT("Failed to find path from %d to %d"),
                        CurrentVertex,
                        vertex);
                }
            }
        }
    } else {
        if (NextPathVertexIndex < CurrentPath.Num()) {
            auto target = Graph->GetVertexByIndex(CurrentPath[NextPathVertexIndex]);
            UE_LOG(LogTemp, Warning, TEXT("Going to path vertex %d at %s"),
                CurrentPath[NextPathVertexIndex],
                *target.ToString());
            GoToVertex(target);
            ++NextPathVertexIndex;
        } else {
            UE_LOG(LogTemp, Warning, TEXT("Arrived to path end"));
            bIsFollowingPath = false;
            TraversalStack.Add(CurrentVertex);
        }
    }
}

int ACleverAIController::GetCurrentVertex()
{
    return CurrentVertex;
}

TSharedPtr<NavGraph> ACleverAIController::GetNavigationGraph()
{
    return Graph;
}

bool ACleverAIController::TryEscape()
{
    auto exitLocations = GetExitLocations();
    auto currentLocation = GetCharacterLocation();
    for (int exitIndex = 0; exitIndex < exitLocations.Num(); ++exitIndex) {
        const auto& location = exitLocations[exitIndex];
        auto distance = (currentLocation - location).Size();
        if (distance < AMazeExit::EscapeRadius) {
            bool bSuccess = Escape(exitIndex);
            if (bSuccess) {
                return true;
            }
        }
    }
    return false;
}

void ACleverAIController::GoToVertex(FVector vertexLocation)
{
    NextVertexLocation = vertexLocation;
    bIsMoving = true;
    UE_LOG(LogTemp, Warning, TEXT("Going to vertex %s"),
        *NextVertexLocation.ToString());

    UKismetSystemLibrary::DrawDebugLine(
        GetWorld(),
        GetCharacterLocation(),
        vertexLocation,
        FColor(0, 255, 0),
        10.f);

    auto delta = NextVertexLocation - GetCharacterLocation();
    delta /= delta.Size();
    SetNewMoveDestination(NextVertexLocation + delta * OvershootDistance);
}

bool ACleverAIController::ChooseDirection()
{
    if (TraversalStack.Num() == 0) {
        return false;
    }

    bIsMovingBack = false;
    int currentVertex = TraversalStack.Top();
    UE_LOG(LogTemp, Warning, TEXT("ChooseDirection: currentVertex: %d"), currentVertex);
    Graph->Visit(currentVertex);
    for (int neighbor : Graph->GetNeighbors(currentVertex)) {
        if (Graph->IsVisited(neighbor)) {
            continue;
        }
        GoToVertex(Graph->GetVertexByIndex(neighbor));
        return true;
    }

    if (Graph->HasPossibleDiscoveries(currentVertex)) {
        auto discovery = Graph->GetAndPopOneDiscovery(currentVertex);
        GoToVertex(discovery);
        return true;
    }

    TraversalStack.Pop();
    if (TraversalStack.Num() > 0) {
        UE_LOG(LogTemp, Warning, TEXT("Return through traversal stack to vertex %d"), TraversalStack.Top());
        bIsMovingBack = true;
        NextVertex = TraversalStack.Top();
        GoToVertex(Graph->GetVertexByIndex(TraversalStack.Top()));
        return true;
    }

    return false;
}

float ACleverAIController::GetDirectionScale(FVector direction)
{
    auto currentLocation = GetCharacterLocation();
    float scale = InitialScale;
    while (!CheckVisibility(currentLocation + scale * direction)) {
        scale *= ScaleDecayRate;
    }
    return scale;
}

void ACleverAIController::DiscoverNeighborhood()
{
    auto currentLocation = GetCharacterLocation();
    for (int i = 0; i < ChooseDirectionProbeCount; ++i) {
        float angle = i * (2 * PI / ChooseDirectionProbeCount);
        auto direction = UStaticLibrary::GetAngleDirection(angle);
        auto scale = GetDirectionScale(direction);
        if (scale < MinAllowedScale) {
            continue;
        }
        UE_LOG(LogTemp, Warning, TEXT("Direction: %s, scale: %.3f, angle: %.3f"),
            *direction.ToString(),
            scale,
            angle);
        scale = MinAllowedScale;
        auto nextLocation = currentLocation + direction * scale;
        auto closeVertices = Graph->FindCloseVertices(nextLocation, MinAllowedScale / 2);
        if (closeVertices.Num() == 0) {
            UE_LOG(LogTemp, Warning, TEXT("Adding discovery %s -> %s"),
                *currentLocation.ToString(),
                *nextLocation.ToString());
            Graph->AddPossibleDiscovery(CurrentVertex, nextLocation);
        }
    }

    for (int id = 0; id < GetControllerCount(); ++id) {
        if (id == ControllerId) {
            continue;
        }
        auto* controller = Cast<ACleverAIController>(GetControllerById(id));
        if (controller) {
            auto location = controller->GetCharacterLocation();
            auto vertex = controller->GetCurrentVertex();
            auto distance = (currentLocation - location).Size();
            if (vertex == NO_VERTEX || distance > MinAllowedScale) {
                continue;
            }
            Graph->AddEdge(CurrentVertex, vertex, distance);
        }
    }
}

void ACleverAIController::FollowPath(const TArray<int>& path)
{
    if (path[0] != CurrentVertex) {
        UE_LOG(LogTemp, Error, TEXT("Path should start with current vertex %d but it starts with %d"),
            CurrentVertex,
            path[0]);
        return;
    }

    UE_LOG(LogTemp, Warning, TEXT("Started following path of length %d from %d to %d"),
        path.Num(),
        path[0],
        path[path.Num() - 1]);

    CurrentPath = path;
    NextPathVertexIndex = 0;
    bIsFollowingPath = true;
    bIsMovingBack = false;
    TraversalStack.Empty();
}

redpajama_set_name: RedPajamaGithub


Latitude was commissioned by Parabola as part of Dead Reckoning, an exhibition commemorating the 250th anniversary of the birth of Capt William Bligh. Focussing on the notorious mutiny on the HMS Bounty, Cotterrell constructed a simulation of Bligh's historic 5,800km open boat journey taken in the ship's lifeboat. Directly informed by the anecdotal and navigational notes taken from Bligh's log, Cotterrell's panoramic first-person view charts the shifting horizon witnessed by Bligh and his companions on their travels.
The ocean is the ultimate mapping challenge: free from reference points it offers a desert of uncertainty and isolation. The same stars look down on mariners now as 250 years ago but augmented with digital information and analogue communications the electronic maps of the oceans bristle with information. Virtual markers populate the ocean floor with plotted depths, underwater mountain ranges, submerged reefs, tidal currents and volcanic activity. Traversing oceans has, like much of contemporary experience, become mediated through technology and virtual imagery.
Using simulation technology developed by KongsBerg AS, Norway and with advice and support of the Maritime Simulation Unit at South Tyneside College, Cotterrell's Latitude used data recorded by Bligh in his notebook combined with oceanographic information and a vessel modelled on the original elevation drawings to render with physical accuracy the motion and view of the occupants of Bligh's launch. Generated in real-time the imagery is not pre-recorded but created mathematically through the coordinates, weather, and other information available. In a sense this is a reverse engineered log-book allowing the audience to translate the notes and figures recorded in Bligh's journal into sensory experience.


text:
Q: Second Window is blank after a button was clicked in Main Window I have two python file, the first one is contain the mainWindow, second python file contains another Window. I manage to make the second window appear but the window is blank after it appear. Here is the screen shot of the error.

and here is what should show after the "Configuration" button clicks.

In main window file, I define the code like this:
from tkinter import *
import configureUAHChange as cA

class TracingInterface(Frame):
    def __init__(self, master):
        super().__init__()
        root.minsize(width=700, height=520)
        root.maxsize(width=700, height=520)
        Frame.__init__(self, master)
        Grid.config(self)
        self.TracingMethod()
        self.logDetails()
        self.otherFunctionInterface()
        # Default window state
        self._configureUA_window = None

    def UAconfig_window(self):
        if self._configureUA_window is not None:
            return
        self._configureUA_window =cA.ConfigureUAinterface(self)

    def closeUA(self):
        # Destroy the 2nd and reset the value to None
        if self._configureUA_window is not None:
            self._configureUA_window.destroy()
            self._configureUA_window = None

This line is for the button click command:
self.configUAButton = Button(self.radioframe, text="Configuration",command=self.UAconfig_window)

Next, this is how I define the function in second python file
class ConfigureUAinterface(Toplevel):
def __init__(self, master):
    super().__init__(master)
    master.minsize(width=700, height=520)
    master.maxsize(width=700, height=520)

    Frame.__init__(self, master)
    Grid.config(self)

    master.title("UA Configuration")

    #Pre define combobox value in case suggestion
    self.value_of_combo='Identity Theft'

    #Run the all Function
    self.DateSelection()
    self.finish()
    self.UASuggestion()
    self.ConfigurationUA()
    self.suggestionCombo()

Please tell me how can modified my code to solve above error.
This is complete coding for main window :https://drive.google.com/open?id=1KKgYPbGMNNWBfPVazHfcM_NSFlv5eEpKg3_uXsvQsNE
This is complete coding for second window:https://drive.google.com/open?id=1LuqJXIUrDMLfuz8gnZynZXUN6-SvFAyw9c-puJ3REPQ

A: 1) I think there are some root that should be master in the __init__ function of TracingInterface.
2) The master you pass to ConfigureUAinterface is not a window but a TracingInterface which is a frame and doesn't have minsize, maxsize and title methods.
3) I don't know why you use Frame.__init__(self, master) while ConfigureUAinterface inherit from a Toplevel.
Edit:
Changes for the main window:
class TracingInterface(Frame):
    def __init__(self, master):
        super().__init__()

        # 1) master instead of root (it was just a typo I think)
        master.minsize(width=700, height=520)
        master.maxsize(width=700, height=520)
        # Frame.__init__(self, master): redundant with super().__init__()
        Grid.config(self)
        self.TracingMethod()
        self.logDetails()
        self.otherFunctionInterface()
        # Default window state
        self._configureUA_window = None

    def UAconfig_window(self):
        if self._configureUA_window is not None:
            return None
        # 2) changed self which is a frame to the actual window self.master
        self._configureUA_window = cA.ConfigureUAinterface(self.master)

Changes for the second window:
class ConfigureUAinterface(Toplevel):
    def __init__(self, master):
        super().__init__(master)
        # replaced master by self since it's the Toplevel size we want to limit
        self.minsize(width=700, height=520)
        self.maxsize(width=700, height=520)

        # 3) The following is inapropriate since the widget
        #    inherit from Toplevel, not Frame:
        #  Frame.__init__(self, master)
        #  Grid.config(self)

        # replaced master by self since it's the Toplevel title
        self.title("UA Configuration")

        #Pre define combobox value in case suggestion
        self.value_of_combo='Identity Theft'

        #Run the all Function
        self.DateSelection()
        self.finish()
        self.UASuggestion()
        self.ConfigurationUA()
        self.suggestionCombo()

I didn't modify anything else in the code and when I tried, it worked.

redpajama_set_name: RedPajamaStackExchange


text:
The start of music in films
POST : 03-19-2019
The role of Music in motion picture production is of utmost importance; this is because music contributes immensely to the emotional aspects of the movie production, and the enhancement of the story telling process. Music also influences the correct interpretation of the tone, sequence, and scene in any movie. In one of the articles earlier posted on this blog, we enumerated the several ways music contributes to movie production. The aspects we identified include sound effects, background music, sound track etc.
It is perhaps bemusing to note that some people are unaware that there used to be a time where film productions, were done without the use of music. Yes, that is totally correct. There was a time when movies were without any form of music be it soundtracks, background music, etc. I am sure you may be trying to imagine how those movies appeared at that time without any luck. Let me save you the stress. In this post, I will highlight the important periods of film production evolution leading to what we have today. This will include the history of film music in general, the key contributors to the development of music in film, and the processes involved.
The silent film era (1890s – 1929)
This era is regarded as the silent era because film music in this era was provided for by the theater where the film will be performed. This was done either by phonograph or as performed live by musicians on stage. For the stage performances, the music is provided in a form of improvisation by either a pianist or an ensemble who performed classical music in the background as the film plays. In the year 1929, advancement in technology brought about the ability to synchronize music and sound to celluloid. This process signaled the incorporation of music into the story telling process.
At this point, composers started getting commissioned by Hollywood movie producers to write fresh songs for their movies and it birthed a new wave of music in movies.
The golden age of film scoring (1930 – 1950s)
This period witnessed advancement in the art of film music scoring. It was the period where music was creatively written to match the artistic display of the film. Many of the composers that held sway during this period had backgrounds in concert music. This continued until the 50s, with the music used for movies majorly symphonic, until the introduction of jazz created a whole new world of possibilities in the film industry.
Jazz and western music 1960-1970s
Although jazz music had been introduced in movies prior to this time, this period was most significant because it was the period where most movie producers opened up to the idea of experimenting with the new music at their disposal. This decade also witnessed the use of rock music as soundtrack in a movie production for the first time. The 70s witnessed little or no innovation however, what was done most in this period was to perfect most of the techniques used in the 60s. Synthesizers were introduced in this era and there was a return to the use of classical music scoring. This was also the period where soundtrack in movies expanded beyond the norm of using symphonic, pop music, and jazz. The later part of this era ushered in the end of ensemble or orchestra performance for films.
This period in film music scoring witnessed an immense and creative use of synthesized sound in movie production. One of the revolutions witnessed in this period was the ability to score for an entire film with only one performer. The synthesizer was used to produce sound from various instruments.
Today, with the advent of new technology and the increase in knowledge of music, film music composers have perfected the act and process of creating beautiful and perfect scores for music. This scores in very many ways clearly match the characters, and the movie plot to make the movie experience completely wholesome.
The process of producing music for film has become a beautiful art form which has given movie producers the avenue to incorporate different genre of music into film production.
Lighting in Nature
Lighting is one of the most important factors in taking videos and photographs of natural subjects. Unlike with studio shoots where you…
Make Your Vacation Video Projects A Fantastic Conversation Piece
Who doesn't take videos and pictures while on vacation? We want pictures of family and friends and we want to capture the flavor of the…
Using Aperture On Your Camera
Aperture is a very confusing concept that is used by beginning photographers, but when you learn how to use it and how you can create better…
Curated Playlists
Latest Tracks
Anual Subscription
5 steps to making your YouTube page more authentic
First steps to being a YouTube SuperStar
Utilize A Music Search For Your Wedding
©2014-2020 Ligar Music All rights reserved.


text:
Q: tmux status bar configuration How is the status bar is customized? I noticed in this youtube video (at 3:05 - image below), the status bar looks very different than the default one that I see after installing tmux on my Mac OS X.
In particular, I like how the middle of the status bar shows the current program and the left side shows the name of only the current session. In comparison, my setup shows the name of all of the sessions and doesn't show the current application (for the currently focused pane).
If anyone could show me a sample configuration that could do this or show me where I can find the customization rules, that would be great! Thanks!

Update: In case anyone is curious, I was able to customize a status bar that is similar to the one seen in the video (minor tweaks) and you can find my config file on my github if you'd like to see an example.

A: The man page has very detailed descriptions of all of the various options (the status bar is highly configurable). Your best bet is to read through man tmux and pay particular attention to those options that begin with status-.
So, for example, status-bg red would set the background colour of the bar.
The three components of the bar, the left and right sections and the window-list in the middle, can all be configured to suit your preferences. status-left and status-right, in addition to having their own variables (like #S to list the session name) can also call custom scripts to display, for example, system information like load average or battery time.
The option to rename windows or panes based on what is currently running in them is automatic-rename. You can set, or disable it globally with:
setw -g automatic-rename [on | off]
The most straightforward way to become comfortable with building your own status bar is to start with a vanilla one and then add changes incrementally, reloading the config as you go.1
You might also want to have a look around on github or bitbucket for other people's conf files to provide some inspiration. You can see mine here2.

1 You can automate this by including this line in your .tmux.conf:
bind R source-file ~/.tmux.conf \; display-message "Config reloaded..."
You can then test your new functionality with Ctrlb,Shiftr. tmux will print a helpful error message—including a line number of the offending snippet—if you misconfigure an option.
2 Note: I call a different status bar depending on whether I am in X or the console - I find this quite useful.

A: I have been playing about with tmux today, trying to customised a little here and there, managed to get battery info displaying on the status right with a ruby script.
Copy the ruby script from http://natedickson.com/blog/2013/04/30/battery-status-in-tmux/ and save it as:
 battinfo.rb in ~/bin

To make it executable make sure to run:
chmod +x ~/bin/battinfo.rb

edit your ~/.tmux.config and include this line
set -g status-right "#[fg=colour155]#(pmset -g batt | ~/bin/battinfo.rb) | #[fg=colour45]%d %b %R"

A: I used tmux-powerline to fully pimp my tmux status bar. I was googling for a way to change to background of the status bar when your typing a tmux command. When I stumbled on this post I thought I should mention it for completeness.
Update: This project is in a maintenance mode and no future functionality is likely to be added. tmux-powerline, with all other powerline projects, is replaced by the new unifying powerline. However this project is still functional and can serve as a lightweight alternative for non-python users.

A: Do C-b, :show which will show you all your current settings. /green, nnn will find you which properties have been set to green, the default. Do C-b, :set window-status-bg cyan and the bottom bar should change colour.
List available colours for tmux
You can tell more easily by the titles and the colours as they're actually set in your live session :show, than by searching through the man page, in my opinion. It is a very well-written man page when you have the time though.
If you don't like one of your changes and you can't remember how it was originally set, you can open do a new tmux session. To change settings for good edit ~/.tmux.conf with a line like set window-status-bg -g cyan. Here's mine: https://gist.github.com/9083598


PrestaBay Variations - Duration: 44 seconds.
PrestaBay — PrestaShop eBay Integration — Flash Actions - Duration: 3 minutes, 7 seconds.
PrestaBay — eBay to PrestaShop Import - Duration: 68 seconds.
Update Marketplace Information for PrestaShop ebay Integration PrestaBay - Duration: 44 seconds.
PrestaBay - PrestaShop eBay Integration. Manual. Create Selling List - Duration: 94 seconds.
PrestaBay - PrestaShop eBay Integration. Manual. Assign new eBay Account - Duration: 56 seconds.


I'm so excited! The Best Indie Book Festival is TODAY & TOMORROW only, on the World Literary Cafe! 10 award winning authors AND a chance to win Amazon gift cards (no purchase necessary)! Can't beat that!
Being a member of the World Literary Cafe and Melissa Fosters Awesome Support Team (support for authors), I participate in getting the word out to all of our WONDERFUL READERS and FANTASTIC AUTHORS whenever there is an event that we are sure you don't want to miss! Join us!
Check it out here http://bit.ly/Q93gVK Sharing is encouraged and greatly appreciated.


Carl plans to murder his best mate and girlfriend but suddenly he wakes up in a wooded wasteland! He shockingly does not remember anything and has no idea how he got there?!
A sinister family hold him captive with another victim called Jade. They are even tied to a tree for several days!! Carl and Jade need to plan to escape this sinister family that plan to sacrifice their souls to an evil presence.
I haven't seen this movie yet but I will, in the meantime please watch the trailer below.


text:
Tag: human spaceflight
United Airlines Commemorates Fiftieth Anniversary of Moon Landing with Celebratory Flight, Specialty Menus & Opportunity to Visit NASA's Johnson Space Center
June 23, 2019 June 22, 2019 News 1
Apollo 11 astronaut Buzz Aldrin steps down the ladder to the surface of the moon. (Credit: NASA)
HOUSTON, June 21, 2019 (United Airlines PR) — Fifty years after Apollo 11 landed on the Moon in July 1969, United Airlines stands with the nation in celebration of this milestone anniversary. Beginning today and continuing throughout July, the airline, in coordination with Houston First Corporation, Space Center Houston, NASA Johnson Space Center and OTG will provide customers with a variety of opportunities to learn about and celebrate space exploration.
NASA TV to Cover Return of Space Station Crew on Monday
NASA astronaut Anne McClain, Roscosmos astronaut Oleg Kononenko and Candian Space Agency astronaut David Saint Jacques in the International Space Station. (Credit: NASA)
HOUSTON (NASA PR) — NASA astronaut Anne McClain and two crewmates on the International Space Station are scheduled to conclude their stay aboard the orbiting laboratory Monday, June 24. Live coverage of their return will begin at 3:30 p.m. EDT on NASA Television and the agency's website.
Boeing, SpaceX Continue to Work Through Technical Challenges on Commercial Crew
Credit: NASA
by Douglas Messier
Boeing and SpaceX are continuing to work through a number of technical challenges on their commercial crew spacecraft as NASA struggles to process data needed to certify the vehicles, according to a new report from the Government Accountability Office (GAO).
There is sufficient schedule uncertainty, in fact, that GAO recommended the space agency continue planning for additional delays in providing crew transport to the International Space Station (ISS).
GAO Says Artemis 1 Flight Could Slip Amid Rising Costs
June 19, 2019 News 17
Artist's conception of Space Launch System in Vehicle Assembly Building (Credit: NASA)
A new Government Accountability Office (GAO) review of NASA's human lunar effort has concluded the Artemis 1 flight could slip to June 2021 as costs continue to rise.
"In November 2018, within one year of announcing an up to 19-month delay for the three programs—the Space Launch System (SLS) vehicle, the Orion spacecraft, and supporting ground systems—NASA senior leaders acknowledged the revised date of June 2020 is unlikely," the report concluded. "Any issues uncovered during planned integration and testing may push the launch date as late as June 2021.
India Eyes Space Station in Earth Orbit
June 15, 2019 June 15, 2019 News 42
Dr. K Sivan (Credit: ISRO)
ISRO Chairman K. Sivan said this week the Indian space agency plans to develop a small space station that would give the nation's Gaganyaan crewed spacecraft a facility to dock with in low Earth orbit.
Elucidating on the space station project, Mr Sivan said the mission will also be an extension of the Gaganyaan project. "We are planning to have a separate space station. We will not be a part of the ISS. Our space station is going to be very small. We will be launching a small module and that will be used for carrying out microgravity experiments," he told the media.
"We have to sustain the Gaganyaan programme. So, subsequently, as a long-term plan, we are planning to have the space station in India. We are going to join the international community in manned missions to the moon, asteroids. We have a clear plan for the space programme," the senior scientist said.
By planning a space station, Isro is "not thinking of space tourism", he said. The Isro chairman said the proposal will be sent to the government for approval after the first Gaganyaan mission by 2022, and it is looking at a timeframe of five to seven years for the programme's execution. He did not elaborate on the cost of the proposed Indian space station.
The timetable would have the 20 metric ton Indian space station in orbit between 2027 and 2029.
NASA Releases Draft Solicitation on Supplying Lunar Gateway
The power and propulsion element of NASA's Gateway is a high-power, 50-kilowatt solar electric propulsion spacecraft – three times more powerful than current capabilities. (Credits: NASA)
By Laura Aguiar
NASA's Kennedy Space Center
In the latest step in sending astronauts to the lunar surface within five years, NASA issued a draft solicitation June 14 to industry seeking comments for a future opportunity for American companies to deliver cargo and other supplies to the Gateway in lunar orbit.
The first logistics service to the orbital outpost is expected to deliver science, cargo and other supplies in support of the agency's new Artemis lunar exploration program, which includes sending the first woman and the next man to the surface of the Moon by 2024.
Orion Launch Abort System Designed to Pull its Weight for Moon Missions
Orion's Ascent Abort-2 flight test vehicle. (Credit: NASA/Tony Gray)
KENNEDY SPACE CENTER, Fla. (NASA PR) — Astronauts inside NASA's Orion spacecraft will soar toward the Moon atop the Space Launch System (SLS) rocket as part of the agency's Artemis program to establish a permanent presence at the Moon and learn the skills needed to send humans to Mars. Crew members will journey aboard Orion with the confidence knowing the spacecraft is specifically designed with a number of features to support humans traveling to deep space, including a highly capable Launch Abort System (LAS). The LAS is a structure on top of the crew module that can fire within milliseconds and, with the crew module attached, outrun the powerful rocket if an emergency arises during launch.
Cost of Moon Landing Estimated at $20 to $30 Billion
Jim Bridenstine (Credit: NASA/Bill Ingalls)
CNN talked to the NASA administrator about the cost of landing astronauts on the moon by 2024.
>The space agency will need an estimated $20 billion to $30 billion over the next five years for its moon project, NASA Administrator Jim Bridenstine told CNN Business on Thursday. That would mean adding another $4 billion to $6 billion per year, on average, to the agency's budget, which is already expected to be about $20 billion annually.
Bridenstine's remarks are the first time that NASA has shared a total cost estimate for its moon program, which is called Artemis (after the Greek goddess of the moon) and could send people to the lunar surface for the first time in half a century. NASA wants that mission to include two astronauts: A man and the first-ever woman to walk on the moon.
The $20 to $30 billion cost estimate is less expensive than some had predicted — though they're not necessarily the final figures. Bridenstine acknowledged that spaceflight can be dangerous and unpredictable, so it's practically impossible to settle on an accurate price tag.
"We're negotiating within the administration," he said. "We're talking to [the federal Office of Management and Budget]; we're talking to the National Space Council." (The National Space Council is a recently revived policy development group headed by Vice President Mike Pence.)
Assuming the amount is indeed all new funds and doesn't include what's already being spent on Orion, SLS and other programs, the only way to meet the deadline would be through a combination of increases to NASA's budget and cuts to other parts of the space agency's budget.
It should be noted that members of the House, which is controlled by Democrats, have thus far rejected significant cuts in other NASA programs as they have worked through the space agency's fiscal year 2020 budget. The Republican Senate has not weighed in yet.
The other thing the story suggests is that the $1.6 billion in supplemental spending the Administration has requested for NASA's budget is likely too low. Especially if the Senate follows the House's lead in rejecting cuts from other agency programs.
Video: Atlas V Starliner Emergency Detection System
Video Caption: Go Atlas! Go Starliner! Watch the latest episode when we learn about the Emergency Detection System – unique technology developed for the Atlas V Starliner designed to protect the crew and monitor the health of the rocket.
Experiments Selected to Fly Aboard Chinese Space Station
Artist's conception of China's Tianhe-1 space station. (Credit: China Manned Space Engineering)
VIENNA, 12 June (UN Information Service) – The United Nations Office for Outer Space Affairs (UNOOSA) and the China Manned Space Agency (CMSA) announced the winners of their joint opportunity to conduct experiments on board the China Space Station (CSS) during a side event of the 62nd session of the Committee on the Peaceful Uses of Outer Space (COPUOS).
Six winning projects were selected, and three were conditionally selected. The winning institutions come from a variety of countries, including Belgium, China, France, Germany, India, Italy, Japan, Kenya, the Netherlands, Norway, Mexico, Poland, Peru, Russian Federation, Saudi Arabia, Spain and Switzerland.
Bigelow Space Operations Reserves up to Four Dedicated SpaceX Launches to Space Station
NORTH LAS VEGAS, Nev. (BSO PR) — On Friday, June 7, 2019, Bigelow Space Operations (BSO) announced that last September of 2018 BSO paid substantial sums as deposits and reservation fees to secure up to four SpaceX launches to the International Space Station (ISS). These launches are dedicated flights each carrying up to four people for a duration of one to possibly two months on the ISS.
BSO is excited about NASA's announcements last Friday. BSO has demonstrated its sincerity and commitment to moving forward on NASA's commercialization plans for the ISS through the execution of last September's launch contracts. BSO intends to thoroughly digest all of the information that was dispersed last week so that all opportunities and obligations to properly conduct the flights and activities of new astronauts to the ISS can be responsibly performed.
In these early times, the seat cost will be targeted at approximately $52,000,000per person.
The next big question is when is this all going to happen? Once the SpaceX rocket and capsule are certified by NASA to fly people to the ISS, then this program can begin.
As you might imagine, as they say "the devil is in the details", and there are many. But we are excited and optimistic that all of this can come together successfully, and BSO has skin in the game.
— Robert T. Bigelow President, Bigelow Space Operations
Exploring the Moon Promises Innovation and Benefit at Home
Astronauts on a future lunar walk. (Credit: NASA)
WASHINGTON (NASA PR) — Walking on another world was science fiction until NASA's Apollo program made it a reality. Fifty years later, we look back on the benefits of Apollo and imagine how the digital age could transform now that America's sights are set on returning humans to the Moon by 2024 under the Artemis program.
ISRO Holds First Gaganyaan National Advisory Council Meeting
June 9, 2019 June 9, 2019 News 0
BENGALURU, India (ISRO PR) — Today, June 8, 2019, the first meeting of Gaganyaan National Advisory Council was held at ISRO Headquarters, Bengaluru chaired by Dr. K Sivan, Secretary, Department of Space.
The meeting was attended by Dr K Kasturirangan, Honorary Distinguished Advisor, ISRO, Prof K VijayRaghavan, Principal Scientific Advisor to Government of India,Dr B N Suresh, Honorary Distinguished Professor, ISRO, Prof Ashutosh Sharma, Secretary, Department of Science and Technology, Dr G Satheesh Reddy, Secretary Defence R&D, Chairman, DRDO, Dr Shekhar C Mande, Secretary DSIR, Director General, Council of Scientific and Industrial Research (CSIR), Prof Anurag Kumar, Director, Indian Institute of Science (IISc), Shri R Madhavan, Chairman and Managing Director, Hindustan Aeronautics Ltd., Wing Cdr. (Rtd) Rakesh Sharma, Former Indian Astronaut, Air Vice Marshal R G K Kapoor, Assistant Chief of Air Staff Operations (Space), Rear Admiral D S Gujarl, Asst Chief of Naval Staff, Indian Navy, Inspector General KR Suresh TM, Deputy Director General (Operations and Coastal Security) Indian Coast Guard.
During the meeting, Dr Unnikrishnan Nair, Director, Human Space Flight Centre (HSFC), ISRO, made a presentation on the overall project status of Gaganyaan, covering technical details as well as collaboration with various national stake holders.
The council deliberated in detail on various aspects of Gaganyaan and appreciated the efforts made in this regard in the fast track mode and Institutional mechanisms put in place by ISRO. It stressed the need for setting priorities at various National Institutions including Industries to accomplish Gaganyaan. Many essential aspects of Gaganyaan, especially the life support systems and crew selection and training, were discussed in detail. In the end, the council emphasised the urgent need for further accelerating the efforts to realise Gaganyaan in a very demanding time frame of December 2021 amidst formidable challenges.
NASA Opens Up International Space Station to Private Astronauts
June 7, 2019 News 3
Guy Laliberte (first row, far right) aboard the International Space Station.
WASHINGTON, DC (NASA PR) — As part of NASA's mission to stimulate a low-Earth orbit (LEO) economy, NASA is enabling up to two short-duration private astronaut missions per year to the International Space Station beginning as early as 2020.
PBS Commemorates Apollo 11's 50th Anniversary With 8 DAYS: TO THE MOON AND BACK
Michael Collins (Patrick Kennedy) looking at the Moon out of the Command Service Module window. Collins orbited the Moon alone in the CSM while Neil Armstrong and Buzz Aldrin conducted their historic Moonwalk. (Credit: BBC Studios)
ARLINGTON, VA; June 5, 2019 (PBS PR) – PBS is taking viewers on a unique adventure with the crew of Apollo 11 for their eight-day, three-hour, 18-minute and 35-second mission in 8 DAYS: TO THE MOON AND BACK, a new film co-produced with BBC Studios. Premiering Wednesday, July 17 at 9:00 p.m. ET as part of the previously announced "Summer of Space" multiplatform experience, the documentary seamlessly blends authentic rare mission audio featuring candid conversations between Neil Armstrong, Buzz Aldrin and Michael Collins with newly shot studio footage, NASA and news archives, and stunning CGI recreation of the historic journey and landing to bring this adventure back to life.


Great insurance benefits, including travel.
Whether or not you go for the Scotia Momentum Visa Infinite credit card very much depends on where you spend your money. If you drive a ton and love to eat (or feed), then this card might very well be for you. The alternative card would be the MBNA Rewards World Elite, which has a similar fee but offers 2% across the board. Which card you run with requires a bit of calculation on your part.
One big plus for the Scotiabank compared to the competition is a more complete travel insurance package; unlike with the MBNA Rewards, the Scotiabank has comprehensive enough insurance to make it usable for ticket purchase; however, this benefit is undercut by the fact that travel fits into the 1% "everything else" cashback category.
So a complex card with lots of benefits, but also some important flaws.
The card has an annual fee of $99, which is fine considering the insurance benefits included. New customers will appreciate a flat 5% cashback on all purchases in all categories for the first three months – an incredibly rich offering. However, potential customers will most likely go for the Scotiabank card based on their annual gas and groceries spend due to the enhanced 4% cash back offered. So the 5% is great – but of minimal value in the already high cashback categories.
As we have mentioned elsewhere , the average Canadian is likely to spend approximately $8,500 annually on gas and groceries, good for $340 cashback annually. If you spend more than that, wow, this card could be a firecracker – just be aware that there is a $25,000 limit on the 4% earn rate.
The 2% category of spend could also be quite substantial. The pharmacy 2% is important for many Canadians, and recurring bills – which can include all your electricity, cable, internet, phone, subscriptions, etc. – anything that has a automated recurring payment, should be significant for most customers.
Scotiabank offers a number of benefits that make the card more usable. Many large ticket items – like flights, car rentals, etc. should be used in coordination with a card that offers insurance coverage. Additionally, Scotiabank offers Travel Medical, quite a valuable benefit for a card with a low $99 annual fee. Scotiabank is perhaps the only straight cash back card that offers enough flight benefits to use for ticket purchases and rental insurance.
Please see below the insurance coverage offered by Scotiabank.
Trip Interruption Need to cut your trip short due to events back at home? If you have charged the ticket with Scotia, they will cover your non refundables and the cost of the new return flights.
So basically, you can comfortably charge your flights to Scotia, and you get coverage consummate with that offered by travel cards – and you get 1% cashback as well.
Scotiabank also offers purchase protection, which covers the full cost of items lost or stolen within 90 days of purchase. It is missing price assurance and extended warranty, which is offered by some of the competition, and of course all items that would be covered fall into the 1% category.
So, amongst cashback cards, Scotiabank is superior for travel use, but falls a bit short of others on the price protection side.
Cashback is earned and credited monthly, and the payment of cashback is paid after 12 months as either a credit against your statement or a deposit into your checking account. So while it does take a bit of patience, the entire amount, down to the penny, will be yours to keep.
We should note that there is a special 1.99% balance transfer rate for the first six months, though if you need debt relief, this is not the card to be looking at.
There are some nice additional perks offered as a courtesy to Visa Infinite Momentum customers – you can use their concierge service for reservations, theatre tickets, etc, and guaranteed best rates at luxury hotel. There are a number of excellent "experiences" on offer as well – private dining with top-name chefs, VIP entry to concerts, complimentary wine tastings and tours at vineyards to name a few.
Depending on your particular spending distribution, the Momentum Visa Infinite could be one of the top cash back credit cards in Canada in terms of effective return on spend. Additionally, you can use the card for flights and car rentals and enjoy good insurance benefits – which makes the card usable in those categories, unlike many other straight cash back cards.
If you are willing to fork out an annual fee on your cashback card, Scotiabank deserves consideration.


text:
Q: How do I create a public and private key in node.js for signing data? Using only node.js I want to achieve the following :

*

*Create a strong random private/public key that is human readable.

*Take a string data and the private key to create a signature in base64

*Take a string data, the public key and the signature and confirm that the signature was created by the owner of the private key.
So far I have got the following :
var crypto = require('crypto');
var message = "This is a string I want to ensure is not tampered with.";
var sign = crypto.createSign("RSA-SHA256");
sign.update(message);
var signature = sign.sign("thisiswhereiassumetheprivatekeywillgo", "base64");

console.log(message);
console.log(signature);

but the console output only shows the message, the signature returns empty.
Any Help would be much appreciated.

A: All modern crypto works with binary data, usually represented by bytes. Many scripting languages perform some magic conversion between bytes and characters, but the issue is that byte arrays are usually not just containing printable characters.
To convert bytes to a human readable form, you need to apply some form of encoding. For debugging purposes it's best to convert to hexadecimals (base 16 encoding). For efficiency reasons, you could also use base 64 encoding. Both encodings are specified by RFC4648.


text:
Q: Colocar fecha local en una carpeta Buen día, sería alguien amable en poder enseñarme cómo puedo crear una carpeta y que además tenga puesta la hora local a través del cmd

A: Para crear directorios desde la terminal (CMD) se debe utilizar el comando md o mkdir como en Linux. Por ejemplo para crear un directorio llamador StackOverflow es posible escribir.
MD StackOverflow

A continuación si ingresar el comandor DIR el cual sirve para listar los directorios verás que la carpeta StackOverflow fue creada correctamente con la fecha de creación.
Ahora si deseas crear otro directorio en la carpeta StackOverflow simplemente debes ingresar por consola.
MD StackOverflow\dirPrueba

Ahora para validar la creación de esta nueva carpeda debes ingresar:
DIR StackOverflow

Ahora bien
Es probable que el problema resida en el interprete de comandos.
El formato %date:~0,2% significa que se posicione en el primer carater y extraiga 2. Ejemplo para DATE = 25.12.1986
set aa=%date:~6,2%
set mm=%date:~3,2%
set dd=%date:~0,2%

echo %dd% - %mm% - %aa%

25 - 12 - 1986

El unico problema de que este en ingles es el fomato de la fecha :
DD/MM/AAAA o MM/DD/AAAA

El formato de la fecha es configurable desde el panel de control e independiente del idiomma.
Espero sea lo que estés buscando. Saludos!

A: Para crear una carpeta a través de la linea de comando debes utilizar el comando mkdir.  Para obtener la fecha puedes usar la variable %TIME%.  El problema que tienen acá es que la hora es, por ejemplo, "12:18", y no se pueden crear archivos o carpeta con ":" en el nombre.  Para evitar esto puedes reemplazarlo con un guión.
Todo esto se puede hacer con esta linea:
mkdir %TIME:~0,2%-%TIME:~3,2%

De esta manera te va a crear una carpeta con la hora actual como nombre, y usando un guión, por ejemplo: "12-18".
Los parámetros después del ":" son para tomar sólo una parte del string de la hora.
Suerte!

A: En cmd podés crear carpetas con la instrucción mkdir y le indicas la ruta, ejemplo:
mkdir c:\test

Si querés crearla con el nombre de la fecha y hora local, podes hacerlo obteniendo la fecha y hora del sistema con date y time pero quitando los caracteres especiales, por ejemplo:
mkdir %date:~5,2%-%date:~8,2%-%date:~11,4%" "%time:~0,2%" "%time:~3,2%" "%time:~6,2%

Te va a crear una carpeta con el siguiente formato: 17-02-2020 12 52 39
Saludos.


text:
/**
 * npm dependencies
 */

var _ = require('lodash');
var async = require('async');
var express = require('express');
var path = require('path');

// WARNING: require db connection from the api app. This is because all mongoose
// models are defined in the connections are defined in the api app. Hence, the
// db connection can only be referenced from the api app
var db = require('../../api/load/db');

/**
 * directory path var
 */

var workersDir = '../../api/workers/';

/**
 * Jobs
 */

var automessageConsumer = require(path.join(workersDir,
  '/automessage-consumer'));

var automessagePublisher = require(path.join(workersDir,
  '/automessage-publisher'));

var healthConsumer = require(path.join(workersDir, '/health-consumer'));
var scoreConsumer = require(path.join(workersDir, '/score-consumer'));
var usageConsumer = require(path.join(workersDir, '/usage-consumer'));
var usagePublisher = require(path.join(workersDir, '/usage-publisher'));

/**
 * Helpers
 */

var logger = require('../helpers/logger');

/**
 * If NODE_ENV has not already been defined,
 * then set default environment as 'development'
 */

function setEnv() {
  if (!process.env.NODE_ENV) {
    process.env.NODE_ENV = 'development';
  }
}

/**
 * Start app server
 */

exports.start = function startServer(done) {

  var app = express();

  app.set('port', process.env.PORT || 8003);
  setEnv();

  /**
   * run newrelic agent (unless in test environment)
   */

  if (process.env.NODE_ENV !== 'test') {
    require('newrelic');
  }

  async.waterfall(

    [

      function connectDB(cb) {

        db.connect(function (err, db) {
          cb(err, db);
        });

      },

      function startServer(db, cb) {

        var server = app.listen(app.get('port'), function () {
          cb(null, db, server);
        });

      },

      function startWorkers(db, server, cb) {

        automessageConsumer();
        automessagePublisher();
        healthConsumer();
        scoreConsumer();
        usageConsumer();
        usagePublisher();

        cb(null, db, server);
      }

    ],

    function callback(err, db, server) {

      if (err) {

        logger.crit({
          at: 'workers load/index',
          err: err
        });

        return (done && done(err));
      }

      printMessage(db, app);
      done && done(null, db, app);

    });

}

/**
 * Stop app server
 */

// exports.stop = function stopServer(done) {

//   console.log('-------------------------------------------------');
//   console.log('   Shutting down server');
//   console.log('-------------------------------------------------');

//   process.exit(0);

// }

function printMessage(db, app) {

  console.log();
  console.log('-------------------------------------------------');
  console.log('   Express server listening');
  console.log();
  console.log('   Port              :     ', app.get('port'));
  console.log('   Environment       :     ', process.env.NODE_ENV);
  console.log('   DB Name           :     ', db.name);
  console.log('   DB Host           :     ', db.host);
  console.log('   DB Port           :     ', db.port);
  console.log('   DB Hosts          :     ', db.hosts);
  console.log('   DB User           :     ', db.user);
  console.log('   DB Pass           :     ', !! db.pass);
  console.log('-------------------------------------------------');
  console.log();
  console.log();
  console.log();

}