text:
When you enter a URL in the Chrome Omnibar, that URL will be saved in the browser history and will show up when you type a similar query next time. This means that, if you have entered a wrong URL, that URL will be persistent and will always show up when you type a similar query. This can be rather annoying, and deleting the browser history doesn't clear it from the omnibar.
Here is a quick way to delete a URL from the Chrome omnibar.
Type the query in the omnibar and wait for the suggestion to show up. Use the down arrow key to select the wrong URL and press "Shift + Del" (In Mac, use "Fn + Shift + Del"). This will immediately remove the item from the omnibar.
1. This trick only applies to URL. You won't be able to remove search term with the "Shift + Del" key.
2. This trick applies to Firefox as well, except that you just need to press "Delete" instead of "Shift + Delete".


An Encylopedia Britannica Company
radiator
1 ENTRIES FOUND:
radiator /ˈreɪdiˌeɪtɚ/ noun
plural radiators
radiator
/ˈreɪdiˌeɪtɚ/
noun
plural radiators
Britannica Dictionary definition of RADIATOR
[count]
: a large, metal device that is next to the wall in a room and that becomes hot and provides heat for the room when hot water passes through it
: a device that is used to keep the engine of a vehicle from getting too hot see picture at car


text:
Surrounding Blocks of Code with Language Constructs
The Surround with feature allows you easily put expressions or statements within blocks or language constructs. This feature in WebStorm applies to:
|Custom folding region comments||Any fragment of code, where Surround With is applicable|
To surround a block of code
- Select the desired code fragment.
- Do one of the following:
- On the main menu, choose
- Press Ctrl+Alt+T.
A pop-up window displays the list of enclosing statements according to the context.
- Select the desired surround statement from the list. To do that, use the mouse cursor, up and down arrow keys, or a shortcut key displayed next to each element of the list.
Last modified: 22 May 2015

source: openbmb/Ultra-FineWeb


How To Start Logging With Laravel
Better Stack Team
Updated on May 4, 2022
In this tutorial, you will learn how to log the behaviour of your Laravel application. This will help you troubleshoot your application much more easily and quickly. Finding bugs can be frustrating and time-consuming. Luckily, Laravel comes with out of the box logging tools that will help a lot.
In application development, logging is crucial regardless of the platform or language. In this tutorial, we will take a look at one of the most popular PHP frameworks - Laravel.
Prerequisites
 - Laravel installed.
 - Basic knowledge of Laravel.
Step 1 — Getting To Know How Logging In Laravel Works
Laravel allows you to log messages about the behaviour of your application to files, the system of error logs, or even send them to Slack to notify your development team.
Laravel logging is based on channels. Channels are specific ways of writing a log message. Each channel may represent a different destination and you may send messages to multiple channels at once.
Monolog library
Laravel utilizes many popular open-source libraries. One of them is Monolog. It's a highly popular logging library among PHP developers, as it's easy to learn and very pleasant to work with. Monolog provides many ways to write logs such as writing them to files or sending them to email.
Feel free to learn more about Monolog in our Monolog basics logging tutorial.
Step 2 — Configuration
All the configuration options of your application's logging behaviour are located in the config/logging.php file. This file allows you to configure logging channels by adding new ones or updating current ones.
The configuration file contains one multidimensional array with two main keys. The first key is default and it looks like this:
'default' => env('LOG_CHANNEL', 'stack')
Copied!
This key sets the default logging channel. Any log that will be sent without specifying the channel will be directed to the default channel. Out of the box, stack is set to be the default channel.
The second key is channels. This key contains the array of channels that can be used for logging. The default stack channel mentioned above is defined here. Out of the box, the array of channels looks like this (note that this is just a part of the array, for full array, see the config file):
'channels' => [
 'stack' => [
 'driver' => 'stack',
 'channels' => ['single'],
 'ignore_exceptions' => false,
 ],
 'single' => [
 'driver' => 'single',
 'path' => storage_path('logs/laravel.log'),
 'level' => env('LOG_LEVEL', 'debug'),
 ],
 'daily' => [
 'driver' => 'daily',
 'path' => storage_path('logs/laravel.log'),
 'level' => env('LOG_LEVEL', 'debug'),
 'days' => 14,
 ],
 'slack' => [
 'driver' => 'slack',
 'url' => env('LOG_SLACK_WEBHOOK_URL'),
 'username' => 'Laravel Log',
 'emoji' => ':boom:',
 'level' => env('LOG_LEVEL', 'critical'),
 ],
 ...
 ],
Copied!
Channel Drivers
Every channel is powered by a driver. Driver sets where and how logs are recorded. You can think of drivers as Monolog handlers. Drivers are responsible for the actual logging to happen.
There are many built-in ready-to-use drivers or you can make your own. If you are familiar with the Monolog logging library, there is a monolog driver already created that can use any supported Monolog handler.
Most of those drivers are present in the configuration file out of the box, so it's recommended to take a look at them. This is the list of all channel drivers available in every Laravel application:
 - custom: a driver that calls a specified custom factory driver to create a channel
 - daily: a RotatingFileHandler based Monolog driver which rotates daily
 - errorlog: a ErrorLogHandler based Monolog driver
 - monolog: a Monolog factory driver that may use any supported Monolog handler
 - null: a driver that discards all log messages
 - papertrail: a SyslogUdpHandler based Monolog driver
 - single: a single file or path based logger channel (StreamHandler)
 - slack: a SlackWebhookHandler based Monolog driver
 - stack: a wrapper to facilitate creating "multi-channel" channels
 - syslog: a SyslogHandler based Monolog driver
Log Levels
Every channel has a level option. This option determines which log will or will not be processed based on the severity of the message. Less severe messages will not pass through the channel when the level is set high.
This is the full list of log levels
 - DEBUG: detailed debug information (LOWEST)
 - INFO : interesting events. Examples: User logs in, SQL logs
 - NOTICE: normal but significant events
 - WARNING: exceptional occurrences that are not errors. Examples: Use of deprecated APIs, poor use of an API, undesirable things that are not necessarily wrong
 - ERROR: runtime errors that do not require immediate action but should typically be logged and monitored
 - CRITICAL: critical conditions. Example: Application component unavailable, unexpected exception
 - ALERT: action must be taken immediately
 - EMERGENCY: emergency: system is unusable (HIGHEST)
Step 3 — Writing Log Messages
You can send messages to the log using the Log facade. Let's take a look at the following example:
use Illuminate\\Support\\Facades\\Log;
$message = "This is my first log";
Log::debug($message);
Log::warning($message);
Copied!
Given the current un-edited configuration that comes out of the box with Laravel, this code will create two entries in the storage/logs/laravel.log that will look like this:
Output:
[2021-04-30 09:48:54] local.DEBUG: This is my first log
[2021-04-30 09:48:54] local.WARNING: This is my first log
Copied!
Writing To Specific Channels
By default, all logs are directed to the stack channel. If you want to send a message to a specific channel that is not the default channel, you can do that by calling channel() method on the Log facade.
use Illuminate\\Support\\Facades\\Log;
$message = "This is my first log";
Log::channel('daily')->debug($message);
Copied!
Given the current configuration, this will create a new daily log storage/logs/laravel-YYY-MM-DD.log (based on the current date) that will be active for 14 days. In this log file you will see the following entry:
Output:
[2021-04-30 10:07:40] local.DEBUG: This is my first log
Copied!
Contextual Information
You can also provide contextual data in the form of an array. This data will be formatted and printed alongside the log message.
For example, you can provide information such as the user that triggered the error or the current URL:
use Illuminate\\Support\\Facades\\Log;
Log::error("Error happend :(", ["id" => "12345", "username" => "some_guy"]);
Output:
[2021-04-30 10:44:56] local.ERROR: Error happend :( {"id":"12345","username":"some_guy"}
Copied!
Step 4 — Building Log Stack
As mentioned in the Channel drivers section, stack driver allows us to stack multiple channels together and send one message to all the channels at once. We can make a stack of multiple channels where each has a different driver therefore we can create a simple hierarchy. Let's take a look at the following example:
'channels' => [
 'stack' => [
 'driver' => 'stack',
 'channels' => ['debug-channel','error-channel'],
 'ignore_exceptions' => false,
 ],
 'debug-channel' => [
 'driver' => 'single',
 'path' => storage_path('logs/debug.log'),
 'level' => env('LOG_LEVEL', 'error'),
 ],
 'error-channel' => [
 'driver' => 'single',
 'path' => storage_path('logs/error.log'),
 'level' => env('LOG_LEVEL', 'error'),
 ],
]
Copied!
In the code above, we have created a stack of channels consisting of debug-channel and error-channel.
The debug-channel sends messages to the storage/logs/debug.log file and its level is set to debug. That means that every log message sent to


text:
jackdaws in snow
all our dreams
Comment: a haiku set in winter time (fuyu 冬), inspired by various Japanese woodblock printings such as Crow on Snowy Branch by Watanabe Seitei, Two crows in snow by Ito Sozan and Crows in Snow by Takahashi Biho. The dark plumage of the jackdaw (nishikokumarugarasu 西黒丸烏) stands in stark contrast to the whiteness of the snow (yuki 雪), making it clearly visible even at a distance. As underlined by the poet himself, 'jackdaws in a dream can mean positive things including finding love, and that's been a driving force in my life'; a positive symbol that can be shared by each reader, inscribed within classic aesthetic coordinates. Note the semivowel 'w' in line 1, which gives a sense of openness and softness to the opening ku, and the reiteration of the sound 'th' in the following verse, which effectively renders the sense of revelation underlying this poem.


- on 6th September, 2018
Balally Parish Meetings 24th, 25th & 27th September 2018
A series of meetings, to chat about the future of Balally Parish, will be
held as follows;
24th, 25th & 27th September, after the 10am Mass
24th, 25th & 27th September, 7.30pm in the Parish Centre Coffee Dock
You are all welcome to come along and participate.
Items to be discussed include;
2. Why are we no longer captivating so many of our young people for the message of Jesus Christ?
3. Which models of pastoral activity and reflection are most likely to win the hearts of young people for the message of Jesus?
4. How do we teach young people about prayer?
5. How can our parishes respond to these challenges?
6. Which aspects of our dominant culture make it harder for people to understand the message of Jesus?
Skin Color
Layout Options
Layout patterns
Boxed layout images
header topbar
header color
header position


text:
I have a network consisting of about 500 nodes and a few thousand edges (a picture of this is attached) which I imported from a .CSV file. I have another table, containing some 200 more connections in the following format in a CSV file as well:
Gene Connection Gene
gene1 1 gene2
gene3 1 gene4
gene1 1 gene4
The 1's simply represent a connection in an unweighted graph between each gene pair. I would like to import these connections into Cytoscape, so each previously connected pair of nodes has 2 connections between them. Is there a way to do this?

source: m-a-p/FineFineWeb


In English, 'interchangeable' is used to express two things that can be swapped and used for the same purpose. It's a bit different than replaceable because that refers to one thing's ability to be swapped. Exchangeable is also slightly different because it means something can be replaced by a different thing. For example:
My glasses have interchangeable lenses. I use the dark lenses when I am outside during the day, and the clear ones when I am indoors or at night.
My laptop has a replaceable battery, in case the original one fails.
Money is exchangeable for goods and services.
From what I understand, 'ersetzbar' means'replaceable' and 'umtauschbar' means 'exchangeable'; but 'austauschbar' seems to be used for all three. Is this correct, and if so is there a more precise word for 'interchangeable'?
 - 1
 Why do you think a dictionary cannot answer this question? – Torsten Link Dec 28 '20 at 23:01
 - _USER_ I consulted Collins dictionary, which says umtauschbar means exchangeable, and ersetzbar means replaceable - but it says austauschbar can apply to all three. So does Langenscheidt. Cambridge says austauschbar can mean exchangeable or interchangeable. Also, I found this question _URL_-US/questions/_PHONE_ in which the answer given states that austauschbar and ersetzbar mean the exact same thing. That is why I posted this question. I'm confused as to how I would accurately communicate interchangeability, rather than exchangeability or replaceability. – teneyed Dec 28 '20 at 23:29
 - The only other way I can think to express what I'm not understanding, is if I were to say "Die Komponenten sind austauschbar." - how would someone know I meant interchangeable? Couldn't they mistake that for meaning you could swap the components for something completely different (like some magic beans for example's sake) or that the components can be replaced, should the need arise? – teneyed Dec 29 '20 at 0:08
 - There is a legitimate point here, both replaceable and interchangeable, having different meanings in English, and both translate to austauschbar. On the other hand, if the exact German meaning isn't clear from context, you could add an adverb to make it so; gegenseitig seems to work. It's often impossible to transfer the specific meaning of a word in one language to a single word in another language. dict.cc is useful for resolving this kind of issue. – RDBury Dec 29 '20 at 2:05
 - Add this explanation to your wuestion, then I will remove my close vote... – Torsten Link Dec 29 '20 at 8:16
It is the context that matters for these words in German. There are no hard rules really noted - so the following comes from experience. In the examples I use a valve (Ventil) in a radiator (Heizung).
Is used when I get a part that is exactly like the one that was there. For example to replace an AAA battery that is empty with a new one. Same build, same function. Most often used in the context of getting the same item as before and in repairs. As with "Ersatz" (replacement) the action "ersetzen" implies some item that is no longer working / functioning as expected.
"Das Ventil in der Heizung leckt. Kann das ersetzt werden?" "The valve in the radiator leaks. Can this be replaced?"
Is used when I want to exchange something. Rather even more restricted than "ersetzen" for items as used during guarantee replacements. Note that this can also mean I can get a very different item than the original purchase as the replacer sees fit.
"Das ersetzte Ventil in der Heizung leckt schon wieder. Ich fordere einen Umtausch." "The replaced valve in the radiator already leaks again. As it is under guarantee I expect a replacement."
While this word can be used for both the previous words (and will be understood by Germans after a bit of thinking) it can also be used in a broader context. From the verb "austauschen" its meaning is the replacement by a functionally equivalent item. Not necessarily the same. Implies also that the original item still functions although for whatever reason.
"Das Ventil in der Heizung ist schon ziemlich alt. Kann das ausgetauscht werden?" "The valve in the radiator is rather old by now. Can this be replaced?"
In context of language either "ersetzbar" or "austauschbar" applies if one word (or phrase) can replace another without losing the context.
With regards to money the more common word used by Germans is "bezahlbar" (payable). The monetary phrase "is exchangable for" in German becomes more often "hat den Besitzer gewechselt" (has changed owner(ship)) or "hat einen Wert für" (has a value for).
 - 1
 I think a better translation for bezahlbar is affordable. – RHa Dec 29 '20 at 15:37
 - "Wechselbar" würde ich noch ergänzen. – user unknown Dec 29 '20 at 16:44
Your Answer


Jet Ski
From Wikipedia, the free encyclopedia
 (Redirected from Kawasaki JS300)
Jump to: navigation, search
European Personal Watercraft Championship in Crikvenica
Jet Ski is the brand name of a personal watercraft manufactured by Kawasaki.[1] It was the "first commercially successful" personal watercraft in America, having been released in 1972.[1] The term is sometimes used to refer to any type of personal watercraft.
Common noun[edit]
Though the proper noun "Jet Ski" is a registered trademark of Kawasaki, the common noun "jet ski" refers to small recreational watercraft.[2] The Oxford English Dictionary records the term in use in 1961 to describe the aquatic motorbike, and in 1948 to designate a jet-propelled aircraft equipped with skis.[3]
 1. ^ a b Josephson, Paul R. (2007). Motorized Obsessions: Life, Liberty, and the Small-Bore Engine. JHU Press. p. 150. ISBN 9780801886416. Retrieved 2012-08-24.
 2. ^ "jet ski". Merriam Webster Dictionary. Retrieved 2013-05-04.
 3. ^ "jet ski". Oxford English Dictionary. Retrieved 2013-05-04.
External links[edit]


How to Change Nest Lock Code
It's important to know how to change your Nest lock code in order to keep your home secure. By regularly updating the code, you can ensure that only those with access are allowed entry into your home.
How to Change Nest Lock Code
Changing the code regularly will also help protect against unauthorized access and give you peace of mind knowing that your property is protected.
Changing your Nest Lock code has many advantages. First, it helps ensure the security of your home by making it more difficult for someone to gain access without permission. Secondly, it gives you peace of mind knowing that you can easily change the lock code at any time and quickly regain control over who can enter your home.
Finally, changing the lock code on a regular basis ensures that the same people don't always have access to your home, which can help protect against potential security risks. In this blog post, You will learn in detail how to change nest lock code.
Tools You Will Need
 - A screwdriver that is compatible with the screws used in your Nest system.
 - A flathead screwdriver (for small screws).
 - A Phillips head screwdriver (for larger screws).
 - An Allen wrench set, if necessary.
 - Replacement Nest Lock Code components, if needed.
 - An electric drill and bit set, if necessary.
 - A level tool to ensure that all components are installed straight.
 - Wire cutters or strippers for working with the wiring.
 - Wire nuts for connecting wires together securely.
 - Electrical tape for sealing connections in the wiring.
Step-by-Step Processes for How to Change Nest Lock Code
Step 1: Inspect the Nest Lock
Before you can change the Nest Lock code, you will need to inspect it to make sure that there are no issues or problems with the device. Make sure that all screws and components of the lock are in good condition and properly secured.
Step 2: Access the App
Once your inspection is complete, open up the Nest app on your device. You can access the Nest Lock in the settings menu near the top of your screen. Once you have accessed the Nest Lock settings page, you can change your current code. From here, you can enter a new four-digit numerical code that will be used to unlock the door.
Step 3: Confirm Your New Code
After you have entered your new code, you will be asked to confirm it by entering it again. Double-check that the code is correct before proceeding. Once you have confirmed your new code, click "save changes" to ensure that the new code is properly updated.
Step 4: Test Your New Code
Now it's time to test out your new code and make sure that it works correctly. Unlock the door with your new code, then lock it again and confirm that everything is working properly. After you have tested your new lock code, deleting the old code from the app is important. This ensures that no one can use the old code to unlock the door.
Make Sure That It Works Correctly
Step 5: Change the Batteries
If your Nest Lock is battery-powered, now would be a good time to change out the batteries. This will help keep the lock functioning properly and prevent any issues from arising.
Finally, update your profile in the app to reflect the change in your Nest Lock code. This helps ensure that all other users have access to the new lock code. By following these steps, you can easily change the Nest Lock code to ensure that your home is secure. Stay safe and enjoy the peace of mind that comes with knowing your home is protected.
You have now learned how to change the Nest Lock code. We hope this guide has been helpful and provided you with the knowledge needed to keep your home safe and secure. If you encounter any problems or have any questions along the way, please don't hesitate to contact us for assistance.
Tips for How to Change Nest Lock Code
 1. Make sure to update the code in all parts of your Nest system. This includes the lock and other components using the same access code.
 2. Change your code frequently, as recommended by Nest security experts. It is also wise to set up two-factor authentication if available for additional protection.
 3. Use a unique combination of numbers and letters to create your access code, as this will make it harder for anyone else to guess the lock code.
 4. Ensure that no one else knows or has access to your code, even if they are family members or close friends. It is important to keep it confidential at all times.
 5. It is also important to keep your door locked at all times with the Nest lock, as this will prevent any unauthorized access to your home or business property.
 6. Do not share your code with anyone, no matter how much you trust them. This includes giving it out in public places such as social media, chat rooms, or forums.
 7. If you have multiple locks in your home or business, ensure they all use the same code for ease of use and uniformity. This will also prevent anyone from guessing the access code for any particular lock.
Use a Unique Combination of Numbers
Following these tips will help to ensure that your Nest lock is properly secured and working at its best. By changing your lock code frequently and ensuring that no one else has access to it, you can rest assured that your home or business property is safe from any potential intruders.
How Long Does It Take to Change the Code?
Changing the code on your Nest lock is a relatively easy process that should not take long to complete. Depending on how many combinations you want to try, it could take anywhere from a few minutes up to an hour or more.
It's important to be patient and take time when changing the code to get it right the first time. To begin, open the Nest app and select your lock. Then enter the current code to unlock it and select "Change Code."
Be Patient and Take Time
You'll be asked to create a new 4-8 digit combination from there. Once you've set your new code, press the "Save" button to confirm it. It's always a good idea to test the new code a few times before you finish to make sure it's working properly.
Finally, remember that you can always reset the code if you ever forget it or want to change it again down the road. To do this, you'll need to enter the default factory code (usually either 1234 or 0000) and then follow the same steps outlined above.
What Type of Battery Required to Change the Lock Code?
When changing the Nest Lock code, you will need to ensure you have a CR123A battery on hand. This type of battery is typically used in items such as cameras and other electronic devices.
It is important only to use this type of battery when changing the lock code for your Nest unit so that it will work properly. Once you have the correct type of battery, you can follow the instructions on how to change the lock code for your Nest unit.
To begin, remove the faceplate from the Nest unit by gently pushing it away from the main body. On the back of this plate, you will see a small slot that contains a single CR123A battery.
Remove the old battery and replace it with a fresh one. Once you have done this, replace the faceplate and make sure that it is securely in place. Now you are ready to begin changing your Nest lock code. Using the provided instructions, enter the new code of your choice into the keypad on the Nest unit.
Is It Possible to Change the Nest Lock Code Remotely?
Yes, with the help of Nest x Yale Lock, you can change your lock code remotely. This smart door lock allows you to control and manage access to your front door using a smartphone or tablet.
The device features a built-in keypad that lets users set up their own unique code in order to gain entry. And if desired, you can also change the code directly from your phone or tablet.
To change your Nest x Yale lock code remotely, open up the Nest app on your device. Then select the 'Security' tab and tap on the name of your lock to enter its settings page. After that, scroll down until you find the 'Code' section and select the 'Change Code' option.
This will show you a screen where you can type in your new code. Once you're done, click 'Save' to finish up the process. With this method, changing your Nest lock code is quick and easy. But before doing so, make sure to choose a unique and difficult to guess code. This will ensure the security of your home remains intact.
Conclusion
In conclusion, changing your Nest lock code is a simple and straightforward process that can be done in a few easy steps. First, open the Nest app on your mobile device and tap the settings icon. Next, select the "Edit Lock Code" option and enter your new code.
Regularly Change Your Lock Code
Finally, confirm the new code to save it. Following these steps will help ensure that you have a secure, reliable lock code for your Nest device. Along with this, it is important to regularly change your Lock code in order to keep your home safe and secure. I hope this article has been beneficial in learning how to change nest lock code. Make Sure the precautionary measures are followed chronologically.
Leave a Comment


text:
Ogden's Pondweed is an annual, fully submerged aquatic plant species that has very thin, branch-like stems. It has very narrow leaves that are a greenish-brown in colour and are 5-7 cm long. They can occasionally produce fruit in the shape of a spike that is 5-11 mm long. This species can be very hard to distinguish between other Pondweed species and generally grows near these other species.
Habitat and Biology:
This species is considered to be rare globally. It only occurs in the United States at 2 sites in western Connecticut, 3 sites in central New York, 2 sites in central Vermont, and 2 sites in western Massachusetts. In Canada, this species is only found at 2 sites in southeastern Ontario. These sites are located south of Perth at Murphy's Point Provincial Park and Davis Lock 38 on the Rideau Canal. These sites can be found in the very southeastern part of The Land Between.
Ogden's Pondweed prefers the clear waters of lakes, ponds, and slow-moving streams. It can also commonly be found with many other Pondweed species, which makes it very hard to distinguish and identify. This species is also thought to prefer hard alkaline water, since both Ontario sites are found by marble bedrock. More research is needed to identify other possible populations, but also other habitat requirements since not much is currently known.
Ogden's Pondweed reproduces by seeds and the production of winter buds, which are called turions. Fruit can be found in the mid-summer months and turions replace them in the fall. Seeds and winter buds are dispersed by either water or waterfowl.
Conservation and recovery strategies:
Not much is known about Ogden's Pondweed so it is very important to continue vital research on the location, biology, and habitat requirements of this species. The Government of Ontario has plans to continue to locate other areas where this species may be growing- since it grows underwater with other Pondweed species it can be very hard to identify. Where known locations are, further research will be put into place to determine size, habitat, population dynamics, and threats. Habitat is automatically protected where Ogden's Pondweed is found, and there are plans in place to rehabilitate current and future habitats.
Government of Ontario. 2014. Ogden's Pondweed. Retrieved from: _URL_
COSEWIC. 2007. COSEWIC assessment and status report on the Ogden's pondweed potamogeton ogdenii in Canada. Committee on the Status of Endangered Wildlife in Canada. Ottawa. vi. + 19 pp. _URL_
Interested in learning more about Nature? Check out our blogs!
The amount of calcium (Ca) in our freshwater lakes is seeing a major reduction. This is due to the lack of calcium in our forest floor from acid rain and …Read More
The State of Ontario's Biodiversity 2020: Summary is an information-rich review of the most recent biodiversity research in Ontario. The summary addresses areas in which we have succeeded in improving …Read More
The Government of Canada is in the process of developing Canada's first National Adaptation Strategy for climate change. Over the last several months the government has consulted with experts and …Read More


Published On: Thu, Dec 3rd, 2020
3 Routine Costs Associated with Running a GP Surgery
Running a GP surgery is an important and vital role within the community. Because there are so many people that depend on your GP surgery, you need to ensure that you are running things properly from a financial perspective so that you can continue to give people the quality healthcare that they need on a regular basis.
GP surgery
If you are in the process of creating a budget for a new GP surgery, or even if you are currently evaluating the budget of your existing surgery, there are a number of routine costs that you are going to need to factor in and bear in mind.
Here are three such costs for you to consider as you create your budget.
1. Disposable Medical Supplies
Every medical facility now more than ever before is making use of disposable supplies like aprons, masks, gloves, and other PPE (personal protection equipment). While those within the medical community are no strangers to using PPE on a regular basis, the current situation that has unfolded over the last year has made it absolutely necessary to use such disposable equipment even more frequently than before.
Moreover, patients and visitors to your GP surgery are also required to use PPE as well as hand sanitizer. This has made it necessary for GP surgeries to factor such things into their own budget. Make sure that you have the cost of these and all of your other disposable GP Surgery Supplies factored into your monthly budget.
2. Equipment Maintenance
Aside from disposable medical equipment, your GP surgery is going to have plenty of other medical equipment on hand. Things like blood pressure cuffs, examination couches and beds, and diagnostic kits that include otoscopes need to be maintained properly so that they can be relied upon to work whenever they are required.
Since these items play such an integral role in the day-to-day operations of your surgery, you need to replace them whenever they fall into disrepair and take measure to maintain them so as to extend their lifetime. It is important to remember, though, that sooner or later, such things will need to be replaced entirely, and your budget needs to reflect that.
3. IT
When you think of a GP surgery, your mind might not initially jump to IT. However, all medical practices these days must use their fair share of technology in order to keep their practice running smoothly. Such software as can help to schedule appointments, keep medical records current, and act as cybersecurity to keep such records safe and secure.
Many GPs are also turning to online consultation forms in order to help alleviate the workload on the surgery itself. Such online forms can help patients get the advice and guidance they need without necessarily having to see the doctor. Such technology can go a long way to helping to improve the operations of your practice but bear in mind that they do come at a cost.


In Limble it is possible to share tasks with vendors or other people outside of your organization. This article will show you how to do that and teach you how the process works.
Share Task With Vendor
In the upper right corner of a task you will see a "Share" button. When you click it, a drop down menu will appear. Select the option to "Share Task Externally."
Next, you will need to choose a person or vendor to share the Task with. If you already have added your vendors to Limble you can select the green "Pick Vendor" button to select a vendor. (Click here to learn how to add vendors.) If you do not have the vendor added to Limble you can type their email in the field labeled "To:". The benefit of having your vendors entered into Limble is that all of their past tasks will be organized and you'll be able to look up their history.
Once you select the "Share Task" button, the Vendor will receive an email with a link to the task. When they click the link, a browser page will open and it will contain the task as if they were a Limble user at your organization. They will be able to follow the instructions on the task and complete them. They can also upload the invoice for their services. However, they will not be able to see anything else on your Limble account.
When the Vendor selects the "Finish" button, they will be logged out of the Limble task and the person who assigned the Task will be notified so they can review the work performed by the vendor.
Did this answer your question?


text:
Implementation of Low-Power Built in Test Compression Capabilities in Programmable PRPG
This paper describes a low-power (LP) programmable generator capable of producing pseudorandom test patterns with desired toggling levels and enhanced fault coverage gradient compared with the best-to-date built-in self-test (BIST)- based pseudorandom test pattern generators. It is comprised of a linear finite state machine (a linear feedback shift register or a ring generator) driving an appropriate phase shifter, and it comes with a number of features allowing this device to produce binary sequences with preselected toggling (PRESTO) activity. We introduce a method to automatically select several controls of the generator offering easy and precise tuning. The same technique is subsequently employed to deterministically guide the generator toward test sequences with improved fault-coverage-to pattern- count ratios. Furthermore, this paper proposes an LP test compression method that allows shaping the test power envelope in a fully predictable, accurate, and flexible fashion by adapting the PRESTO-based logic BIST (LBIST) infrastructure. The proposed hybrid scheme efficiently combines test compression with LBIST, where both techniques can work synergistically to deliver high quality tests. Experimental results obtained for industrial designs illustrate the feasibility of the proposed test schemes and are reported herein.


Working with Dates in IBM BPM
Many of us (ibm bpm developers) are wondering on perform certain operation like comparing dates, find difference between dates and such stuff as Date not a simple type but is complex system object. But thanks to bpm suite, the implementation to do these operations are all already in place and if we give simple syntax which we use with simple types it will do the job. Here a some of the operations which I would like to illustrate in this post.
How to Comparing date1 and date2?
Comparing dates is as simple as comparing two integers.
Suppose I have two date variables tw.local.date1 and tw.local.date2.
In order to compare dates we just have to use the statements as shown below.
 tw.local.date1 > tw.local.date2 or
 tw.local.date1 < tw.local.date2
Above statement will be evaluated to true or false in the similar way when used with integers.
Above statements will consider time stamp as well. If you want to check this irrespective of time, then first set the hours, min and seconds for these dates to same values and then compare. You have to first set hours, seconds and then milliseconds.
How to Compare date to current date?
For this, first we need to get the current date and store it in a variable.
var currentDate= new TWDate();
then set currentDate and hours, seconds and milliseconds to same value and then compare like above.
To set the hours, minutes and seconds you can use script similar to the one shown below.;
How to increase the 'n' no of days to a date?
You can just get the date from and add number of days and set that value to again. This will increase the number of days automatically.Refer to below script. + X number of days)
Below scenarios will be automatically taken care when we add days.
scenario1: if = 3/12/2013, if we want to add 3 days to this date, the final date will become 6/12/2013
scenario2: if = 31/12/2013, if we want to add 3 days to this date, the final date will become 3/1/2014. We don't have to explicitly Change the month and year.
scenario2: if = 31/10/2013, if we want to add 3 days to this date, the final date will become 3/11/2013. We don't have to explicitly Change the month.
Hope you find it use full.
 1. Hi Anna
 please explain what is dojo toolit, how it is related with coach view
 2. Hi
 i can't able to set the hours and minutes and seconds value as you defined previously.
 var currentDate= new TWDate();
 Try this:
 var currentDate = new TWDate();"Current Date: " + currentDate);
 currentDate.setDate(currentDate.getDate() + parseInt(tw.env.Days)); = currentDate;
 currentDate.setMinutes(currentDate.getMinutes() + parseInt(tw.env.Mins)); = currentDate;"xxx: " +;


text:
The Queensland character is a literary and political devise. But did it really exist? I argue that putting aside groups of 'characters' that happen to live in Queensland, the Queensland character is an imagining of society where the history is very different. The key point is that the 'Queensland character' is not the 'character' of philosophical traditions, but has evolved, as elsewhere, into an excuse for character deficiencies.
I am exploring the subject in a new book with the working title of 'Horizon Worldviews in Queensland: Re-Imaging the Society Beyond the 'Queensland Character'. I am making the drafting process open as a series of post on one of my blogs, 'Was There Ever A Queensland Character?' This site houses selected extracts of the drafting, as follows:
Even among Queensland historians the opportunity to rigorously examine the thinking behind the commonly used phase 'Queensland character' has never before been taken up. It is not that Queensland historians have not alluded to the use of the phrase. The much more common usage among historians and other scholars is in reference to the material construct known as the 'the Queenslander'. The discussion of the allegedly uniquely-designed Queensland house spins around on the idea of 'character', and more precisely 'heritage character' and value. Social historians have frequently used the phrase in other ways. The idea of 'Queensland character' has two other major applications, in references to folklore and to literature more broadly, to the characterisation of Queensland regions in short stories, essays, poems, and novels. In this latter case, the literary function of the 'Queensland character' crept into the common Australian historiography. The history of Queensland was defined by a personable character.


text:
PRO-MELTER RS mark F (formate basis)
Liquid de-icing reagent PRO-MELTER RS mark F – is an effective deicing reagent for runways and aprons. It meets all the strict environmental requirements as well as the requirements for corrosion resistance. PRO-MELTER RS-F can be effectively used on airfield pavements at temperatures up to -34 ° C. In some cases, it is possible to use it at the lower temperatures increasing the application rate.
Having a weather forecast of a possible ice formation or during the beginning of ice formation process PRO-MELTER RS-F is applied on the surface cleaned from snow and ice. Ice formation preventing mode involves regular repetition of the reagent application, corrected by the weather conditions and the state of the band.
Information about corrosive action
Specially developed corrosion inhibitors guarantee the safety of materials used in the aircraft industry and airport constructing industry. Tests are carried out in accordance with SAE AMS 1435.
Information about the environmental impact
PRO-MELTER RS F is fully biodegradable within 14 days
Biodegradation - 97%
Biochemical oxygen demand in 5 days - 0.008 kg / kg
Chemical oxygen demand - 0.112 kg / kg.


Preparatory studies
Study of Female Head to Right by Burne Jones
Study of Female Head to Right, 1889
Burne-Jones produced studies and drawings as research for larger drawings, watercolours and tapestries. Including studies made for major works such as his 'Pygmalion Series', 'The Briar Rose Series' and 'The Wheel of Fortune'. They reveal Burne-Jones' exhaustive method of building compositions and his passion for Romantic and classical literature.


Where is the Set data type?
Hello! I'm new to Xojo and I'm tying to find the Set data type.
I've done a good bit of searching through the language reference and the forum, and I can't seem to find anything. Is it called something different in Xojo?
Thank you
That doesn't exist. The closest is a Dictionary, using just the Key with no corresponding Value.
var mySet as new Dictionary
mySet.Value( "a" ) = nil
mySet.Value( "b" ) = nil
mySet.Value( "A" ) = nil // Won't add it again
if mySet.HasKey( "b" ) then
 ...
end if
You could also design a class around this if you want a better or clearer API.
1 Like
its more or less a array where you add a value only once. and after that the values not change.
you could use extends to add this feature to an array, using a method to check
if value is not there, or create a simple class that simulate your set if you need 100% the same.
As I would understand it, one advantage of Kem's approach is that Searches (and establishing whether something is or is not a member) will be faster using a Dictionary than an Array. Searching in a large Dictionary using a Key is fast. Searching a large Array using a value is not so fast.
Thanks for the replies. Kem's solution seems to be the best, since using an array would forgo the runtime advantages of a dictionary.
@Kem, I have a question about line 4 of your example. Are string keys in Xojo case-insensitive?
From: _URL_
An object that contains a list of key-value pairs. Both keys and values are Variants. ASCII String keys are case-insensitive, but non-ASCII String keys can be case-sensitive. String keys are encoding-sensitive.
and
String Key Differences
Dictionaries use hashes for their lookup functions. Because of this, string keys need to match exactly; otherwise the dictionary will not consider them equal. The only exception to this rule is with regard to string case. The characters "a" and "A" are treated as identical in dictionary keys because of a case-insensitive hashing function. However, non-ASCII characters such as "é" and "É" are not treated as identical in dictionary keys, even though they are equal in a direct string comparison.
While a UTF-16 string can be compared to a UTF-8 function in your code, they will provide different hashes when working with dictionaries.
Edit: also a good read:
2 Likes
Thanks for finding that link. I've updated it with API 2.0 calls.


text:
Definition of elbowing
p. pr. & vb. n. - of Elbow
The word "elbowing" uses 8 letters: B E G I L N O W.
Direct anagrams of elbowing:
Words formed by adding one letter before or after elbowing (in bold), or to begilnow in any order:
h - behowling l - bellowing bowelling
Words within elbowing
not shown as it has more than seven letters.
List all words starting with elbowing, words containing elbowing or words ending with elbowing
All words formed from elbowing by changing one letter
Other words with the same letter pairs: el lb bo ow wi in ng
Browse words starting with elbowing by next letter
Previous word in list: elbowed
Next word in list: elbowroom
Some random words: dhak


Convert kg/hr to bar/h | kilogram (petrol) per hour to barrels fluid per hour
Oven photos> Building plans> Food nutrients> Building details> Cooking> Firing ovens> Flour measures>
flow rate conversion
Converting kilogram (petrol) per hour to barrels fluid per hour in flow rate units scale.
Category: main menuflow rate menuKilograms (petrol) per hour
Amount: 1 kilogram (petrol) per hour (kg/hr) of flow rate
Equals: 0.012 barrels fluid per hour (bar/h) in flow rate
flow rate from kilogram (petrol) per hour to barrel fluid per hour Conversion Results :
Enter a New kilogram (petrol) per hour Amount of flow rate to Convert From
* Enter whole numbers, decimals or fractions (ie: 6, 5.33, 17 3/8)
* Precision is how many numbers after decimal point (1 - 9)
Enter Your Amount : Precision :
TOGGLE : from barrels fluid per hour into kilograms (petrol) per hour in the other way around.
CONVERT : between other flow rate measuring units - complete list.
Conversion calculator for webmasters.
Flow rate. Gas & Liquids.
This unit-to-unit calculator is based on conversion for one pair of two flow rate units. For a whole set of multiple units for volume and mass flow on one page, try the Multi-Unit converter tool which has built in all flowing rate unit-variations. Page with flow rate by mass unit pairs exchange.
Convert flow rate measuring units between kilogram (petrol) per hour (kg/hr) and barrels fluid per hour (bar/h) but in the other reverse direction from barrels fluid per hour into kilograms (petrol) per hour.
conversion result for flow rate:
FromSymbolEqualsResultToSymbol
1 kilogram (petrol) per hour kg/hr = 0.012 barrels fluid per hour bar/h
Converter type: flow rate units
This online flow rate from kg/hr into bar/h converter is a handy tool not just for certified or experienced professionals.
Advertisements
First unit: kilogram (petrol) per hour (kg/hr) is used for measuring flow rate.
Second: barrel fluid per hour (bar/h) is unit of flow rate.
0.012 bar/h is converted to 1 of what?
The barrels fluid per hour unit number 0.012 bar/h converts to 1 kg/hr, one kilogram (petrol) per hour. It is the EQUAL flow rate value of 1 kilogram (petrol) per hour but in the barrels fluid per hour flow rate unit alternative.
How to convert 2 kilograms (petrol) per hour (kg/hr) into barrels fluid per hour (bar/h)? Is there a calculation formula?
First divide the two units variables. Then multiply the result by 2 - for example:
0.0116526529951 * 2 (or divide it by / 0.5)
QUESTION:
1 kg/hr = ? bar/h
ANSWER:
1 kg/hr = 0.012 bar/h
Other applications for this flow rate calculator ...
With the above mentioned two-units calculating service it provides, this flow rate converter proved to be useful also as a teaching tool:
1. in practicing kilograms (petrol) per hour and barrels fluid per hour ( kg/hr vs. bar/h ) values exchange.
2. for conversion factors training exercises between unit pairs.
3. work with flow rate's values and properties.
International unit symbols for these two flow rate measurements are:
Abbreviation or prefix ( abbr. short brevis ), unit symbol, for kilogram (petrol) per hour is:
kg/hr
Abbreviation or prefix ( abbr. ) brevis - short unit symbol for barrel fluid per hour is:
bar/h
One kilogram (petrol) per hour of flow rate converted to barrel fluid per hour equals to 0.012 bar/h
How many barrels fluid per hour of flow rate are in 1 kilogram (petrol) per hour? The answer is: The change of 1 kg/hr ( kilogram (petrol) per hour ) unit of flow rate measure equals = to 0.012 bar/h ( barrel fluid per hour ) as the equivalent measure for the same flow rate type.
In principle with any measuring task, switched on professional people always ensure, and their success depends on, they get the most precise conversion results everywhere and every-time. Not only whenever possible, it's always so. Often having only a good idea ( or more ideas ) might not be perfect nor good enough solution. If there is an exact known measure in kg/hr - kilograms (petrol) per hour for flow rate amount, the rule is that the kilogram (petrol) per hour number gets converted into bar/h - barrels fluid per hour or any other flow rate unit absolutely exactly.
Conversion for how many barrels fluid per hour ( bar/h ) of flow rate are contained in a kilogram (petrol) per hour ( 1 kg/hr ). Or, how much in barrels fluid per hour of flow rate is in 1 kilogram (petrol) per hour? To link to this flow rate kilogram (petrol) per hour to barrels fluid per hour online converter simply cut and paste the following.
The link to this tool will appear as: flow rate from kilogram (petrol) per hour (kg/hr) to barrels fluid per hour (bar/h) conversion.
I've done my best to build this site for you- Please send feedback to let me know how you enjoyed visiting.


text: Increases in wind damage are expected if the intensity and/or frequency of tropical cyclones increase due to enhanced greenhouse conditions (climate change). The paper estimates cyclone damage risks due to enhanced greenhouse conditions for residential construction in North Queensland, and then assesses the economic viability of several climate adaptation (hazard mitigation) strategies. The analysis includes probabilistic modelling of cyclone intensity and frequency, time-dependent increase in wind speed from enhanced greenhouse conditions (global warming), and vulnerability functions of building damage. Increases in mean annual maximum wind speed from 0% to 25% over 50 years are considered to represent the uncertainty in changing wind hazard patterns as a result of climate change. The effect of regional changes to building inventory over time and space, rate of retrofitting, cost of retrofit, reduction in vulnerability and discount rate will be considered. The risk-cost-benefit analysis considering temporal changes in wind hazard and building vulnerability can be used to help optimize the timing and extent of climate adaptation strategies.

source: HuggingFaceFW/fineweb-edu


text:
The IE parole program provides a temporary immigration pathway for foreign entrepreneurs who have founded companies in the United States attracting venture capital or other funding that may benefit the nation by growing and adding jobs to the U.S. economy.
Under the IE program, parole may be granted to up to three entrepreneurs per start-up entity, as well as their spouses and children. Parole authorizes the beneficiary the right to enter and stay in the United States, for a specific period of time granted by DHS. The IE program is not a typical immigration pathway, but it fills a gap for entrepreneurs that more common immigration statuses do not satisfy. Entrepreneurs granted parole are eligible to work only for their start-up business, and their spouses may apply for employment authorization in the United States, though their children are not eligible for such authorization based on this parole.
International Entrepreneur parole program applicants must show that they:
- Possess a substantial ownership interest in a start-up entity created within the past five years in the United States that has substantial potential for rapid growth and job creation.
- Have a central and active role in the start-up entity such that they are well-positioned to substantially assist with the growth and success of the business.
- Will provide a significant public benefit to the United States based on their role as an entrepreneur of the start-up entity by showing that:
- The start-up entity has received a significant investment of capital from certain qualified U.S. investors with established records of successful investments;
- The start-up entity has received significant awards or grants for economic development, research and development, or job creation (or other types of grants or awards typically given to start-up entities) from federal, state, or local government entities that regularly provide such awards or grants to start-up entities; or
- They partially meet either or both of the previous two requirements and provide additional reliable and compelling evidence of the start-up entity's substantial potential for rapid growth and job creation.
- Otherwise merit a favorable exercise of discretion.


Accents and job prospects in Ireland: Check out the RTE website on how accents may affect job prospects in Irish society. The piece comes in the context of a new bill aiming to ensure that employers do not discriminate against job applicants or employees because of their accent.
In the piece it reads that "In Ireland, it would appear that we are somewhat behind the UK when it comes to accepting that this is an issue. There, received pronunciation refers to the form of dialect adopted typically by those viewed as being from a middle-and upper-class, or southern region upbringing."


A Study on the Adaptability of College Students' Ideological and Political Education under the Environment of New Media
New media has rapidly become the important way of college students' school life and interpersonal communication for its fast spread, strong interaction, and universality. When the new media provides hope and opportunities for the ideological and political work in colleges and universities, it also brings impacts and challenges to the traditional way of education. Colleges and universities ought to actively seek for strategies of the adaptability of ideological and political education under the era of new media by strengthening the building of staff, improving political consciousness, building college new media platform, reinforcing college students media literacy education and introducing the new field of college ideological and political education.
Wang Cuiting, Zhu Shasha


text:
Paper cutouts are incredibly delicate. The slightest misstroke can cause them to crumple, rip and tear. If you've ever tried making a paper snowflake, you know how easy it is to accidentally bend or crease the paper. However, a scalpel is a precision tool used in surgeries (among other things) to slice through delicate tissue, so it also makes a great tool to make paper cutouts.
Here, you'll find some insanely intricate paper cutouts that were created using a scalpel. The artworks have immense detail and precision, so check these out!


×
This section provides information on how you can consume the binding data.
Consumption of binding data
After the backing service exposes the binding data, for a workload to access and consume this data, you must project it into the workload from a backing service. Service Binding Operator automatically projects this set of data into the workload in the following methods:
 1. By default, as files.
 2. As environment variables, after you configure the .spec.bindAsFiles parameter from the ServiceBinding resource.
Configuration of the directory path to project the binding data inside workload container
By default, Service Binding Operator mounts the binding data as files at a specific directory in your workload resource. You can configure the directory path using the SERVICE_BINDING_ROOT environment variable setup in the container where your workload runs.
Example: Binding data mounted as files
$SERVICE_BINDING_ROOT (1)
├── account-database (2)
│ ├── type (3)
│ ├── provider (4)
│ ├── uri
│ ├── username
│ └── password
└── transaction-event-stream (2)
 ├── type
 ├── connection-count
 ├── uri
 ├── certificates
 └── private-key
1 Root directory.
2 Directory that stores the binding data.
3 Mandatory identifier that identifies the type of the binding data projected into the corresponding directory.
4 Optional: Identifier to identify the provider so that the application can identify the type of backing service it can connect to.
To consume the binding data as environment variables, use the built-in language feature of your programming language of choice that can read environment variables.
Example: Python client usage
import os
username = os.getenv("USERNAME")
password = os.getenv("PASSWORD")
Computation of the final path for projecting the binding data as files
The following table summarizes the configuration of how the final path for the binding data projection is computed when files are mounted at a specific directory:
Table 1. Summary of the final path computation
SERVICE_BINDING_ROOT Final path
Not available
/bindings/<ServiceBinding_ResourceName>
dir/path/root
dir/path/root/<ServiceBinding_ResourceName>
In the previous table, the <ServiceBinding_ResourceName> entry specifies the name of the ServiceBinding resource that you configure in the .metadata.name section of the custom resource (CR).
To access and consume the binding data within the existing SERVICE_BINDING_ROOT environment variable, use the built-in language feature of your programming language of choice that can read environment variables.
Example: Python client usage
from pyservicebinding import binding
try:
 sb = binding.ServiceBinding()
except binding.ServiceBindingRootMissingError as msg:
 # log the error message and retry/exit
 print("SERVICE_BINDING_ROOT env var not set")
sb = binding.ServiceBinding()
bindings_list = sb.bindings("postgresql")
In the previous example, the bindings_list variable contains the binding data for the postgresql database service type.
Projecting the binding data
Depending on your workload requirements and environment, you can choose to project the binding data either as files or environment variables.
Prerequisites
 - You understand the following concepts:
 - Environment and requirements of your workload, and how it works with the provided services.
 - Consumption of the binding data in your workload resource.
 - Configuration of how the final path for data projection is computed for the default method.
 - The binding data is exposed from the backing service.
Procedure
 1. To project the binding data as files, determine the destination folder by ensuring that the existing SERVICE_BINDING_ROOT environment variable is present in the container where your workload runs.
 2. To project the binding data as environment variables, set the value for the .spec.bindAsFiles parameter to false from the ServiceBinding resource in the custom resource (CR).
Additional resources


text:
The smallest atom is helium at ~30pm
, a very large atom like caesium is ~225pm
. Salt obviously varies in size but let's say it's particularly fine at 100μm
then a helium atom is ~3 millionth of the size and a caesium atom is ~0.5 millionth of the size. So if a helium atom was as large as a grain of salt a grain of salt would be ~100m wide and for a caesium atom it would be ~16m wide.
I'm pretty sure my math is correct there


text:
Expert Tips: Plastic Hinges
Author: Yong Yang
Publish Date: 18 Nov, 2020
Pushover analysis has become an essential tool for the design and analysis of nonlinear bridge structures, and plastic hinges are used in midas Civil to simulate the non-linear behavior of structural elements. In this session, Yong Yang, principal structural engineer from Jacobs, will be demonstrating how plastic hinges can be set up quickly by the automatic determination of cross-sectional properties and member material through midas Civil's general section design (GSD) module.
Step 1: We can set up pushover hinge properties here, or we can go to the main menu on the top under Pushover tab.
Step 2: Find "Yield Surface Properties", we can use data generated from the next step to populate the yield surface properties
Step 3: Obtaining moment-curvature data through midas Civil's general section design (GSD) module.
After we have obtained the moment curvature data, we input into yield surface properties in midas Civil (shown in the next step), and we are able to see the directional properties of pushover hinge in terms of curves. (from Y-axis button on the top right.)
Step 4: Populating the yield surface properties from data obtained in GSD module.
Finally, after the pushover hinge properties are defined as shown above, you can select part of the structure that is pre-determined/predicted to be the location of plastic hinges, and drag and drop the defined property from the model tree to the view box.
One thing to note, some codes only allow part of the structure to be the location of plastic hinges, for example top and bottom columns. Meaning they do not allow plastic hinges to happen on the superstructure or on the drill shaft or any other places on the column. Therefore, we can assign the plastic hinges on these locations, and after the pushover analysis we check if the members defined as plastic hinges exceed the yield limit. If so we need to redesign the structure. Another alternative is we can assign hinge to the entire structural member (entire column/shaft). After the pushover analysis, we need to observe where do plastic hinges form. If they form at the column then this structural member needs to be redesigned.
Editor: JC Sun


text:
Application to Request Registration as a Beneficiary
What does it mean to be a MySchool MyVillage MyPlanet beneficiary?
The MySchool MyVillage MyPlanet programme is a unique fundraising tool which is already being used by over 8 000 schools, charities and welfare groups (our "beneficiaries"). We provide these registered beneficiaries with the opportunity to use the MySchool programme in order to raise supplementary annuity income for their organisations. This tool includes our management of the programme infrastructure, logistics, payment processing and allocation, card issuing, client service, query management, and reporting tools. We also provide the registered beneficiaries with various resources, such as customised application forms, website content and advice on how to use the programme to raise monthly sustainable funds through the programme.
It is up to the beneficiary to use these tools to raise funds and incorporate it into their fundraising plan.
How much money do beneficiaries make? How do they ensure the programme is a success?
It is the beneficiary's responsibility to use the tools we have provided to their benefit. MySchool does not manage the individual beneficiary's fundraising efforts. Therefore the amount of funds raised through the programme is dependent on various factors. We can learn a lot from beneficiaries who use the programme to raise substantial amounts of funds each month.
Those registered beneficiaries that are currently successfully using the programme have:
- A dedicated fundraising champion who manages all fundraising activities - including the MySchool Fundraising programme.
- At least 1000 active MySchool supporters - who use their cards frequently (on a monthly basis) at the various MySchool partners.
- Supporters located in MySchool partner service areas (i.e the supporters are willing and able to support the organisation at local partners, and our national partners).
- A fundraising and communications plan. They communicate with their supporters on a regular basis, through their various communication channels, to keep them updated on where to swipe their MySchool card, the funds raised and how these funds are used - they also remember to say "thank you" to their supporters!
- Events where they sign up new supporters and ensure their current supporters keep supporting them.
- A MySchool information page on their website, linked to MySchool on social media platforms, and have marketing material to show potential supporters and encourage them that they can be nominated as a beneficiary.
What is the difference between a School, Village and Planet Beneficiary?
There is only one MySchool MyVillage MyPlanet card, which gives you access to support up to three Beneficiaries. Our Beneficiaries are all classified as one of the following:
- MySchool Beneficiaries: registered schools.
- MyVillage Beneficiaries: charities that helps communities and individuals (adults and children).
- MyPlanet beneficiaries: organisations that focus on the improvement and protection of the environment and animals.
How to become a MySchool MyVillage MyPlanet Beneficiary
- Make sure you qualify for an organisation to qualify for registration as a MySchool MyVillage MyPlanet Beneficiary, it must be either:
- a school that is registered with the Department of Education; or
- a non-profit organisation (NPO) or a public benefit organisation (PBO) that is registered as an NPO or a PBO with the South African Revenue Services; and must focus on:
- uplifting people with physical or mental disabilities, orphans or the vulnerable; or
- uplifting people through education or social development; or
- protecting the environment; or
- protecting animals; or
Your organisation cannot qualify as a Beneficiary if it is:
- a charity promoting religion (this includes institutions such as churches, mosques and temples);
- a charity promoting a specific political group or orientation;
- a charity promoting specific social activism issues or views;
- a sports club or association;
- an interest or hobby group; or
- a profit-making company.
Individuals cannot qualify as Beneficiary.
2. Send us the correct documents
Send us the following documents (by email only) so that we may process your application to be a Beneficiary:
- the completed MySchool MyVillage MyPlanet Beneficiary Application Form containing your full details and your signature indicating that you agree with our Terms and Conditions;
- a copy of your organisation's letterhead;
- a copy of your organisation's VAT registration form (if VAT registered);
- a short (no more than 300 words) description of what your organisation does;
- a marketing plan setting out how you intend to manage your status as a Beneficiary. The marketing plan must include:
- how many SUPPORTERS you currently have;
- how you stay in contact with them; and
- how you plan to increase the number of Supporters you currently have.
3. Wait for us to contact you
We will review your application based on the criteria we have determined, at our sole discretion. The application review process takes 8 / 10 weeks from the time that we receive the completed application. Failure to submit the required details and supporting documentation will result in your application not being reviewed and your application being declined. We will contact you to let you know whether your application has been successful and to confirm the next steps.


Rendering Views and Updating them with Ajax
This wiki article has not been tagged with a corresponding Yii version yet.
Help us improve the wiki by updating the version information.
I wanted to implement a widget that could refresh itself through Ajax without refreshing the whole page. CGridView and CListView are excellent examples of such widgets.
I spent some time trying to understand how a controller renders it's view(s) and then looked at the actionAdmin and actionIndex actions of an app generated by gii. The views generated by these actions contain CGridView and CListView widgets respectively.
My case study was a simple Dashboard application, where I have two view – left and right in the same page (layout file). The sequence diagram outlines how these two pieces are rendered and how they're merged with the layout file to generate a page the user will see. I came up with the sequence diagram below.
If the pieces appear unfamiliar to you, you might want to read – Rendering View Files in Yii here (if this link get's deleted, google the title).
Sequence Diagram
It might be worth mentioning that, the default implementation of the aforementioned widgets, requests the "owning" controller (the one that created the widget) to render it's entire view again through an Ajax request. When a response arrives, the html response (page) is parsed using jQuery and the section (div) that the widget is interested in is extracted. The widget's contents are then replaced with the extracted (partial contents) one.
In a typical application's controller, where one might be displaying several models/views, it might make sense to write a controller that returns just the partially rendered view without any layout applied. This should cut down some time for you depending on how complex your views/models are. This approach, if thought out carefully should also maximize code sharing.
If I have provided inaccurate information, please feel free to comment and let me know.


text:
On the Purification of Sodium Cyanate by Liquid Ammonia
A purification process of sodium cyanate has been attempted. Necessary experiments with regard to this procedure have been performed as follows : (1) The specific gravities of NaCNO, NaCNO-NH_4NO_3-NH_3 and NaCNO-NH_4Cl-NH_3 at 0?30℃ were measured. (2) The rate of conversion of ammonium cyanate into urea in liquid ammonia at 0?30℃ was estimated. (3) The solubilities of sodium cyanate in liquid ammonia at 0?45℃ and in the ammonieous solution of ammonium nitrate or chloride at 0℃ were also measured. Being based on those results the purification of sodium cyanate from impure raw material was tried by the lixiviation method using ammonium salt solutions. In consequence of this study it is concluded that the purification of sodium cyanate is effectively carried-out using ammonium nitrate solution at 0℃ or below.
- Science reports of the Research Institutes, Tohoku University. Ser. A, Physics, chemistry and metallurgy
Science reports of the Research Institutes, Tohoku University. Ser. A, Physics, chemistry and metallurgy 7 601-616, 1955


Capturing mouse click events with Python and OpenCV
In this article, we will learn how to capture mouse click events with Python and OpenCV?
Submitted by Abhinav Gangrade, on July 12, 2020
Modules used:
In this article, we will use Python-openCV(cv2) and NumPy modules.
Python-opencv(cv2):
Python-opencv(cv2) is a python library that will help us to solve the open-source computer vision problems.
NumPy:
Numpy stands for Numerical Python. This library is used for scientific computing. In this article, we will use this module to create a blank black image.
How we can download these modules?
The general way to download these modules:
 - python-opencv(cv2): pip install opencv-python
 - Numpy: pip install numpy
 - Pycharm users: Pycharm users can go to the project interpreter and install this module from there.
What we will do in this Article?
In this article, we will check the mouse click event, we will create a blank image with the help of NumPy and after that when we click the left button it will create a circle on the image and when we will click the right button it also create a circle of any color on the image. In this way, we will check the mouse clicking event of the mouse.
Important Function we will use in this Article:
 1. np.zeros((<size with layer>),np.uint8): This Function will create a blank Image.
 2. cv2.setMouseCallback(<Image Frame>,<Event Capturing Function>): This Function will check the mouse clicking function and do the following actions according to the Event capturing Function.
Program:
# import modules
import cv2 ,numpy as np
# set the window name
window="Include Help"
# create a blank image
# the image size is (512,512) and 3 layered
image=np.zeros((512,512,3),np.uint8)
# set the name to the window
cv2.namedWindow(window)
# Create the Event Capturing Function
def capture_event(event,x,y,flags,params):
 # event= click of the mouse
 # x,y are position of cursor
 # check the event if it was right click
 if event==cv2.EVENT_RBUTTONDOWN:
 # create a circle at that position
 # of radius 30 and color red
 cv2.circle(image,(x,y),30,(0,0,255),-1)
 # Check if the event was left click
 if event==cv2.EVENT_LBUTTONDBLCLK:
 # create a circle at that position
 # of radius 30 and color greeen
 cv2.circle(image,(x,y),30,(0,255,0),-1)
 # check if the event was scrolling
 if event==cv2.EVENT_MBUTTONDBLCLK:
 # create a circle at that position
 # of radius 30 and color blue
 cv2.circle(image,(x,y),30,(255,0,0),-1)
# set the mouse settin function
cv2.setMouseCallback(window,capture_event)
# create a loop untill we press the button
while True:
 cv2.imshow(window,image)
 if cv2.waitKey(1)==13:
 break
cv2.destroyAllWindows()
Output:
Capturing mouse click events with Python and OpenCV
In this way, we can capture the mouse click event with the help of Python-opencv(cv2).
Comments and Discussions!
Load comments ↻
Copyright © 2024 _URL_. All rights reserved.


text:
Balance Is the Key to Success
Balance is one of the most important elements in the game of bowling. If a bowler does not maintain balance they will struggle to hit a target and maintain consistency.
To maintain lower body balance, keep the back toe on the floor.
To maintain upper body balance, keep the chin towards the sliding knee. For extreme cases, the bowler may need to feel as though the chin is over the sliding knee (in feeling only).
Learn more about balance by clicking here.


April 2015 Queen Stitch
The Queen Stitch, also known as the Renaissance Stitch is one of the oldest popular stitches dating from the 16th and 17th Century. It was a favorite in the 18th Century resulting in beautiful regular patterns. The stitch is also known as the Rococo stitch from the American Revolution time when they didn't want anything to sound "royal". A globe shaped canvas stitch which can be used as a background, worked as a single sitich, and in diagonal rows.


text:
Numark Orbit - Importing Multiple Controller Mappings in Traktor Pro 2
Before we continue it's important to understand the differences between the types of Traktor Pro mappings. One type of mapping is a generic controller type; these mappings are generally included with the purchase of the hardware, and are supplied by the manufacture. Generic controller mappings provide basic control of the Traktor software. In most cases what you see on the controller is exactly what you reaction you get in the software. Another type of mapping is effects based mapping; the effects based mappings offer the user a more complex and customized experience. Since these mappings alter effects settings within Traktor it is important that these mappings are imported first. These mappings also must be imported two times using the large import button at the bottom left of the Preferences window. Importing the mapping twice ensures that all effects and their settings are loaded correctly.
Now that we understand the basics lets go through one example using the Numark 4TRAK, and the Numark Orbit wireless DJ controller. In this scenario we will be using the 4TRAK for basic control, and the Orbit to trigger customized combination effects. It is important to back up your current settings if you wish to use them later. Open Preferences within Traktor Pro and choose Export from the bottom of that window you will want to be sure and check off any setting box you wish to recall later.
Now that we understand the basics, and have made a backup our current settings lets get started.
- Download both controller mapping files.
- Unzip or extract the files to your desktop.
- Plug in your Numark 4TRAK USB, and the Numark Orbit USB Dongle.
- Power-on both units.
- Open Traktor Pro 2.
- Click the Preferences or gear icon in the top right corner.
- Click Import from the bottom of the Preferences window.
- First it's important to load the effects based mapping. Locate the Orbit mapping file, and click Open.
- Leave the default Category boxes checked as below unless you have your GUI or layout setup for 4 decks. Click OK to import the settings.
- You need to import this mapping twice ensure all effect settings load correctly. Repeat steps 7-10 to ensure this.
- Next we need to import our Generic mapping type which is the Numark 4TRAK for this example.
- Still within the Preferences window select and highlight Controller Manager section from the left.
- At the top of the window within the Device Setup section click Add…
- From the drop down list select Import.
- Locate the extracted Numark 4TRAK mapping file, and click Open. Should be wherever you extracted the mapping file to. Its important to add the second map in this manor other wise you will delete the first mapping we imported. Importing through the Traktor Wizard will also overwrite our original mapping and setup settings.
*You will always use Add... > Import when adding a second controller.
- Lastly ensure that all of your In-Ports, and Out-Ports are assigned to the correct hardware.
- That's it you have correctly configured multiple controllers within Traktor Pro 2. You can now export your controller mappings and settings. This way when you want to recall this same configuration again, simply click the Import button from the bottom of the Preferences window and choose that file.
Numark Support & Warranty Service
Whether you are a customer or dealer, if you already own a Numark product, or if you just have pre-sales questions, the Numark technical support team is available to help!
Visit the link below to connect with any of the following support options: online community support, phone support, email support.


$.
The case r=0 can also be treated by hand and will be ignored. Now, we double-count. Observe that each $r$-element set in ${\mathcal D}$ has $r$ "children" as $r-1$-element subsets of ${\mathcal D}$, by removing one of the r elements from that set. On the other hand, each $r-1$-element set can have at most $n-r+1$ "parents", and so
$$ r f_r \leq (n-r+1) f_{r-1}.$$
(EDIT: Actually we didn't need to remove the r=0 case if we adopted the convention $f_{-1}=0$ here.)
In particular, if $r > \frac{n+1}{2}$, then $f_r < f_{r-1}$ we could remove both the r and r-1-element sets from the downset and again increase the sum; so we have $r \leq \frac{n+1}{2}$. In fact the same argument shows that, by changing the extremum ${\mathcal D}$ if necessary, we may assume that $r < \frac{n+1}{2}$, thus (since $n$ is 3 mod 4 and r is even) $r \leq \frac{n-3}{2}$. In other words, every element of ${\mathcal D}$ has cardinality at most $(n-3)/2$.
Now we flip the downset to look at the complementary downset ${\mathcal D}' := \{ A \in [n]: [n] \backslash A \not \in {\mathcal D} \}$. As n is odd, we have $\sum_{A \in {\mathcal D}'} (-1)^{|A|} = \sum_{A \in {\mathcal D}} (-1)^{|A|}$, and so ${\mathcal D}'$ is also an extremiser. Thus, by the above argument, every element of ${\mathcal D}'$ has cardinality at most $(n+1)/2$. Equivalently (as $n$ is odd), ${\mathcal D}$ contains every element of cardinality at most $(n-3)/2$. Combining this with the previous analysis, we see that the extremum is attained at the set consisting precisely of all subsets of [n] of cardinality at most $(n-3)/2$, which gives the required value of $F_+(n)$.
share|improve this answer
In retrospect, this would have been a great mini-polymath problem. Ah well. :-) – Terry Tao Jul 9 '12 at 18:50
Wha do you mean "would have been"? Wasn't it? Also, do I get my Tao number now, or do I have to wait five business days? Gerhard "Happy To Have Rendered Assistance" Paseman, 2012.07.09 – Gerhard Paseman Jul 9 '12 at 18:59
Well, I guess it was in a de facto sense, if not in a premeditated sense. I unfortunately don't have a strong enough application for the bound in order to merit publication, though; I came across the question because I was wondering about how to bound partial divisor sums of the Mobius function, and then felt that it had enough independent interest to pose here, but the bounds don't seem to make any dramatic dents in the bounds for other number-theoretic quantities, alas. But it's still great that the problem seems to be solved, it may be of use at some future date... – Terry Tao Jul 9 '12 at 19:23
Well, in the meantime, I think I'll submit the sequences F_+ and F_to OEIS. Whether this will count as a "publication" for the purposes of bibliographic metrics, I leave to the reader. – Terry Tao Jul 9 '12 at 20:08
I think this question and its solution within 3 hours is a typical example of how much more efficient people can get when collaborating via mathoverflow. – Christian Stump Jul 10 '12 at 6:41
I tried it using linear integer programming for the first few values of $n$, with the following results.
$$ \matrix{ n & min & max\cr 1 & 0 & 1\cr 2 &-1 & 1\cr 3 & -2 & 1\cr 4 & -3 & 3\cr 5 & -4 & 6\cr 6 & -10 & 10\cr 7 & -20 & 15\cr 8 & -35 & 35\cr 9 & -56 & 70\cr} $$
These sequences do not appear to be in the OEIS.
share|improve this answer
The bounds for even $n$ look interesting. Does the pattern (i.e. min = - max) continue for further even $n$? – Michael Albanese Jul 9 '12 at 16:59
So far this is consistent with the tentative conjecture proposed above, which more explicitly asserts that the bounds should be $\pm \binom{n-1}{n/2}$ when n is even, between $−\binom{n-1}{(n-1)/2}$ and $\binom{n-1}{(n+1)/2}$ when n is 3 mod 4, and between $-\binom{n-1}{(n+1)/2}$ and $\binom{n-1}{(n-1)/2}$ when n is 1 mod 4. (Thus, for instance, the conjecture would assert -126 and +126 for n=10, -252 and 210 for n=11, and so forth, as both bounds snake down the middle of Pascal's triangle.) – Terry Tao Jul 9 '12 at 17:29
For even $n$ it looks like $\max = -\min = {n \choose {n/2}}/2$, which is obtained taking all the subsets of cardinality $< n/2$ or $> n/2$. – Robert Israel Jul 9 '12 at 17:31
I can't believe I didn't see this before, but it is trivial that the max and min will be negations of each other in the n even case, because the reflected complement of a downset is again a downset. – Terry Tao Jul 9 '12 at 17:44
_USER_: Nice observation! Indeed, since one can slice an n-dimensional downset into two n-1-dimensional downsets, and the alternating sum of the former is the difference of the two for the latter, I think this shows that the conjecture for even n is implied by the conjecture for n-1, and one of the two bounds for odd n is implied by the bound for n-1. So it's only the smaller of the two bounds in odd n that needs proof... – Terry Tao Jul 9 '12 at 18:13
Here is a simple proof which should give exact optimizers for "most" choices of n mod 4 and max/minimizing; and, near-sharp values for the remaining cases. I'll do it for upsets instead of downsets.
Identify the discrete cube with $\{-1,1\}^n$ and let $f : \{-1,1\}^n \to \{0,1\}$ be the indicator of $\mathcal{D}$ which is monotone since $\mathcal{D}$ is an upset. Up to a factor of $2^n$ we are trying to min/maximize $E_x[f(x) \chi(x)]$, where $x$ is uniformly random on the cube and $\chi(x) = \prod_{i=1}^n x_i$. Let $1 \leq j \leq n$ be uniformly random and let $x^{(j)}$ denote $x$ with its $j$th coordinate negated. Since $x^{(j)}$ is also uniformly distributed,
$E_x[f(x) \chi(x)] = E_{x,j}[\frac{f(x) \chi(x) + f(x^{(j)})\chi(x^{(j)})}{2}] = E[\chi(x)\frac{f(x)-f(x^{(j)})}{2}]$
where we used $\chi(x^{(j)}) = -\chi(x)$. Thus in absolute value, the quantity is at most
$E[\bigl|\frac{f(x)-f(x^{(j)})}{2}\bigr|] = \frac{1}{2n}E_x\left[\sum_{i=1}^n \bigl|f(x)-f(x^{(i)})\bigr|\right] = \frac{1}{2n}E\left[\sum_{i=1}^n f(x)x_i\right]$,
where the last step uses that $f$ is monotone. But
$\frac{1}{2n}E\left[\sum_{i=1}^n f(x)x_i\right] = \frac{1}{2n} E\left[f(x)(\sum_{i=1}^n x_i)\right]$
is clearly maximized among $


text:
Definitions of puddle:
- noun: a mixture of wet clay and sand that can be used to line a pond and that is impervious to water when dry
- noun: something resembling a pool of liquid
Example: "His chair sat in a puddle of books and magazines"
- noun: a small body of standing water (rainwater) or other liquid
Example: "There were puddles of muddy water in the road after the rain"
- verb: make a puddle by splashing water
- verb: mess around, as in a liquid or paste
- verb: work a wet mixture, such as concrete or mud
- verb: dip into mud before planting
Example: "Puddle young plants"
- verb: subject to puddling or form by puddling
Example: "Puddle iron"
- verb: wade or dabble in a puddle
Example: "The ducks and geese puddled in the backyard"
- verb: make into a puddle
Example: "Puddled mire"
- verb: mix up or confuse
- verb: eliminate urine
Search for puddle at other dictionaries: OneLook, Oxford, American Heritage, Merriam-Webster
Copyright © 2015 Datamuse


text:
Luomala, Harri (2004) Exploring origin of food as a source of meanings for Finnish consumers: A qualitative comparison of meanings in Swedish, German and French food. In: Report from NJF seminar 366, Nordic Association of Agricultural Scientists, pp. 53-55.
The findings show that Finnish consumers attach partly overlapping partly distinct cognitive, affective, and normative meanings to Swedish, German, and French food. Swedish and French foods are perceived healthier than German food. Finnish consumers also think that Swedish and French food is of high quality, safe and pure while in the case of German food consumers were more doubtful.
|EPrint Type:||Conference paper, poster, etc.|
|Type of presentation:||Paper|
|Keywords:||origin, food, consumers|
|Deposited By:||Koistinen, Riitta|
|Deposited On:||02 Sep 2009 10:26|
|Last Modified:||12 Apr 2010 07:39|
Repository Staff Only: item control page


Consumer Behaviour of Purchasing Digital Camera
6737 Words27 Pages
Consumer Behaviour of Purchasing Digital Camera
1.0 Introduction
In order to market the product into the market successfully, marketers need to have some marketing strategy to enter the desired market and make profit. Market segmentation is the process of dividing a market into subsets of consumers with common needs or characteristics (Schiffman et al., 2011). Understanding the market size and segmentation is valuable, but the keys to effective targeting is to know just how valuable specific consumer groups are, and being able to quantify the impact of consumer trends ( Berry, 1999).
The purpose if this paper is to define the market segmentation for digital camera. Especially focus on Nikon digital camera which is the chosen product in
…show more content…
According to the consumer feedback survey conducted by Nikon in 2011, the consumers considered Nikon digital camera as user-friendly, affordable price, well performance and good quality. The significant signal to explain this stage can be affordable price and good quality of the product.
2.1.2. Product benefits
After the product attributes it goes to the second stage which is product benefits. There are two consequences can discussed under the field of product benefits, namely as functional consequences and psychosocial consequences.
The functional consequences is the tangible consequences of the product, it focus more on "what function is perform?'Also, it can be considered as an external influence to the consumer. In this case the consequences may be user-friendly and excellence photographic performance.
The psychosocial consequence is a combination of psychological and social consequences. It emphasized more on 'How I feel?' and 'How people feel about me?'which is more likely to be the internal influences to the consumers. Attraction and communication are significantly elements in this part. For example, Nikon consumer may feel they catch people attention when they are using Nikon digital camera which is the psychological consequence. Also the consumer may feel happy when they are using Nikon digital camera with others and create positiveexperience about the product, this may considered as social consequence.
2.1.3 Personal values
The last
Get Access


text:
Skip to Main Content
An optimal design approach of high-order FIR digital filter is developed based on the algorithm of neural networks which its activation matrix is produced by the sine basis functions. The main idea is to minimize the sum of the square errors between the amplitude-frequency response of the desired FIR filter and that of the designed by training the weight vector of sine basis functions neural networks, then obtains the impulse response of three-type FIR digital filter with linear phase. The convergence theorem of the neural networks algorithm is presented and proved, and the optimal design method is introduced by designing two kinds of high-order FIR digital filters, i.e., band-pass and multi-band-pass filters. The results of the amplitude responses show that attenuation in stop-bands is more than 290 dB with no ripple and pulse existing in pass-bands, and cutoff frequency of pass-bands and stop-bands is easily controlled precisely. The presented optimal design approach of high-order FIR digital filter is significantly effective.


Trystan Spangler | 3 Sep 18:27 2011
ANNOUNCE: hspec-0.8.0 (command line runner and nested specs)
hspec version 0.8.0, Behavior Driven Development for Haskell, is now available!
This latest release includes a command line runner that can search through directory trees for specs and support for nested specs.
From the hspec specs:
the "describe" function - takes a description of what the behavior is for - groups behaviors for what's being described a nested description - has it's own specs - may be displayed indented
And from the hspec command line runner:
hspec searches through files or folders and runs any top level declarations with a type of 'Specs' or 'IO Specs'. Monadic specs must be fully qualified, list-based specs may be qualified or not. You can specify specific *.hs files or directories to search through or let hspec search the current directory tree for specs to run. usage: hspec [OPTIONS] [TARGET_LIST] -f FORMAT --format=FORMAT Specifies what format to use for output. By default the specdoc format is used. FORMAT can be silent, progress, specdoc, or failed_examples. -o FILE_NAME --output=FILE_NAME Specifies the file to use for output. By default output is directed to stdout. FILE_NAME can be stdout or stderr for those handles. -e REGEX --example=REGEX Only execute examples with a matching description. By default all examples are executed. -c TRUE|FALSE --color=TRUE|FALSE Force output to have or not have red and green color. By default color is only used when output is directed to stdout. --runfile=FILE_NAME Use a specific file to log the last run results. This is read when using the --rerun option. By default the file ".hspecLastRun" logs the last run results. -r RERUNOPT --rerun=RERUNOPT Rerun a specific subset of specs. This looks at the last run file specified by -runfile. RERUNOPT can be "all" or "failed". By default the last run file is ignored and all specs are run. -h, -? --help Display this help. -v --verbose Display detailed information about what hspec is doing. --specs Include the specs for the hspec command line runner itself. When used, the target list will not default to the current directory. A non-empty target list will still be searched though.
Trystan Spangler
Haskell mailing list
Haskell


Smiling workers
 1. Home
 2. »
 3. Workers' Compensation
 4. » Will jump in trash production lead to more workers' comp claims?
| May 14, 2020 | Workers' Compensation
Trash production is on the rise. A recent analysis by Public Works Departments through the state of Wisconsin found a 20% increase in April's trash production in Kenosha compared to the same time last year. Kenosha is not an outlier. Wauwatosa reports a 24.4% increase and Sheboygan reports a 19.5% increase.
Why is there so much more trash?
The increase in waste production demand for the Public Works Department is likely linked to the current coronavirus pandemic. More and more people are staying home. Instead of generating waste at the workplace, which often use private companies for waste disposal needs, people are generating trash at home.
Another reason for the increase: to help fill the extra time they have at home, people are taking on projects and cleaning out their homes. Both generate trash.
What does this mean for public works employees?
Although some cities throughout the state have shifted to automated garbage trucks, others have not. This means employees are lifting and tossing more and more bags of trash. This can lead to fatigue and serious injury such as herniated disks and torn rotator cuffs.
The same injury risk increase exists for municipalities that use private garbage/recycling companies. If an employee is injured while performing the duties of their job, workers' compensation benefits should be available.
What if a worker is injured?
Workers' compensation may be available for those injured while on-the-job.
Injured workers may need to navigate conversations with employers, insurance companies and doctors to get their claim approved. An attorney experienced in this area of the law can navigate these conversations and the application process on your behalf, better ensuring you get the compensation you are entitled.
FindLaw Network


n LLC
Most Valuable Expert 2014
Top Expert 2010
Commented:
I actually use a function to do this, but only if I'm dumping the info into a temp table. The function looks like:
Public Function fnRank(Reset As Boolean, ParamArray FieldValues() As Variant) As Integer
 Static myRank As Long
 Static myArray() As Variant
 Dim intLoop As Integer
 Dim bIdentical As Boolean

 If (Reset = True) Then
 ReDim myArray(UBound(FieldValues))
 End If

 bIdentical = True
 For intLoop = LBound(FieldValues) To UBound(FieldValues)
 If (bIdentical = True) And (myArray(intLoop) = FieldValues(intLoop)) Then
 'do nothing
 Else
 bIdentical = False
 myArray(intLoop) = FieldValues(intLoop)
 End If
 Next

 If bIdentical = False Then myRank = 0

 myRank = myRank + 1
 fnRank = myRank

End Function
Open in new window
This function will run amazingly quickly (compared to the other methods mentioned above) and will accomodate as many fields as you choose to use in your ranking function.
And you would use it like:
1. First you need to call it setting the first argument (Reset) = True and then passing in a value for each of the fields you want to use in the ranking feature. Since the parameter array and the static array in the function are variants, you don't even need to worry about the values you pass in, just make sure you pass in a value for each column you will pass into the function in your query. I generally call to this just before running my query.
2. Then, you would call this as your Rank column in your query, something like the following. In this case, we want to rank employee dependents based on their DOB, so we use an order by clause that includes both of those fields, but we only need to pass the function the EmployeeID, because we want to reset the rank whenever the EmployeeID changes.
SELECT EmployeeID, DependentID, fnRank(0, [EmployeeID]) as Rank
FROM yourTable
Order by EmployeeID, DOB
Open in new window
The down side of this technique, is that if you scroll up through the query result set, you will see that the Rank column continues to get recomputed as records move into the set of records which are visible in the query results. So, if you scroll up, the numbers get screwed up. To avoid this, I create a Rank table (tblRanks) and actually insert the rank values into that table, along with the unique PK value that identifies each record, something like:
currentdb.execute "DELETE * FROM tblRanks", dbfailonerror
fnRank -1, 0 'This resets the length of the array stored in the function
strSQL = "INSERT INTO tblRanks (PKID, Rank) " _
 & "SELECT ID, fnRank(0, [EmployeeID]) as Rank " _
 & "FROM yourTable "
 & "ORDER BY EmployeeID, DOB"
Currentdb.Execute strsql, dbfailonerror
Open in new window
Then you can join tblRanks to yourTable on the PK field, something like:
SELECT EmployeeID, DependentID, R.Rank
FROM yourTable as T
INNER JOIN tblRanks as R on T.ID = R.PKID
Order by EmployeeID, DOB
Open in new window
If you configure tblRanks so that the PKID field is the primary key of that table, then the query shown above should be updateable.
Sorry I didn't get a chance to post this earlier.
HTH
Dale
Do more with
Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.
Start 7-Day Free Trial