Networking
In Cascades, networking APIs form part of the QtNetwork module. This module exposes a mix of low-level and high-level APIs used for sending and receiving data over the network. The QNetworkAccessManager class provides the functionality to send and receive data over a network. The image shown below demonstrates the relationship between the QNetworkAccessManager and the QNetworkRequest and QNetworkReply classes.
Flow diagram showing the interaction between the high-level APIs
QNetworkRequest represents an HTTP request. At a minimum, it must contain a URL for the destination. The request can also contain HTTP headers and SSL options.
The QNetworkRequest API
QNetworkAccessManager receives network requests, and sends them over the network using one of its HTTP request functions (get(), post(), put(), and so forth) which return a pointer to its QNetworkReply. These functions are all asynchronous in nature, so they do not block your main application thread.
QNetworkAccessManager also contains functionality for cookie handling, caching, and proxy handling.
The QNetworkAccessManager API
QNetworkReply represents an HTTP reply. Among other things, it contains reply data from the destination URL, HTTP headers consisting of the status code, and any errors. Data in a QNetworkReply is reported asynchronously, so you can connect to its signals and manage information as it arrives.
When new data arrives over the network, the readyRead() event is triggered to indicate that the data is ready for reading. If you want to parse data as it arrives, you should subscribe to this signal. The readyRead() signal can be used even if you're not finished with the reply. When an HTTP request is complete, the finished() signal is triggered to indicate this event to your app.
The QNetworkReply API
Here's an example that shows you how to send an HTTP GET request and receive the result. The first step is to create the network request and set the destination URL as a QUrl object.
// Creates the network request and sets the destination URL.
QNetworkRequest request = QNetworkRequest();
request.setUrl(QUrl("_URL_"));
Next, you create the network access manager, connect a custom slot to handle its finished() signal, and send the request. This code sample shows you how to set this up to send an HTTP GET request.
// Create the network access manager and connect a custom slot to its
// finished signal. Check the return value for errors.
QNetworkAccessManager *pNetworkAccessManager = new QNetworkAccessManager(this);
// If any Q_ASSERT statement(s) indicate that the slot failed to connect to
// the signal, make sure you know exactly why this has happened. This is not
// normal, and will cause your app to stop working!!
bool result;
// This is added to avoid a compiler warning.
Q_UNUSED(result);
result = connect(pNetworkAccessManager, SIGNAL(finished(QNetworkReply*)),
 this, SLOT(onRequestFinished(QNetworkReply*)));

// This is only available in Debug builds.
Q_ASSERT(result);
// Sends the HTTP request.
pNetworkAccessManager->get(request);
Within the onRequestFinished() slot, you can process the reply data and call deleteLater() to delete the data when you're done with it. Here's some sample code that shows you how to process the reply data directly within the onRequestFinished() slot. We didn't use this approach in our sample app.
void ApplicationUI::onRequestFinished(QNetworkReply* reply)
{
 // Check the network reply for errors.
 if (reply->error() == QNetworkReply::NoError)
 {
 // Open the file and print an error if the
 // file cannot be opened.
 if (!myFile->open(QIODevice::ReadWrite))
 {
 // The file failed to open.
 return;
 }
 // Write to the file using the reply data and close the file.
 myFile->write(reply->readAll());
 myFile->flush();
 myFile->close();
 // Create the data model using the contents of the file.
 XmlDataModel *dataModel = new XmlDataModel();
 dataModel->setSource(
 QUrl("file://" + QDir::homePath() + "/model.xml"));
 // Set the new data model on the list.
 myListView->setDataModel(dataModel);
 }
 else
 {
 // Problem with the reply.
 // ...
 }
 // Deletes the reply the next time
 // the event loop is entered.
 reply->deleteLater();
}
In the sample app, we use the onRequestFinished(QNetworkReply*) slot to emit an updateListView(QNetworkReply*) signal. Then we use the onUpdateListView(QNetworkReply* reply) slot to process the reply. Here's a code sample that shows you the onRequestFinished(QNetworkReply*) slot used in our sample app.
void ApplicationUI::onRequestFinished ( QNetworkReply* reply )
{
 QNetworkReply::NetworkError netError = reply->error();
 if(netError == QNetworkReply::NoError)
 {
 // Emit updateListView signal to set the
 // new data model on the list.
 emit updateListView(reply);
 }
 else
 {
 switch(netError)
 {
 case QNetworkReply::ContentNotFoundError:
 showToast("The content was not found on the server", "", false);
 break;
 case QNetworkReply::HostNotFoundError:
 showToast("The server was not found", "", false);
 break;
 default:
 showToast(reply->errorString(), "", false);
 break;
 }
 }
}
Here's the code for the onUpdateListView(QNetworkReply*) slot used in our sample app. As you can see, it's the same as the onRequestFinished(QNetworkReply*) shown earlier. We did it this way so we could have the flexibility to update our ListView control as needed.
// Update the ListView control with an XML file retrieved from the network.
void ApplicationUI::onUpdateListView ( QNetworkReply* reply )
{
 // Open the file.
 if (pFileObj->open(QIODevice::ReadWrite) == false)
 {
 // Problem opening the file.
 // ...
 }
 else
 {
 // Write to the file using the reply data
 // and close the file.
 pFileObj->write(reply->readAll());
 pFileObj->flush();
 pFileObj->close();
 // Create the data model using the contents of the file.
 XmlDataModel* pDataModel = new XmlDataModel();
 QString fileUrl = "file://" + QDir::homePath() + "/model.xml";
 pDataModel->setSource(QUrl(fileUrl));
 pListView->setDataModel(pDataModel);
 }
 reply->deleteLater();
}
Related resources

Last modified: 2014-02-25
comments powered by Disqus


Calc Builder Support
Calc Builder support
No se permite escribir sin estar logado. Por favor, login
Help making a calculator 21.01.2020 14:43
I'm in doubt how to make a calculator.
need to convert a unit of weight (kg) into caloric weight, as follows:
if weight is <10kg = caloric weight is: weight x 1
if the weight is> 10kg and <20kg = (weight - 10) x 0.5 + 10
if weight is> 20 = (weight - 15) x 0.2 + 15
weight: ( form )
caloric weight: ( result )
result example 1:
Weight: 7kg
Caloric Weight : 7kg
result example 2:
Weight: 15kg
Caloric Weight : 12,5kg
result example 3:
Weight: 35kg
Caloric Weight : 18kg
Re: Help making a calculator 22.01.2020 08:55
first you need to create your input fields, in this case weight, that you will receive at the code section as $weight. Then you can write your math at the code section and introduce the result into your variable (if you call it'result', then you need to fill the $result variable, for ex):
For your case you also need to use 'if' clauses, so you can check the proper syntax here:
In order to build this kind of code
if($weight<10) {
And finally, you can write your result at the output section with
Hope this helps, regards
Moonsoft Team
Are you satisfied with our products/services/support?
Lo que nuestros clientes opinan de nosotros


text:
John E. Dahlquist
|Born||March 12, 1896|
Minneapolis, Minnesota, U.S.
|Died||July 30, 1975 (aged 79)|
Fort Lauderdale, Florida, U.S.
|Years of service||1917–1956|
|Commands held|| 70th Infantry Division |
36th Infantry Division
1st Infantry Division
Continental Army Command
Army Field Forces
|Battles/wars|| World War II |
|Awards|| Distinguished Service Cross |
Distinguished Service Medal (2)
Legion of Merit
Bronze Star (2)
General John Ernest Dahlquist (March 12, 1896 – July 30, 1975) was a senior United States Army officer. In the course of his military career, Dahlquist commanded three different army divisions, commanded at the corps and field army level and rose to the rank of four-star general. He is well-known for commanding the series of poor tactical decisions which led to the 442nd RCT becoming the most highly decorated unit in the history of the United States Armed Forces.
Born on March 12, 1896 in Minneapolis, Minnesota, the youngest of four children, Dahlquist's parents were immigrants from Dalsland, Sweden. He graduated from the University of Minnesota and received a direct commission as a second lieutenant into the Infantry Branch of the United States Army in August 1917, shortly after the American entry into World War I on April 6, 1917. Unable to serve overseas, he served in the Allied occupation of the Rhineland after the war.
Remaining in the army during the interwar period he returned to the United States and served as an instructor at the U.S. Army Infantry School from 1924 to 1928. After graduating from the U.S. Army Command and General Staff School in 1931, he was assigned to the Philippines. From 1935 to 1936 he was a student at the U.S. Army War College, serving on the U.S. Army General Staff, Personnel Division after graduation.
With the American entry into World War II in December 1941, Dahlquist was sent to England and assigned as deputy chief of staff to Major General Dwight David Eisenhower in early 1942, and, later that year, with the one-star rank of brigadier general, became the assistant division commander (ADC) of the 76th Infantry Division. In June 1943, promoted to the two-star rank of major general, Dahlquist became the first commanding general (CG) of the 70th Infantry Division, becoming one of the youngest division commanders in the U.S. Army. In July 1944, he took command of the 36th Infantry Division, a National Guard formation from Texas that had fought in many difficult battles in the Italian Campaign under Major General Frederick Walker and had recently taken part in Operation Dragoon, the Allied invasion of Southern France.
Dahlquist was criticized for his overuse of the Japanese-American 442nd Regimental Combat Team (442nd RCT), which had been attached to his 36th Division. Many believed his poor decisions led to the 442nd RCT becoming the most highly decorated unit in the history of the United States Armed Forces. Over a third of the men in the 442nd were either killed or wounded when Dahlquist ordered the unit to rescue another unit that had been surrounded by the enemy. It is not the surviving Nisei soldiers of the 442nd but their officers (none of them Japanese-American) who are most often quoted in criticism of Dahlquist.
On October 24, 1944, the 1st and 2nd Battalions of the 141st Infantry Regiment, part of Dahlquist's 36th Division, moved to secure the right flank of the 3rd Division near the French town of St-Die. When the German forces counterattacked, the 1st Battalion was separated and cut off. After two days of attempted rescue by the other two battalions of the 141st Infantry, Dahlquist sent in the 442nd RCT, which had borne the brunt of the 36th Division's fighting for the previous eight days.The 442nd would suffer 800 casualties, including 121 dead, during the five days it took to rescue 211 men of the 1st Battalion, 141st Infantry. Major General Lucian Truscott, commanding the VI Corps (under which unit the 36th Division was serving), considered relieving him of his command.
On November 12, General Dahlquist announced he wanted to review the 442nd, to thank them for what they had done. When the battered unit appeared, Dahlquist grew irritated at their sparse numbers, ignorant at how much they had sacrificed.— Christopher C. Meyers, The War: Vosges Mountains (The Lost Battalion), PBS.org
Dahlquist continued to lead the 36th Division throughout the campaign in Western Europe. On May 8, 1945, Victory in Europe Day, Hermann Göring surrendered to Brigadier General Robert I. Stack, the 36th Infantry Division's aide-de-camp, after a ceasefire was declared between the German Army Group G and the U.S. Seventh Army.Stack transported Göring to the division command post. Because he spoke German, Dahlquist dismissed his translator, and so it was Dahlquist who became the first person to question Göring. Press photos of Dahlquist and Stack, in seemingly casual conversation with Göring, were released for publication in the United States and resulted in criticism of Dahlquist from the American public and from General Eisenhower, the Supreme Allied Commander in the European Theater of Operations (ETO).
Following the war, Dahlquist returned to the United States, serving in various administrative and personnel jobs. He took command of his third division, the 1st Infantry, in 1949. This was followed by command of V Corps from 1952 to 1953 and the Fourth Army in 1953. He then served as Chief of Army Field Forces from 1953 to 1955, during which he was promoted to the four-star rank of general on August 18, 1954. He finished his career as Commander-in-Chief, Continental Army Command, retiring in 1956. Dahlquist died on June 30, 1975, aged 79, and was buried in Arlington National Cemetery, Virginia.
Dahlquist was married to Ruth D. Dahlquist, who was born 17 days after him and died 17 days after him. She was buried on top of him in Arlington National Cemetery. They had a son, Donald John Dahlquist, born on March 9, 1932, who died on November 22, 1993 and was buried in Arlington next to his parents. Dahlquist had two grandchildren, John William and Donette Ruth.
Dahlquist's awards and decorations include the Distinguished Service Cross, the Army Distinguished Service Medal, the Silver Star, the Legion of Merit and the Bronze Star. In 1954, he received an honorary Master of Arts from the University of Minnesota.
Sadao Munemori was a United States Army soldier and posthumous recipient of the Medal of Honor, after he sacrificed his life to save those of his fellow soldiers at Seravezza, Italy during World War II.
The 36th Infantry Division ("Arrowhead"), also known as the "Panther Division", "Lone Star Division", "The Texas Army", or the "T-patchers", is an infantry division of the United States Army and part of the Texas Army National Guard. It was organized during World War I from units of the Texas and Oklahoma National Guard. It was reactivated for service for World War II 25 November 1940, was sent to the European Theater of Operations in April 1943, and returned to the Texas Army National Guard in December 1945.
The 92nd Infantry Division was a segregated infantry division of the United States Army that served in both World War I and World War II. The division was organized in October 1917, after the U.S. entry in World War I, at Camp Funston, Kansas, with African American soldiers from all states. In 1918, before leaving for France, the American buffalo was selected as the divisional insignia due to the "Buffalo Soldiers" nickname, given to African American cavalrymen by Native Americans in the 19th century. The "Buffalo Soldiers Division" divisional nickname was inherited from the 366th Infantry, one of the first units of the division organized.
The 93rd Infantry Division was a "colored" segregated unit of the United States Army in World War I and World War II. However, in World War I only its four infantry regiments, two brigade headquarters, and a provisional division headquarters were organized, and the divisional and brigade headquarters were demobilized in May 1918. Its regiments fought primarily under French command in that war. During tough combat in France, they soon acquired from the French the nickname Blue Helmets, as these units were issued blue French Adrian helmets. This referred to the service of several of its units with the French Army during the Second Battle of the Marne. Consequently, its shoulder patch became a blue French helmet, to commemorate its service with the French Army during the Spring Offensive.
The 34th Infantry Division is an infantry division of the United States Army, part of the National Guard, that participated in World War I, World War II and multiple current conflicts. It was the first American division deployed to Europe in World War II, where it fought with great distinction in the Italian Campaign.
The 3rd United States Infantry Regiment is a regiment of the United States Army. It currently has three active battalions, and is readily identified by its nickname, The Old Guard, as well as Escort to the President. The regimental motto is Noli Me Tangere. The regiment is a major unit of the Military District of Washington (MDW).
The 442nd Infantry Regiment is an infantry regiment of the United States Army and is the only infantry formation in the Army Reserve. The regiment is best known for its history as a fighting unit composed almost entirely of second-generation American soldiers of Japanese ancestry (Nisei) who fought in World War II. Beginning in 1944, the regiment fought primarily in the European Theatre, in particular Italy, southern France, and Germany.

source: m-a-p/FineFineWeb


text:
Finding the Difference of the Cubes of Two Numbers
Date: 9/29/95 at 21:57:3 From: Anonymous Subject: Solve for x^3 - y^3 Here's the problem : The difference of two numbers is 1. The product of the two numbers is also 1. What is the difference of the cubes of the numbers?
Date: 9/30/95 at 1:52:37 From: Doctor Andrew Subject: Re: Solve for x^3 - y^3 Let x be the bigger number and y be the smaller. Then we know that x - y = 1. We also know that x * y = 1 So we know two things: x - y = 1 x * y = 1 If you want to solve this algebraically, pick one of these equations and use it to solve for either x or y in terms of the other variable (y or x, respectively). Then substitute that expression for x or y into the equation you didn't use. You will get a quadratic expression (that means you'll have a term raised to the second power) so you can use the quadratic formula to solve it. If you're not familiar with the quadratic formula, you can read about it here: _URL_ Once you've found values for x and y, you can cube them and subtract to get the difference. -Doctor Andrew, The Geometry Forum
Date: 9/30/95 at 14:54:47 From: Doctor Ken Subject: Re: Solve for x^3 - y^3 Hello! Let me offer another way you could approach this problem. I'll give you an example of a different but similar problem: x - y = 2 xy = 7 What is x^2 + y^2? Well, since x-y = 2, squaring both sides gives x^2 - 2xy + y^2 = 4. Since xy = 7, we can add 2xy to both sides (it will get rid of the middle term on the left, and add 14 on the right). That gives us x^2 + y^2 = 18. Now do you see how you could do your problem? -Doctor Ken, The Geometry Forum
Search the Dr. Math Library:
Ask Dr. MathTM
© _PHONE_ The Math Forum

source: openbmb/Ultra-FineWeb


Security engineer Interview Questions | Glassdoor
Find jobs for security engineer
Security engineer Interview Questions
"When hiring a security engineer, employers want to make sure they select candidates who have the technical knowledge of information security software and hardware to ensure their data will be kept safe in the event of a disaster, whether it be an earthquake or a hacker attack. Before attending an interview for this position, prepare to answer a lot of technical questions that will determine the extent of your understanding of information security systems and how they can be used to protect important data."
Top Interview Questions
Sort: RelevancePopular Date
What sort of anomalies would you look for to identify a compromised system?
1 Answer
I used a whiteboard to draw out a basic network architecture including security technologies like IPS/IDS, Firewalls, AV, etc, and described the type of traffic and logs I could use to identify a compromised system.
Describe the differences between symmetric and asymmetric encryption, and scenarios where one is more appropriate then the other.
1 Answer
1 Answer
During the technical interview, the second interview asked, "How would you configure trace route in a cisco firewall for a group of windows users?" I repeated the question to make sure I heard it correctly, and he responded with, "Windows fundamentally handles trace route differently than Unix does."
6 Answers
Write a function that can determine if an input number is a power of 2.
4 Answers
Can two files generate same checksum?
4 Answers
what is an advantage of a domain?
4 Answers
what is volatile, static? how would it affect if the static keyword used for big array inside a function? what are sections of memory and what kind of variable is stored where?
3 Answers
How many bits do you need for a subnet size.
3 Answers
most of questions come from your resume. your project whether is possible to convert into a application
2 Answers
110 of 811 Interview Questions


What number is VI?
Your question is: What numbers are the Roman numerals VI? Learn how to convert the Roman numerals VI into the correct translation of normal numbers.
The Roman numerals VI are identical to the number 6.
VI = 6
How do you convert VI into normal numbers?
In order to convert VI into numbers, the number of position values (ones, tens, hundreds, thousands) is subdivided as follows:
Place valueNumberRoman numbers
How do you write VI in numbers?
To correctly write VI as normal numbers, combine the converted Roman numbers. The highest numbers must always be in front of the lowest numbers to get the correct translation, as in the table above.
6 = (VI) = 6
The next Roman numerals = VII
Convert another Roman numeral to normal numbers.


text:
HOW TO MAKE AN INDEX
Having made an index for several different nonfiction print books over the years, I have a set of suggestions for how to create an index.
I prefer to do this manually. When I use the search tool that comes with an online article (or an eBook), I'm often disappointed. It easily pulls up every match of the word, which isn't always helpful. If the word is used 200 times, I must then sort out which of the 200 are most relevant.
Also, search tools are sometimes too literal. For example, if I want to find information in a book relating to the moon, when I type the word "moon" in the search, it won't show me pages where the author wrote the word "lunar" (unless the author also happened to write the word "moon" on the same page).
A manual index has the potential to be much more helpful than an automatically created one.
- I get out a blank spiralbound notebook with at least 26 leafs.
- Write the letter A at the top of the first leaf, B at the top of the second leaf, etc. (A book consists of leafs. Each leaf has two pages, one on the front and one on the back of each leaf.)
- If you might have several terms starting with a common letter (I always get a ton of I's, P's, and S's, for example), you might save an extra leaf for these, just in case.
- I open the PDF for my print book's interior on my computer and set my blank spiralbound notebook on my desk in front of my computer monitor.
- With fresh, relaxed eyes (which requires several short breaks to maintain), I go through my PDF file slowly, one page at a time.
- For each page of my PDF, there are typically a variety of keywords that I wish to include in my index.
- I write each keyword down in my spiralbound notebook on the leaf corresponding to its first letter. This helps me sort out the keywords, and helps me find repeated keywords easily.
- Next to the keyword, I write down the page number. Some keywords may show up on several pages. For my most popular keywords, I may need 2-3 lines in my notebook to record all of the relevant page numbers.
- I go page by page through my PDF, writing down keywords and corresponding page numbers in my notebook.
- When deciding on keywords, try to think in practical terms. Which keywords will readers want to search for in your index? Is there enough content on the page relating to that keyword to include that page in the index for that term?
- What other words or phrases might readers search for? It's kind of like word association. For example, one reader might search for "left alignment" in the index, while another might search for "ragged right," where both readers are actually looking for the same topic. An index works well when customers can find what they're looking for easily.
- On a related note, consider that a single term sometimes has different meanings. For example, the word "sale" could refer to the purchase of a product (we had a lot of sales today) or it could mean that the price is reduced (that t.v. is on sale). Some readers might look for "sales" in an index hoping to find pages that will show how to improve sales (that is, to sell more products), while other readers might look for "sales" hoping to learn about promotional pricing. One set of readers will be disappointed unless the index has separate entries for both (like "sales, selling" versus "sales, discounts").
- Write down the page numbers carefully. Double-check each one after you write it.
- Once I've written down all of the terms in my notebook, I type them in a blank Excel file on my computer. Excel is handy for this as it can quickly alphabetize the entries for you.
- I type the keywords in the left column. I type the corresponding page numbers in the second column.
- Be very careful when typing the page numbers for each term. If a customer searches for a term on page 57, for example, and the term isn't there, this will create a frustrating customer experience. Take your time and keep your eyes rested and fresh (with plenty of short breaks).
- When a keyword appears on consecutive pages, you can consolidate the page numbering, like 38-44. An alternative is to write ff for forth-following, but I prefer to list the starting and ending pages. As a reader, I like to know when the last page comes, so there isn't any detective work needed from the reader's end. (Also, keep in mind that not all readers will know what the ff stands for.)
- What if a keyword appears on several pages, but one of the pages is likely the most relevant match? You could put this page number in boldface, for example, so that it stands out.
- If there is a figure or table corresponding to a keyword and you feel that this will be helpful for the reader, you could write something like 48(fig) or 48(tab), or even just 48(f) or 48(t), though in the latter case, fewer readers will realize what you mean.
- If a page has a definition for a word, you might write something like 32(def).
- If a keyword appears in a footnote, you might write 124(fn), but beware of the potential ambiguity. Readers may wonder whether you mean page 124 in a footnote, or footnote 124 (on some other page), unless you write something like 124(fn 15).
- Once my index is typed up, I let Excel sort the data for me. Highlight the columns. Click on the Data tab. Click on the Sort icon. Adjust the Sort By column if necessary. (If it doesn't come out right, press the Undo button.)
- Actually, back up a step. I recommend that you copy and paste all of your information into a new Excel file before you sort it. This way, if you later discover some issue with the sorting that you didn't notice right away, you have your original to fall back on.
- I copy and paste the table into Word (or whatever software you're using). You might prefer to do this as plain text and then reformat it. I usually prefer to format my index as two columns.
- As you can see in the picture for my post, I type each letter of the alphabet at the top of the list of keywords that start with that letter.
- Browse through the index sections of a variety of traditionally published print books. This will help you see the different design possibilities, and will help you adopt your own unique style.
- Test your index out before you publish your book.
This seems like more work than it is. The hardest part is just to get started. I usually spend a few days on it, though only a couple of hours per day, so that I can keep my eyes fresh and stay focused. After spending months writing the book, a few days for the index isn't much.
Note that an eBook ordinarily doesn't include an index. That's because eReaders have a Search tool (though I mentioned earlier that this isn't foolproof).
Write happy, be happy. 🙂
Copyright © 2018
- Kindle Formatting Magic (new release)
- A Detailed Guide to Self-Publishing with Amazon (also part of a Boxed Set)
- The Improve Your Math Fluency series of workbooks (algebra, fractions, arithmetic, trig, long division, and more)


Randomly Switching Upper and Lowercase in a Shell Script
Dave wraps up the shell-script L33t generator
Still, it was an interesting exercise as a shell-scripting problem, because it's surprisingly simply to adapt a set of conversion rules into a sequence of commands. I sidestepped one piece of it, however, and that's what I want to poke around with this article: changing uppercase and lowercase letters somewhat randomly.
This is where "Linux Journal" might become "LiNUx jOurNAl", for example. Why? Uhm, because it's a puzzle to solve. Jeez, you ask such goofy questions of me!
Breaking Down a Line Letter by Letter
The first and perhaps most difficult task is to take a line of input and break it down letter by letter so each can be analyzed and randomly transliterated. There are lots of ways to accomplish this in Linux (of course), but I'm going to use the built-in Bash substring variable reference sequence. It looks like this:
So to get just the ninth character of variable input, for example, I could use ${input:9:1}. Bash also has another handy variable reference that produces the length of the value of a particular variable: ${_TAG_}. Put the two together, and here's the basic initialization and loop:
while [ $charindex -lt $length ]
 # conversion occurs here
 charindex=$(( $charindex + 1 ))
Keep in mind that charindex is initialized to 0, and newstring is initialized to "", so you can see how this quickly steps through every character, adding it to newstring. "Conversion occurs here" is not very exciting, but that's the placeholder you need.
Lower, Meet Upper, and Vice Versa
Last time I also showed a quick and easy way to choose a number 1–10 randomly, so you can sometimes have something happen and other times not happen. In this command:
doit=$(( $RANDOM % 10 )) # random virtual coin flip
Let's say there's only a 30% chance that an uppercase letter will convert to lowercase, but a 50% chance that a lowercase letter will become uppercase. How do you code that? To start, let's get the basic tests:
if [ -z "$(echo "$char" | sed -E's/[[:lower:]]//')" ]
 # it's a lowercase character
elif [ -z "$(echo "$char" | sed -E's/[[:upper:]]//')" ]
 # it's uppercase
This is a classic shell-script trick: to ascertain if a character is a member of a class, replace it with null, then test to see if the resultant string is null (the -Z test).
The last bit's easy. Generate the random number, then if it's below the threshold, transliterate the char; otherwise, do nothing. Thus:
 # lowercase. 50% chance we'll change it
 if [ $doit -lt 5 ] ; then
 char="$(echo $char | tr '[[:lower:]]' '[[:upper:]]')"
 # uppercase. 30% chance we'll change it
 if [ $doit -lt 3 ] ; then
 char="$(echo $char | tr '[[:upper:]]' '[[:lower:]]')"
Put it all together and you have this Frankenstein's monster of a script:
$ sh changecase.sh Linux Journal is a great read.
LiNuX JoURNal is a GrEaT ReAd.
$!!
LINuX journAl IS a gREat rEAd
Now you're ready for writing some ransom notes, it appears!
Load Disqus comments


EDUCATION
The Role of AI and Machine Learning in Electronic Data Capture for Clinical Trials
Artificial Intelligence and machine learning have also started to change the landscape of clinical trials by reducing the time taken to collect and analyze the data and increasing the efficiency of the trials. Researchers can accelerate and optimize their trials and ensure patient monitoring and safety with the help of Artificial Intelligence (AI) and Machine Learning (ML)
One of the most significant aspects of clinical trials is data capture and analysis. An Electronic data capture system is used to collect, clean, and analyze the data produced in the studies.
The use of Al and ML in electronic data capture benefits in clinical trials include automation of the process of storage and display, improved patient recruitment and processing time, and reduced chances of errors and biases.
Study Design and Study set up
ML can be used in designing study protocols by using the existing protocol data and specialized libraries for algorithms to generate an optimized protocol. By doing so, we can reduce the time and amendments, making it optimal for use.
Traditionally, data managers manually create many CRFs to collect data, which can be time-consuming and error-prone. AI and ML significantly accelerate the process by reading the clinical trial protocol and automatically generating CRFs.
ML can set up and design case report forms (CRFs) and study databases. Researchers can train ML models on a library of CRFs tailored to specific therapies and study designs. This automation translates these outputs into actual study setups and validations, allowing designers to make necessary tweaks.
Clinical Trial and Patient Recruitment
One of the most time-consuming parts of the trials is patient recruitment. Recruiters must find the subjects of interest, gather information, use criteria filters, and finally select participants, making patient recruitment a crucial part of the trial to ensure its success.
When recruiting patients, it is vital to manage them effectively and ensure they are not dissatisfied, influencing the quality of the results. During a study, patients are collected for different sites and multiple locations, making it difficult for recruiters to manage data.
AI and ML are used throughout patient recruitment and management to improve efficiency, quality, and retention. Algorithms collect patient data, screen and filter potential participants, and analyze data sources such as medical records and social media to identify subgroups and geographic areas relevant to the study. It also helps in alerting other medical staff and patients to opportunities.
Data Management
AI data management is flexible, adaptable, and reliable. It eliminates the need to manage paper-based documentation by using electronic data capture (EDC). This is essential for modern clinical trials, which can generate massive amounts of unstructured data due to advances such as, self-diagnosing and self-reporting.
 - Medical Coding:
AI can automatically code medical terms using already present dictionaries and then medical coders can review and refine. ML can use these coding libraries and improve the accuracy of term matching
 - Smart Queries:
AI uses machine learning to identify potential queries by comparing entered trial data to known values. This approach raises valid queries or discards false positives, improving the efficiency of query management.
 - Smart Source Data Verification (SDV):
AI automates SDV by extracting text from images of source documents and comparing it to entered data. This reduces the effort required for on-site verification manually.
Data Analysis
Machine learning can provide insight in clinical data during and after trials by using classification, clustering and prediction. The study can be efficiently executed by looking into the patient's behavior and other factors that might affect the trial.

 - Regulatory Submission:
It can help streamline the regulatory submission process by creating templates and automating document generation, saving time and ensuring compliance.
 - Clinical Study Reports (CSRs) Automation:
The regulatory process is shortened by CSRs. It reads the study protocol and report analysis, helping generate most of the CSR content.
AI and ML can help us understand what factors make patients more likely to respond to a particular treatment by analyzing large amounts of data and finding patterns. Later information can assist in developing personalized treatment and optimize patient care.
Additionally, it can help to identify subgroups of patients who are more likely to benefit from a particular treatment, which can lead to more targeted therapies.
Data Diversity
Traditionally, clinical trials relied on data from central labs and interactive systems. However, new data sources are emerging, such as data from wearables, bedside monitors, and interactive systems. It is valuable to collect and analyze it for a better quality of research. The diversity of data allows healthcare professionals to understand the patient's behavior better and helps them to conduct clinical trials more efficiently and effectively.
Predictive modeling
AI can assist in identifying patients who are most likely to benefit from a particular treatment and adjust the trial design accordingly. In turn, it reduces the risk of trial failure and patient harm.
Traditional methods of adverse event detection rely on manual reporting by participants and healthcare professionals, which can be time-consuming and error-prone. Alternatively, AI can identify potential adverse events more quickly and accurately by analyzing data from multiple sources, including electronic health records, patient-reported outcomes, and social media. It helps prevent serious incidents, save time, and improve trial results.
Benefits Of Utilizing Al and ML
 - Cost Reduction:
Al and ML streamline various aspects of clinical trials, which leads to reduced operational costs and short trial duration.
 - Faster and Accurate Results:
Technology can process large amounts of data and make decisions accurately, leading to an optimal study.
 - Personalized Medicine:
This can analyze the patient's characteristics and suggest a treatment plan to improve the outcome.
 - Improved Patient Outcome:
Analyze the requirements and predict patients who are optimal or will have adverse effects, improving the quality of patients.
 - Real-Time Access to Expertise:
It can help teams collaborate, innovate, and find answers quickly. It can do this by connecting experts with the subject matter and other resources and automatically documenting and storing expert knowledge for future use.
The Future
The future of AL and ML in clinical trials holds great promise for changing medical research by streamlining the process from patient recruitment to study results. With the integration of machine learning algorithms, it can predict, analyze, and recruit patients. As AI and ML technologies continue to mature and become more widely adopted, they are expected to be an integral part of the trials.
Many companies like Amgen (AMGN. O), Bayer (BAYGn.DE), and Novartis (NOVN. S) are using AI model language to help them in clinical trials. In addition, companies offer patient recruitment services. For example, Minerva research solutions, search for clinical trials patient recruitment services to gather more information.
 Also Read: Germany Diabetes Market Projected to Experience a CAGR of 5.92% from 2022 to 2028: Market Analysis and Outlook
Related Articles
Leave a Reply
Back to top button


M. Mur, M.L.A. Meys, J. Bodurka, R. Goebel, P.A. Bandettini, N. Kriegeskorte*
*Corresponding author for this work
Research output: Contribution to journalArticleAcademicpeer-review
Primate inferior temporal (IT) cortex is thought to contain a high-level representation of objects at the interface between vision and semantics. This suggests that the perceived similarity of real-world objects might be predicted from the IT representation. Here we show that objects that elicit similar activity patterns in human IT (hIT) tend to be judged as similar by humans. The IT representation explained the human judgments better than early visual cortex, other ventral-stream regions, and a range of computational models. Human similarity judgments exhibited category clusters that reflected several categorical divisions that are prevalent in the IT representation of both human and monkey, including the animate/inanimate and the face/body division. Human judgments also reflected the within-category representation of IT. However, the judgments transcended the IT representation in that they introduced additional categorical divisions. In particular, human judgments emphasized human-related additional divisions between human and non-human animals and between man-made and natural objects. hIT was more similar to monkey IT than to human judgments. One interpretation is that IT has evolved visual-feature detectors that distinguish between animates and inanimates and between faces and bodies because these divisions are fundamental to survival and reproduction for all primate species, and that other brain systems serve to more flexibly introduce species-dependent and evolutionarily more recent divisions.
Original languageEnglish
Pages (from-to)128
JournalFrontiers in Psychology
Publication statusPublished - 1 Jan 2013
Cite this


text:
125 years of citizen astronomy!
2020 is an important year for citizen astronomy in New South Wales with the assembly, and first meeting to form the British Astronomical Association New South Wales Branch (now called Sydney City Skywatchers) held on 30 January 1895. John Tebbutt FRAS was appointed the first President.
At the second meeting held in March 1895 there were 48 members admitted, including women. A rigorous series of monthly meetings followed with talks and presentations about comets, solar eclipses, planets and stars. You can find out more here.
This year we have embraced new ways of communicating with the over 80 members who live far and wide using Zoom technology. There are talks planned every month with expert speakers, some are our own members, presenting.
We have also launched a new logo which honours our past, but looks forward to many new opportunities to learn and participate in astronomy.
As the 56th President of the Society, I am inviting all members to join in our presentations on-line and, if you are not a member, join up because it is great network of people who are interested and engaged in astronomy in many different ways. Once Covid-19 regulations are relaxed we will resume our outreach program which gives opportunities to improve telescope skills and if you don't own a telescope you can see what others are using and learn. No prior experience, but curiousity is required!


Looking to Start a Business? Here Are Five Benefits of Business Incorporation
Looking to Start a Business? Here Are Five Benefits of Business Incorporation While looking to start a new business, you need to ensure that you build it on a firm foundation. Business incorporation plays a crucial role in that foundation; it ensures that you remain in good standing with the federal and state government. Business entities As an entrepreneur looking to register their business, there are several entities you can pick from, depending on the type of business you wish to operate. This includes:
 - S Corporation
 - C Corporation
 - DBA (Doing Business As)
 - Non-Profit
 - LLC (Limited Liability Company)
Benefits of incorporation Other than ensuring that your business remains in good books with the government, incorporating your business comes with the following benefits:
 1. Protects your personal assets by separating them from the business' assets and liability. This means creditors can't come after your personal assets in case of a lawsuit.
 2. You gain easier access to capital. This makes it easier for you to grow and develop your business. Corporations generally have access to more alternatives of capital. They can use this to settle debts and so on.
 3. Business incorporation adds credibility to your business. From suppliers to customers and partners, they will all perceive your business as being more stable and reliable, making incorporation a worthy investment.
 4. Perpetual existence. To date, corporations remain the most enduring business structure. This means that your business can continue to exist indefinitely, irrespective of what happens to you or any of the other business partners.
 5. Privacy. Business incorporation offers you much-needed privacy in this age of heightened insecurity. If you want to open a business and remain anonymous, then incorporation is the way to go.


Zoom Radar
Zoom Radar
Instructions for use:
1. Select "hybrid" view for most realistic imagery
2. Use the "zoom in" feature while keeping your location centered on the map
3. Choose between Radar and Clouds for radar or satellite imagery
4. Click on any temperature reading to see detailed information for that location
5. Use the simple video controls to animate the imagery


Psychotronic NFB: THE SNIFFING BEAR (1992)
Drugs, drugs, drugs–which are good, which are bad? The NFB has been exploring that very subject since World War II. The Board first tackled the illegal narcotics trade in the 1948 film DRUG ADDICT (and a condensed, re-edited version, PAY OFF IN PAIN), a cautionary tale about a heroin addict. As LSD and marijuana gained prominence in the 1960s and 70s, the NFB continued to plumb this social issue with films including ALMOST EVERYONE DOES, BEYOND KICKS and DARKNESS DARKNESS. But no doubt their oddest contribution to the anti-drug film canon is THE SNIFFING BEAR, a seven-minute animated short from 1992 about the dangers of gasoline huffing.
Sniffing toxic chemicals to get high is a serious problem in many northern communities in Canada, but it is rarely addressed by the media. Not only do users face danger from the damaging effects of the chemicals, but also from the flammability of certain substances where proper precautions are not taken. As most gas huffers get started as young teenagers, it's important to reach young children with a message about why this particular illicit activity can be deadly. That makes THE SNIFFING BEAR fairly unique among the NFB's work–meant for pre-teens, it's the only animated anti-drug film in the NFB's collection.
Even young children might find the way the story unfolds a little odd, though. In trying to create a kid-friendly anti-drug short, there's quite a bit of oversimplification happening in this aimless narrative. Basically, the bear finds a plastic gasoline can just sitting there in a smashed igloo, and almost immediately gets his snout right in there. The other animals in the Arctic setting try to knock the can free, apparently trying to warn the bear. It's an allegory, of course, but not a particularly strong one, as it doesn't really illustrate why the sniffing bear should sniff out a different kind of recreation.
And then there's the problem of the way the bear's fume-addled nightmare is depicted. These kinds of films always run the risk of making a hallucinogenic drug reaction look more fun than fearful, and I'm not sure this one is terribly convincing–the possibilities of freaky mask dreams and frequent naps really isn't so bad. It's the other animals that come off like the real downers, at least at first, trying to keep away his precious gas can. Still, as the bear walks away at the end, the anti-drug message is clear. Or at least as clear as an allegorical tale about gas huffing starring a polar bear can be.
Not all similar NFB films contain an anti-drug message. More recently, the NFB has explored the societal effects on the war on drugs itself in films like DAMAGE DONE: THE DRUG WAR ODYSSEY, FIX: THE STORY OF AN ADDICTED CITY and SOCIETIES UNDER THE INFLUENCE. Stoned bears aside, it's this progressive attitude, having evolved over more than 60 years, that makes the NFB such a unique Canadian entity–could you imagine the U.S. government stamping it's name on a film that advocated legalizing narcotics? Me neither.
Bizarrest moment: The bear rips up the heavy plastic gasoline canister in a fit of rage. Is that even possible? Those things are built to last!
Lesson learned: Don't do drugs. Especially if you are a two-dimensional polar bear.
Tags:,,,


behaviour to save_file_dialog - if
 a non existing file is entered, it reports an error.
 message_dialog(string, string)
 Brings up a message dialog with the given title and message.
 error_dialog(string, string)
 Brings up an error dialog with the given title and message.
 int query_dialog(string, string, string, ...)
 Brings up a query dialog. Takes a header, a prompt and a number
 of alternative buttons. Returns the button number or -1 on canSets the status line of the current editor. The status line will
 return to its usual when a key is pressed. This can be used with
 getkey() to inform the user of possible key presses.
 string status_input(string, string)
 Sets the status line to an entry widget with the first argument
 as the prompt string, and the second argument as the default
 text. Returns the entered text or None if Esc is pressed.
 (string, int) get_key()
 This blocks waiting for a key press, and grabs the application.
 It returns the string equivalent of the key press as in the X
 Window header file keysymdef.h without the XK_ prefix. It also
 returns the current state of the keyboard modifiers, being the
 inclusive or of ShiftMask ... etc. as listed above.
 The following function allows display of shell output as those in the
 Scripts menu.
 int shell_output(string, string, string)
 This displays the output of a shell command continuously in its
 own window in the background. As always, clicking on file:line
 type messages will cause the editor to jump to that file and
 line number.
 The arguments are: the title of the output dialog, the shell
 program (which should begin with #!/bin/sh or similar), and a
 unique descriptive magic string that identifies the dialog. An
 example of a magic string is FindfIlEmAgiC used by the find file
 dialog - if you use the same magic string, then a new window
 will not be created if the find file display window exists.
 The following functions manipulate editor windows:
 (string, ...) get_editors()
 Returns a tuple with an entry for each editor window. These are
 the full path names of the open files.
 Sets the current editor with the full path name. This allows manipulation of a different edit buffer, but does not set input to
 that buffer.
 Raises and the current editor window and sets the input focus to
 the current editor.
 Close the current edit window. If a non-zero value is passed,
 then this forces a close, regardless of whether the buffer is
 modified or not.
 Create a new editor window with no text in it.
 Load a file into the current window. This will replace any text
 in the current edit window.
 The following are further miscellaneous commands:
 Executes an arbitrary editor command. These are listed in the
 Define Keys dialog.
 After the edit buffer has been modified, the window must refresh. Usually just the current line is redrawn. If you have
 made changes which may reflect a different display on other
 lines, then call redraw_page() before returning to ensure that
 the entire screen displays correctly.
 string file_type([string])
 Forces the current file type as though you had selected it from
 the Options, Syntax highlighting... menu item. Forcing the type
 disables automatic file type selection for this window thereafter. The old file type is returned.
 If no arguments are passed, file_type just returns the current
 file type. This is useful for creating actions specific to the
 type of text being edited.
 New syntax rule sets are being added all the time, but the
 passed and returns string is least one of:
 Unified Diff Output
 Context Diff Output
 LSM File
 Shell Script
 Perl Program
 Python Program
 NROFF Source
 HTML File
 Pascal Program
 Ada Program
 LaTeX 2.09 Document
 Texinfo Document
 C/C++ Program
 SWIG Source
 Java Program
 SmallTalk Program
 ML Program
 GNU Distribution ChangeLog File
 Mail folder
 Syntax Highlighting definitions
 As of version 3.6.0, cooledit has syntax highlighting. This means that
 highlighted in different colours. The following section explains the
 format of the file ~/.cedit/syntax.
 The file ~/.cedit/Syntax is rescanned on opening of any new editor
 file. It contains a list of file types and how to identify what rule
 set the text you are editing belongs to. The file token dictates how to
 match up your text. On the same line as a file token must appear a regular expression to match the filename, a string to be displayed on the
 left of the editor window for description purposes, and a regular expression to match the first line of the file. If either of the regular
 expressions match, the file is deemed to have the particular type. For
 file..\*\\.(py|PY])$ Python\sProgram ^#!\s\*/.\*/python
 Will cause a file to be labelled as Python Program if it contains say,
 #!/usr/bin/python, on the first line OR of it ends in say.py.
 Note that *, + and \ have to be escaped with a \, and space must be
 presented with a \s.
 After the file keyword may come the include keyword. The include keyword says to load a rule set from a separate file, and is the preferred
 way of adding new rule sets. The path from where it loads defaults to
 cooledit/syntax/ under the lib/ directory where you installed Cooledit.
 See the examples in your own Syntax file and in this directory.
 Each rule set is divided into contexts, and each context contains keyword definitions. A context is a scope within the text that a particular set of keywords applies to. For instance, the region within a C
 style quote (i.e. between " quotations) has its own separate colour and
 hence its own separate context. Within it, the normal C tokens, like if
 and while, will not apply, but %d should be highlighted in a different
 colour. Contexts are usually for when you have something that must be
 coloured across multiple lines. The default context contains the list
 of keywords to fall back on should there be no other applicable context. This is usually normal programming code.
 A trivial C programming rule set might look like this:
 wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_
 # default colors
 context default
 keyword whole if yellow/24
 keyword whole else yellow/24
 keyword whole for yellow/24
 keyword whole while yellow/24
 keyword whole do yellow/24
 keyword whole switch yellow/24
 keyword whole case yellow/24
 keyword whole static yellow/24
 keyword whole extern yellow/24
 keyword { brightcyan/14
 keyword } brightcyan/14
 keyword '*' green/6
 # C comments
 context /\* \*/ brown/22
 # C preprocessor directives
 context linestart # \n brightred/18
 keyword \\\n yellow/24
 # C string constants
 context " " green/6
 keyword %d yellow/24
 keyword %s yellow/24
 keyword %c yellow/24
 keyword \\" yellow/24
 Each context starts with a line of the form:
 [linestart] delim [foreground] [background]
 One exception is the first context. It must start with the command
 context default [foreground] [background]
 or else cooledit will return an error.
 The linestart option dictates that delim must start at the beginning of
 a line.
 The whole option tells that delim must be a whole word. What constitutes a whole word are a set of characters that can be changed at any
 point in the file with the wholechars command. The wholechars command
 at the top just sets the set exactly to its default and could therefore
 have been omitted. To


_DIAGASSERT(3) - NetBSD Manual Pages
Command: Section: Arch: Collection:
_DIAGASSERT(3) NetBSD Library Functions Manual _DIAGASSERT(3)
NAME
_DIAGASSERT -- expression verification macro
SYNOPSIS
#include <assert.h> _DIAGASSERT(expression);
DESCRIPTION
The _DIAGASSERT() macro tests the given expression and if it is false, one or more of the following may occur: · a diagnostic message may be logged to the system logger with syslog(3). This is default behaviour. · a diagnostic message may be printed to the stderr stream. · the calling process will be terminated by calling abort(3). This behaviour may be changed by setting the LIBC_DIAGASSERT environment variable (see below). The diagnostic message consists of the text of the expression, the name of the source file, the line number and the enclosing function. If expression is true, the _DIAGASSERT() macro does nothing. The _DIAGASSERT() macro is not compiled in by default, and will only be compiled in with the cc(1) option -D_DIAGNOSTIC. This macro is used in the various system libraries such as the Standard C Library (libc, -lc) to ensure that various library calls are invoked with valid arguments.
ENVIRONMENT
The LIBC_DIAGASSERT environment variable can be used to modify the default behaviour of logging the assertion to the system logger. LIBC_DIAGASSERT may be set to one or more of the following characters: a abort(3) once any assertion messages have been logged and/or printed. A Opposite of ''a''. e Print the assertion message to the stderr stream. E Opposite of ''e''. l Log the assertion message with syslog(3) to the facility user.debug. L Opposite of ''l''.
DIAGNOSTICS
The diagnostic message has the following format: "assertion \"%s\" failed: file \"%s\", line %d, function \"%s\"\n", "expression", __FILE__, __LINE__, __func__
SEE ALSO
cc(1), abort(3), assert(3), syslog(3)
HISTORY
The _DIAGASSERT macro appeared in NetBSD 1.5. NetBSD 10.99 January 22, 2007 NetBSD 10.99
Powered by man-cgi (2024-03-20). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.


Do Lions Chuff Like Tigers?
In their younger ages, lions can indeed make similar sounds to a meow.
Most older lions will resort to low moans and groans when socially bonding with one another, often trying to drown each other out with their sounds!
It's their equivalent of a purr, or in the case of some other big cats, the equivalent of a "chuff."
What does a lion Chuffing mean?
Prusten is also referred to as chuffing or chuffle (verb and noun). It is described as a short, low intensity, non-threatening vocalization. The vocalization is produced by tigers, jaguars, snow leopards and clouded leopards. Prusten has significance in both the fields of evolution and conservation.
What does it mean when a tiger Chuffs at you?
She also found that to greet one another (or their human keepers), tigers make a special noise called a prusten, or chuff, by keeping their mouths closed while pushing air through their nostrils. "The forests aren't the way people often picture jungles with tigers.
How do you chuff like a tiger?
Suggested clip 119 seconds
How to chuff – YouTube
Start of suggested clip
End of suggested clip
Do cats chuff like tigers?
Domestic cats don't chuff. Tigers chuff. It is a form of communication made at close range and part of the tiger's greeting behaviour. The tiger chuff is sometimes described as a 'prusten'.
Are there tigers in Bali?
Tiger (Panthera tigris)
In the past, Indonesia had three subspecies of tigers: Bali, Java, and Sumatran tigers. The Bali tiger was extinct in the 1930s and Java tiger in 1970s. The last of Indonesia's tigers are holding on for survival against deforestation, poaching, and human-tiger conflicts.
Do lions roar to scare prey?
When lions get old and lose teeth, they are no longer able to hunt and attack, so they become the guards of the pride. Their entire purpose is to roar and scare any approaching prey towards the younger lions, so they can attack. All he can do is roar to scare us.


text:
0.1 The Game of Go and Theorem Proving
Formally defined rules [similarity].
Both the games of Go and theorem proving have algorithms to evaluate the results. In the game of Go, one can judge the result of each game when it is over by counting the stones and spaces for each player, and no ambiguity is left in deciding the result of a game. In theorem proving, when one finds a proof, others can systematically check if the alleged proof is a valid proof or not.
Expressive power of the system [difference].
Even though both systems are based on a set of simple rules, the expressive power of these systems differ. Depending on the underlying logics, a theorem proving task can involve advanced concepts such as abstraction, universal quantification, existential quantification, and polymorphism, which Go scores cannot express natively. This is especially true for more expressive logics such as classical higher-order logics or variants of calculus of constructions, where stronger proof automation is needed.
Amount of available training data [difference].
Some theorem proving researchers boast that they have large proof corpora. For example, the Isabelle community has the Archive of Formal Proofs (AFPs) , consisting of more than 1.5 millions of lines of code and 100 thousands lemmas. Unfortunately, even though these proof corpora are large for the small community of theorem provers, they are small compared to the data deployed in other domains.
Preference towards small data [difference].
The size of the community is not the only reason of small data available in the theorem proving community: logicians and mathematicians have developed expressive logics to describe general ideas in a concise manner. Combined with the trade-off between proof automation and expressive power of underlying logic, this is doubly unfortunate: the more expressive logic we use, the less proof automation we have, but the more expressive the logic is, the less training data we can expect, which makes it hard to improve the proof automation for expressive logics using machine learning techniques.
One might suspect that large data are not necessary to develop a powerful proof automation tool using machine learning. After all, DeepMind has made AlphaGo Zero stronger than any previous versions of AlphaGo via self-play without using data from human games. Unfortunately, even though both Go and theorem proving are based on clearly defined rules, theorem proving is not a two-player game by default. In the rest of this paper, we propose an approach to introducing self-playability to theorem proving.
0.2 The Design of Self-playable Games of Theorem Proving
One straightforward design of self-playable games of theorem proving is as follows: (1) prepare a set of proof obligations from existing proof corpora, (2) let two competing provers try to prove these proof obligations, (3) count how many obligations each prover discharges, (4) consider the prover that solves more obligations as the winner, and the other one as the loser. We can use this naive approach as a part of reinforcement learning or evolutionary computation to optimize our provers for proof obligations that have already been proved. However, this approach is probably not powerful enough to improve provers for conjectures that are significantly different from the theorems in the training data
For example, let us assume that we enhance our prover, say
P, via self-play using 100 theorems and their proofs in the AFPs. Since we already know how to prove these theorems, we can improve
P, so that
P can prove all of the 100 theorems within a reasonable time-out. However, when we try to improve
P to discharge a new conjecture, say Goldbach's conjecture, we will find ourselves at a loss of training data: Currently, there is no known proofs of Goldbach's conjecture or auxiliary lemmas that are verified to be useful to prove Goldbach's conjecture.
If we add Goldbach's conjecture to the above dataset, the improvement via self-play would saturate after producing a prover that can discharge the 100 theorems from the AFP but not Goldbach's conjecture:
since the gap between the theorems from the AFPs and Goldbach's conjecture is too large, minor mutations to
P's variants cannot produce a useful observable difference in the result of the game. What we need here is a mechanism to produce conjectures that we can reasonably expect to be useful to prove our target conjecture (Goldbach's conjecture in this example) but not too difficult for our current prover
Therefore, we propose to treat conjecturing and proof search as one problem
. Of course, we cannot be 100% sure which conjecture is useful to train our prover for Goldbach's conjecture, since nobody has proved it yet. But if we consider a heuristic proof search as the exploration of an and-or tree, we can estimate how important each node in the tree is from the search heuristics of the prover. Furthermore, given a long time-out, we can expect that the prover can discharge some of emerging subgoals, even if the prover cannot discharge the root-node, which corresponds to the target conjecture (Goldbach's conjecture, in this example).
Our idea is to use these proved subgoals to judge the competence of other versions of prover
First, we produce two versions of our prover
P by mutation. Let us call them
Pb, respectively. Using the approach explained above, we let
Pa produce a dataset
Da and let
Db. Now, we let
Pb try to prove the theorems in
Da, and let
Pa try to prove the theorems in
Pb run out of time, we sum up the estimated values of theorems proved by each prover (
Pa, for example). Note that it was the opponent prover (
Pb in this example) that has decided the value of each theorem in each dataset (
Db in this case) when finding proofs of these subgoals for the first time. The prover that has gained more value is the winner of the game, and the other is the loser. Then, we keep running this game by mutating the winner until we produce a prover that can discharge the target conjecture. Since this process generates new conjectures tagged with their estimated values from the target conjecture in each iteration, we expect this approach continues producing conjectures useful to prove the target conjecture.
We are still in the early stage of the design. We might generalize this idea to n-player games to avoid over-fitting. For the moment, we prefer the design of the game to be irrelevant to any of underlying logics, ML algorithms for search heuristics, and mutation algorithms.
This work was supported by the European Regional Development Fund under the project AI&Reasoning (reg. no. CZ.02.1.01/0.0/0.0/15_003/_PHONE_).
- Gerwin Klein, Tobias Nipkow, Larry Paulson, and Rene Thiemann. 2004.
David Silver, Aja Huang, Chris J. Maddison, Arthur Guez, Laurent Sifre, George
van den Driessche, Julian Schrittwieser, Ioannis Antonoglou, Vedavyas
Panneershelvam, Marc Lanctot, Sander Dieleman, Dominik Grewe, John Nham, Nal
Kalchbrenner, Ilya Sutskever, Timothy P. Lillicrap, Madeleine Leach, Koray
Kavukcuoglu, Thore Graepel, and Demis Hassabis.
Mastering the game of go with deep neural networks and tree search.Nature, 529(7587):484–489, 2016.
- David Silver, Julian Schrittwieser, Karen Simonyan, Ioannis Antonoglou, Aja Huang, Arthur Guez, Thomas Hubert, Lucas Baker, Matthew Lai, Adrian Bolton, Yutian Chen, Timothy Lillicrap, Fan Hui, Laurent Sifre, George van den Driessche, Thore Graepel, and Demis Hassabis. Mastering the game of go without human knowledge. Nature, 550:354 EP –, Oct 2017. Article.


text:
Image: Flesh fly - Adult
Flesh fly - Family Sarcophagidae
- Richard Major
- © Australian Museum
Flesh flies - Family Sarcophagidae
Flesh flies are stripey-backed or chequered flies, often with bright red eyes. They arrive at corpses slightly later than the pioneer blowflies, but the eggs hatch in the uterus of the female, before she lays them, with the result that the larvae are deposited directly on the body. This allows them to catch up on the blowflies, whose eggs take around 24 hours to hatch.
Adult flesh flies still sometimes find themselves in competition with blowflies, as they fight for the best laying sites. When several flies attempt to lay in the same site, flesh flies can often be observed using their legs to kick other flies that stray too close.
Flesh fly pupae can remain dormant for long periods. Maggots of some Sarcophaga species hibernate as pupae in autumn and do not emerge as adult flies until late spring. Flesh flies often emerge in people's houses after feeding on dead possums in their ceiling.


text:
Mobilizing Action through Planning and Partnerships (MAPP)
"People working together in a strong community with a shared goal and a common purpose can make the impossible possible." –TOM VILSACK, US Secretary of Agriculture
Mobilizing for Action through Planning and Partnerships (MAPP) is a strategic approach to community health improvement. This tool helps communities improve health and quality of life through community-wide strategic planning. Using MAPP, communities seek to achieve optimal health by identifying and using their resources wisely, taking into account their unique circumstances and needs, and forming effective partnerships for strategic action.
The MAPP tool was developed by the National Association of County and City Health Officials (NACCHO) in cooperation with the Public Health Practice Program Office, Centers for Disease Control and Prevention (CDC). A work group composed of local health officials, CDC representatives, community representatives, and academicians developed MAPP between 1997 and 2000. The vision for implementing MAPP is:
"Communities achieving improved health and quality
of life by mobilizing partnerships and taking strategic action."
Communities that have undertaken MAPP have experienced the following benefits:
- Creates a healthy community and a better quality of life.
- Increases the visibility of public health within the community.
- Anticipates and manages change.
- Creates a stronger public health infrastructure.
- Engages the community and creates community ownership for public health issues.
Alaska's MAPP Program
The Alaska MAPP Program was established as a cooperative initiative between Health Promotion and the Section of Public Health Nursing in 2006 in order to assist Alaska communities in developing and implementing community-wide strategic plans. The ultimate goals of Alaska's MAPP effort are for communities to achieve optimal health, improve coordination of serves and resources, and build a stronger public health partnership system. Using the national model and materials, Health Promotion provides the following services:
- On-site and statewide training on the MAPP framework
- Technical assistance on all phases of the MAPP
- Location specific consultation on:
- community organizing
- coalition development
- community assessment
- strategic planning
- evidence-based public health
- Access to national and Alaska specific resources
- Community networking across Alaska
Alaska Specific Resources:
National Association of City and County Health Officials:
For more information, please contact:
Jayne E. Andreen, Manager
Division of Public Health
Department of Health and Social Services
P.O. Box 110614
Juneau, Alaska 99811-0614


on the scale parameter γ, thus making it an appropriate metric for impulsive environments (optimal in ML sense under the Cauchy model) [16, 72, 76, 77]. Further justification for the use of the Lorentzian norm is the existence of logarithmic moments for algebraic-tailed distributions, as second moments are infinite or not defined for such distributions and therefore not an appropriate measure of the process strength [13, 16].
M-generalized Cauchy estimator
Consider a set of observations {y 1,y 2,…,y n }, where each observation follows the linear model y i =α+z i , and the elements z i are i.i.d. samples obeying a generalized Cauchy distribution (GCD). The probability density function of the GCD is given by
$$ f(z)=a\sigma (\sigma^{p}+|z|^{p})^{-2/p}, $$
(13)
where a=p Γ(2/p)/2(Γ(1/p))2. In (13), the scale parameter is given by σ, and the tail decay of the distribution is given by p. For the particular case p=2, we have the Cauchy distribution. The ML estimate of the location parameter for GCD distributed samples is given by [77]:
$$ \hat{\alpha}=\arg\min_{\mathsf{\alpha}}\sum\limits_{i=0}^{n}\log[\sigma^{p}+(y_{i}-\alpha)^{p}]. $$
(14)
The particular cases of p=1 and p=2 yield the meridian [78] and myriad [76] estimators, respectively.
A few comments on the cost functions
Figure 1 compares the 1 norm, the Huber cost function, with σ=1 and c=0.75, and the Lorentzian norm with two different values of γ (γ=1 and γ=0.1) for the one-dimensional case. The squared 2 norm is plotted as reference. Compared to the squared 2 norm, the 1, Huber and Lorentzian functions do not over penalize large deviations, leading to more robust error metrics when outliers are present. Notably, the Lorentzian norm and the Huber cost function, for c<1, are more robust to outliers since they do not increase their value as fast as the 1 norm when u.
Fig. 1
figure1
Comparison of the 1 (black) norm, the Huber cost function with c=0.75 (magenta), and the Lorentzian norm with γ=1 (blue) and γ=0.1 (green) for the-one dimensional case. The squared 2 norm (red) is plotted as reference
In the same manner as the myriad estimator, robustness properties of the Lorentzian norm are defined by the scale parameter γ. The Lorentzian norm is convex in the interval −γuγ behaving as an 2 cost function for small variations compared to γ and log-concave outside this interval. Thus, small values of γ make the Lorentzian more resilient to gross errors and large values of γ make the Lorentzian similar to the squared 2 norm. Robustness properties of the Huber cost function also depend on the scale parameter σ and on the parameter c.
Although the Lorentzian norm is a nonconvex function, it is everywhere continuous and differentiable, which are desirable properties when used as a cost function in optimization problems. On the other hand, the 1 and Huber functions are convex and continuous functions, thus enjoying strong theoretical guarantees when used in optimization problems. However, the 1 norm is piece-wise continuous and not differentiable, which rules out traditional smooth optimization methods based on derivative information, whereas the Huber function is everywhere differentiable.
Figure 2 depicts the characteristics of the Lorentzian cost function (myriad estimator) for two different values of γ and for the 1 and Huber cost functions, in the location estimation problem. The observation samples are located in x={−1,0,1,10}. Note that for γ=0.1, the Lorentzian cost function exhibits four local minima, whereas for γ=1, the cost function is smoothed and only two local minima are present.
Fig. 2
figure2
Comparison of the 1 (black) norm, the Huber cost function with c=0.75 (magenta) and the Lorentzian norm with γ=1 (blue) and γ=0.1 (green) for the location estimation problem, with observation samples located in x={−1,0,1,10}
Review of robust sparse signal reconstruction methods
Recall that the CS signal estimation problem consists of reconstructing an s-sparse signal \(\mathbf {x}_{0}\in \mathbb {R}^{n}\) from a reduced set of noisy linear projections \(\mathbf {y}\in \mathbb {R}^{m}\) given by
$$ \mathbf{y}=\Phi \mathbf{x}_{0} + \mathbf{z}, $$
(15)
where \( \mathbf {z}\in \mathbb {R}^{m}\) is the noise vector with i.i.d. components following a common distribution f z (z). If the noise contains outliers, or is of impulsive nature, then it is better characterized by a distribution with heavier-than-Gaussian tails. A common model for the noise is to assume that z=r 0+w, where r 0 is modeled as a sparse error whose locations of nonzero entries are unknown and whose magnitudes can be arbitrarily large and w is a small 2-bounded noise (possibly Gaussian). Another common model is to assume that z follows a heavy-tailed distribution such as the Laplace distribution or the alpha-stable distribution. In order to mitigate the effect of the impulsive noise in the compressive measurements, a robust data-fitting term should be used.
In this section, we present a set of formulations and methods for robust sparse signal reconstruction when the signals are acquired in the presence of impulsive noise. The approaches described herein are based on replacing the 2 norm by the previously described robust metrics for the data fidelity term.
1-based methods
If the 2 norm is replaced by the 1 norm in the data-fitting term, the CS reconstruction problem reduces to solving a constrained LAD regression problem given by
$$ \min_{\mathbf{x}\in \mathbb{R}^{n}}\|\mathbf{y}-\mathsf{\Phi} \mathbf{x}\|_{1}~\mathrm{subject to}~\| \mathbf{x}\|_{0}\leq s. $$
(16)
The problem in (16) is optimum under the ML assumption that the noise obeys a Laplacian distribution. The constraint term imposes sparsity in the estimated signal. The formulation in (16) can be rewritten as an unconstrained regularized problem
$$ \min_{\mathbf{x}\in \mathbb{R}^{n}}\|\mathbf{y}-\mathsf{\Phi} \mathbf{x}\|_{1}+\tau\| \mathbf{x}\|_{0}. $$
(17)
Different strategies have been proposed to solve (17). Among these, a framework based on the coordinate descent approach is proposed in [44], though the problem in (17) is combinatorial and computationally expensive. Therefore, convex relaxations to the 0 constraint have been proposed. For instance, Wang et al. proposed the following convex problem [20]
$$ \min_{\mathbf{x}\in \mathbb{R}^{n}}\|\mathbf{y}-\mathsf{\Phi} \mathbf{x}\|_{1}+\tau\| \mathbf{x}\|_{1}. $$
(18)
The reconstruction problem is thus formulated as a LAD 1 regularized problem ( 1-LAD) whose theoretical properties for statistical regression are studied in [20]. The works in [2328] study theoretical recovery conditions for the following equivalent convex problem
$$ \min_{\mathbf{x}\in \mathbb{R}^{n}, \mathbf{r}\in \mathbb{R}^{m}}\tau\|\mathbf{x}\|_{1} + \| \mathbf{r}\|_{1}~\textrm{subject to}~\mathbf{y}=\mathsf{\Phi} \mathbf{x}+\mathbf{r}, $$
(19)
where r is a slack variable that represents the corrupting vector, i.e., z=r 0, where r 0 is a sparse vector with unknown nonzero locations and possibly large magnitudes. The parameter τ controls the balance between the two 1 terms in (19). If


text:
Career Clusters are broad occupational groupings...an organizing tool defining education for post-secondary education and careers using 16 broad clusters of occupations and 79 pathways with validated standards that ensure opportunities for all students regardless of their career goals and interests.
Office Operations Associate
Career Clusters are a tool for a seamless educational system that:
- blends rigorous academic/technical preparation
- provides career development
- offers options for students to experience all aspects of a business or industry
- facilitates/assists students and educators with ongoing transitions
- provide a framework for continuing contemporary, high-quality programs
- provide a framework for seamless education
- provide more career options for students
- provide a framework for organizing and reorganizing the delivery of career and technical education and needed 21st Century Skills
- provide understanding of knowledge and skill transfer and verification of qualification
Career Cluster Framework
The cluster/pathway framework supports ongoing efforts to move from vocational education to career and technical education.
- Cluster Core Level--Skills and knowledge all students need within the cluster
- Pathway Level--Skills and knowledge necessary to pursue a full range of career opportunities within a pathway
- Career Specialties--Represents the full range of career opportunities within each path
A career pathway is a coherent, articulated sequence of rigorous academic and career related courses, commencing in ninth grade and leading to an associate degree, and/or an industry-recognized certificate or licensure, and/or a baccalaureate and beyond. A career pathway...
- is developed, implemented and maintained in partnership among secondary and postsecondary education, business, and employers.
- is available to all students, including adult learners, and designed to lead to rewarding careers.
- training for specific jobs or occupations
- knowledge and skill statements for this level would be created by industry standards and verified by business and industry representatives
- Represents the full range of career opportunities within each path

source: HuggingFaceFW/fineweb-edu


text:
Arkell Spring Grounds Monitoring Program
The City of Guelph obtains a portion of its municipal water supply from the Arkell Spring Grounds located in the northeast corner of the Township of Puslinch.
Over the last several years, as part of conditions for a Class Environmental Assessment, the City has been conducting extensive investigations and monitoring programs to increase its water taking from two new bedrock wells and three existing bedrock wells in the Arkell Spring Grounds.
The City has constructed new pumphouses and related infrastructure to support the additional water taking and increased pumping began in July 2011. To monitor the effects of the increased water taking, the City implemented a comprehensive groundwater and surface water monitoring program in the area of the Arkell Spring Grounds and Blue Springs Creek. The monitoring program began in January 2011 and will continue for a period of three and a half years.


text:
A frequency domain approach for controlling chaos in switching converters
Document typeConference report
Rights accessOpen Access
All rights reserved. This work is protected by the corresponding intellectual and industrial property rights. Without prejudice to any existing legal exemptions, reproduction, distribution, public communication or transformation of this work are prohibited without permission of the copyright holder
The purpose of this paper is the synthesis from the frequency domain standpoint of a controller for switching power converters with the aim to eliminate bifurcation and chaotic behavior. Firstly the paper analyzes the frequency response of previous delay-based chaos controllers unveiling that they are based in comb-filtering at multiples of the sub-harmonic half of the switching frequency. Secondly, chaos control is explored by using both a single notch filter and a bandstop filter at half of the switching frequency. It is demonstrated that the latter achieves chaos rejection while being an implementation-aware simplification of delay-based methods.
CitationRodriguez, E. [et al.]. A frequency domain approach for controlling chaos in switching converters. A: IEEE International Symposium on Circuits and Systems. "2010 IEEE International Symposium on Circuits and Systems". París: 2010, p. 2928-2931.


text:
The Role of Perinatal Quality Collaboratives
Perinatal quality improvement is a method to increase obstetric safety and promote health equity. Increasing trends of maternal deaths, life-threatening complications of pregnancy, and persistent racial inequities are unacceptable. This Narrative Review examines the role and strategies of perinatal quality initiatives and collaboratives to deliver safe and equitable maternity care and the evidence of demonstrated success. Key strategies to promote maternal equity through perinatal quality include communicating equity as a priority through leadership, leveraging data and enhancing surveillance, engaging in strategic partnerships, engaging community, educating clinicians, and implementing practice recommendations through collaboration.


text:
Hog factories and traditional family hog farms are two very different animals, but for the most part, North Carolina law treats them as though they were the same. For example, laws about how
hog waste must be handled differ little between small hog farms and factory ope
rations with 10,000 hogs. This despite the fact that 10,000 hogs generate as much waste (feces and urine) as 30,000 people! In fact, before 1993, North Carolina had almost
no regulations whatsoever in place to reduce pollution from the millions of hogs grown on factory farms. That's like building a super highway with no speed limit signs!
1989: State swine herd stands at approximately 2.57 million hogs.
Smithfield Foods, doing business as Carolina Foods, proposes to build the word's largest hog processing plant, located in NC. Plant would slaughter and process
24,000 hogs a day!
1990: State swine herd grows to approximately 2.8 million hogs.
State declines requests for an environmental impact analysis of the proposed Smithfield Foods plant, clearing the way for its construction.
1991: State swine herd grows by more than 30%, to 3.65
million hogs. Legislature prohibits counties from using zoning authority to restrict new hog farms.
1992: State swine herd stands at approximately 4.5 million hogs.
Hog farms of all sizes are virtually unregulated.
1993: State swine herd reaches 5.4 million hogs.
State adopts regulations to require operations with 250 hogs or more to register with the state and develop certified waste management plans by December 1997. No
permits required. Neighbors still have no public notice of proposed new factories.
1994: State swine herd up to 7
1995: State swine herd exceeds 8.2 million hogs,
up more than 50% in two years. An eight acre waste lagoon ruptures, releasing 22 million gallons of hog waste into the New River. Emergency inspections find widespread waste management problems at hog factories. State enacts legislation requiring hog houses and lagoons to be located no closer than 2,500 feet to schools, hospitals, or churches and 1,500 feet from dwellings. State enacts minimal training and certification requirements for animal waste system operators.
1996: State swine herd climbs to more than 9 million hogs.
State passes legislation that requires 1) operations with more than 250 hogs to obtain a general permit under the state's nondischarge program; 2) twice a year
inspections of hog factories; 3) setbacks from new or expanded hog houses and lagoons to be at 5,000 feet from property boundary or drinking well, and prohibited from floodplains (sprayfields are still allowed in floodplains); 4) notice of intent to construct or expand a hog operation given to adjacent landowners; and 5) strengthens operation training requirements.
1997: State swine herd approaches 10 million hogs,
up 285% since 1989. Legislature enacts two year moratorium on construction of new or expanded hog factories. Requires state officials to develop a proposed plan to
phase out lagoons and sprayfields. Restores power of local governments to use zoning authority with largest hog factories (i.e. only those with 4,500 hogs or
1998: Despite moratorium, state swine herd grows by more than 750,000 hogs because of exceptions to moratorium. Legislature extends moratorium for six months, until September 1, 1999.
Shortcomings in the laws regulating hog factories have their roots in various exemptions which were created to protect small farmers and their way of life. For example,
farming in North Carolina has traditionally been exempt from most federal and state environmental laws. Farmers also have traditionally been exempt from common forms
of local governance, such as local zoning rules. Hog factories have been the undeserving beneficiaries of these exemptions, allowing them to avoid the kinds of
basic regulation that apply to other major industries. The owners of hog factories have also been able to avoid regulation by hiding behind "right to farm" laws designed
to protect small farmers from nuisance suits. And major hog producers have used their considerable political clout in attempts to preserve these kinds of favorable laws.
In recent years some progress has been made. In 1993, state regulators adopted rules requiring that new waste lagoons be lined with clay and requiring operations with
more than 250 hogs to prepare a written waste management plan. In 1995 and 1996, after a series of catastrophic spills from waste lagoons, state lawmakers
passed laws related to permitting, siting, inspections, and other controls. In 1997, state lawmakers imposed a two year moratorium on construction of new hog factories
that has recently been extended another six months.
But these new laws and rules, while important, have not gone far enough to protect the environment; nor do they adequately protect the health and welfare of rural North
Carolinians. Consider the following shortcomings:
- Most new rules regarding technology and waste management practices do not apply to the thousands of factory farms that already existed before the rules were adopted.
- Even those factories in full compliance with the latest laws and regulations still rely on primitive open-air waste lagoons and sprayfields to manage
vast amounts of hog waste. This waste technology does not protect people or the environment when used in such high volume and concentrated in
North Carolina's wet climate, sandy soils, and flat coastal region.
- Much recent legislation simply calls for study and observation, not action. For example, in 1997 the legislature directed the state to develop a plan to
phase out and end the use of waste lagoons and sprayfields, but so far there is no state plan and no implementation.
- Hog factories are still not required to monitor groundwater or surface water in nearby creeks and streams to determine whether waste from
their hogs is contaminating neighbors' drinking wells or the environment.
- Odor is still entirely unregulated. Due to "right to farm" laws, hog factories are virtually immune from nuisance lawsuits brought by neighbors affected by factory odors.
- No laws or regulations are in place to deal with the huge quantities of ammonia nitrogen which are released into the air from hog factories. This
nitrogen ends up being deposited back into rivers and estuaries already choked by too much
nitrogen and other pollutants.
- Until recently, local citizens had almost no say in whether hog factories could locate in their communities. Local governments still have only
partial zoning authority over hog factories. Many local governments have still not used this authority to restrict the growth of new hog farms.
- Hog factories are allowed to spray waste within 75 feet of their neighbors' property and nearby streams; hog factories are also allowed to spray waste in floodplains which
are lands near rivers and streams that are subject to flooding.
- There are virtually no rules in place to limit the concentration of hog factories in environmentally sensitive or important watersheds or in populated areas. Some rural
residents are surrounded by hog factories on all sides!
- The owners of the majority of the state's 10 million hogs are not held responsible for environmental violations which occur at the contract farms where their hogs are raised.


Tips for Using a Rubber Float With Grout
grout float on tile
 Tim Stocker Photography / Getty Images
Anyone who has successfully laid a tile floor or wall knows the satisfaction of a neat tile job. To take a stack of fired ceramic sheets and stick them in place with wet mortar is something approaching magic.
Once you master the skill of tiling, you'll want to tile every part of your house. And the crowning touch of all tile installations is the application of grout. Knowing how to use a rubber float with the grout means the difference between a clean tile job that lasts for years, even decades, and a tile job that cracks and eventually falls apart.
Why Use a Rubber Grout Float?
Grouting is an important part of any tile installation. Grout fills the spaces between tiles, called grout joints, to create a continuous surface.
At first glance, the most logical way to add grout would be to squirt it into the seams, as you already do when caulking other areas of your house. Not so. The way grout is applied is more of the shotgun approach rather than the laser-targeted approach. Large mounds of wet grout are scooped into the entire tire surface—seams and tile surfaces alike. Then, the grout is wiped across the tile. Grout embeds in the tile seams but not on the tile surface. Excess is picked up and redeposited elsewhere on the tile.
The only way to apply grout properly is by using a rubber grout float, which consists of a rectangular non-stick gum rubber or soft nylon pad that is firm but flexible and which prevents the absorption of materials.
The user holds the float with a C-shaped handle. The process of grouting with a float includes filling the joints with freshly mixed grout and scraping the tiles clean of excess grout. It is a simple yet elegant technique that has served tile setters for centuries and it's still used today.
Choose the Right Float: Wall or Floor
Rubber grout floats come in two types: wall floats and floor floats. The chief difference is that wall floats have softer rubber pads than floor floats, which can be quite stiff.
Wall floats are generally easier to use and are better for reaching into corners, so they are a better all-around choice for beginner tilers. The tools you find at the store may not indicate whether they should be used for walls or for floors. Some may be called a universal float.
Compare the softness of the pads to identify the type. Sometimes it is worth spending a little extra for a quality float, especially if you have a large tile job or if you plan to tile other rooms.
Move the Float Diagonally
As a general rule, almost always move the grout float diagonally over the grout joints. This prevents the edge of the float from sinking into the joints and pulling out the grout.
Sometimes you have to work parallel to joints, such as when grouting along the edge of a wall or floor, but do so with care. Otherwise, sweep the float diagonally.
Use a Lower Angle for Filling
Fill the grout joints by spreading the grout across the tiles while holding the float at an angle of about 45 degrees to the tile surface. This is the standard for floor tile. A higher angle might pull out too much grout from the seams, while a lower angle will smear the grout across the tiles.
When tiling walls, you may find a lower angle (about 30 degrees) more effective for filling the joints.
You can also reduce the angle if you reach a problem section that doesn't seem to be taking the grout very well.
Use a Steeper Angle for Cleaning
When all grout joints in a work area have been filled, make a second pass with the float to remove excess grout from the tile faces. This time, hold the float at a steep angle of about 80 to 85 degrees—almost straight up and down. When working carefully, a steep angle can clean the tiles without pulling grout from the joints.
Leave the Grout Haze For Later
A rubber grout float does a nice job of scraping the excess grout from the tile faces, but it cannot make the tiles perfectly clean. It usually leaves a film of chalky grout residue that you clean up with a grout sponge after the grout has set.
Your cleaning pass with the float should remove all blobs and chunks of grout, but you can leave the haze for later. Clean off the grout haze with a special solution called haze cleaner applied with a clean sponge.


text:
An Invitation to Dance: A History of Social Dance in America is an online exhibition by the American Antiquarian Society. The essays and illustrations provide a terrific overview to the history of social dance, which is an important part of American history. In the 18th and 19th centuries, dancing was a very popular social event. Dances were fun for family and friends, but also provided a place to find romance and network – socially and politically.
The exhibition looks not only at the social aspects but also the language of dance and music, the fashion trends and the rules of etiquette of the time. An excellent bibliography will help you find more resources on the subject.
Want to see these dances in action? Check out America Dances! _PHONE_: A Collector's Edition of Social Dance in Film by Dancetime Publications (Greenfield Library DVD, GD 344). We also have a new book on the subject – Ballroom, Boogie, Shimmy Sham, Shake: A Social and Popular Dance Reader by Julie Malnig (available in Greenfield Library and the Music Library). And don't forget to search Dance in Video for the subject "social dances".


text:
"A 30-year loan of 1000 is repaid with payments at the end of each year. Each of the first ten payments equals the amount of interest due. Each of the next ten payments equals 150% of the amount of interest due. Each of the last ten payments is X. The lender charges interest at an effective annual rate of 10%. Calculate X."
I'm not quite sure how to solve this question. Since the first ten payments equal the amount of interest due, would it be right to assume the outstanding balance for the first ten years remain at 1000?
The answer should be X = 97.44
Can you use a spreadsheet? I'm not seeing a good way to go about it otherwise. That second 10 years is ugly.
Originally Posted by chewitard
Yes, 1000 is still owing after 1st 10 years.
And yes, 97.44 is the correct payment for years 21 to 30:
calculated (of course) using balance owing at end of 20th year.
b = balance owing (1000.00)
n = number of years (10)
i = interest rate (.10)
k = payment percentage (1.5)...150% of interest
Owing in n years:
b(1 + i - ki)^n
1000(1 +.10 - 1.5(.10))^10 = _PHONE_...
The 97.44 is then obtained from that.


text:
Akeyless Gateway should always be used with TLS to ensure all traffic is encrypted at transit.
If you are working with Load Balancers or reverse proxies in front of your Gateway, TLS should be used for all network connections.
The use of HTTP protocol is considered insecure and discouraged; thus, remote Gateway configuration is not supported over HTTP. If you wish to configure your gateway remotely make sure you do it over HTTPS.
To configure TLS, on your Gateway Configuration Manager under the General tab:
Select the cloud icon next to TLS Certificate
Upload a TLS Certificate and provide a TLS Private Key in a PEM format and Save.
Updating a TLS certificate can be accessed through the CLI by using the following command:
akeyless gateway-update-tls-cert --gateway-url <https://Your-Akeyless-Gateway-URL:8000> --cert-data <TLS Certificate(base64 encoded)>
The command's full parameters are:
cert-data: TLS Certificate (base64 encoded), this flag is ignored if
cert-file-name: Path to the file containing the TLS Certificate, this flag is ignored if
key-data: TLS Private Key (base64 encoded), this flag is ignored if
key-file-name: Path to the file containing the TLS Private Key, this flag is ignored if
gateway-url[=http://localhost:8000]: Akeyless Gateway URL (Configuration Management port).
Updated 2 months ago