text:
The nursing profession remains overwhelmingly female, but the representation of men has increased as the demand for nurses has grown over the last several decades, according to a U.S. Census Bureau study released yesterday.
The new study shows the proportion of male registered nurses has more than tripled since 1970, from 2.7 percent to 9.6 percent, and the proportion of male licensed practical and licensed vocational nurses has more than doubled from 3.9 percent to 8.1 percent.
The study, Men in Nursing Occupations, presents data from the 2011 American Community Survey to analyze the percentage of men in each of the detailed nursing occupations: registered nurse, nurse anesthetist, nurse practitioner, and licensed practical and licensed vocational nurse. The study also provide estimates on a wide range of characteristics of men and women in nursing occupations. These include employment status, age, race, Hispanic origin, citizenship, educational attainment, work hours, time of departure to work, median earnings, industry and class of worker.
"The aging of our population has fueled an increasing demand for long-term care and end-of-life services," said the report's author, Liana Christin Landivar, a sociologist in the Census Bureau's Industry and Occupation Statistics Branch. "A predicted shortage has led to recruiting and retraining efforts to increase the pool of nurses. These efforts have included recruiting men into nursing."
Men typically outearn women in nursing fields but not by as much as they do across all occupations. For example, women working as nurses full time, year-round earned 91 cents for every dollar male nurses earned; in contrast, women earned 77 cents to the dollar men earned across all occupations.
Because the demand for skilled nursing care is so high, nurses have very low unemployment rates. Unemployment was lowest among nurse practitioners and nurse anesthetists (about 0.8 percent for both). For registered nurses and licensed practical and licensed vocational nurses, these rates were a bit higher, but still very low, at 1.8 percent and 4.3 percent, respectively.
* There were 3.5 million employed nurses in 2011, about 3.2 million of whom were female and 330,000 male.
* Of the employed nurses (both sexes), 78 percent were registered nurses, 19 percent were licensed practical and licensed vocational nurses, 3 percent were nurse practitioners, and 1 percent were nurse anesthetists.
* While most registered nurses (both sexes) left home for work between 5am and 11:59am (72 percent), a sizable minority (19 percent) worked the evening or night shifts.
* The majority of registered nurses (both sexes) worked in hospitals (64 percent). The majority of licensed practical and licensed vocational nurses worked in nursing care facilities or hospitals (about 30 percent each). The percentages for hospitals and nursing care facilities are not significantly different from each other.
* In 2011, 9 percent of all nurses were men while 91 percent were women. Men earned, on average, $60,700 per year, while women earned $51,100 per year.
* Men's representation was highest among nurse anesthetists at 41 percent.
* Male nurse anesthetists earned more than twice as much as the male average for all nursing occupations: $162,900 versus $60,700.
The American Community Survey provides a wide range of important statistics about people and housing for every community across the nation. The results are used by everyone from town and city planners to retailers and homebuilders. The survey is the only source of local estimates for most of the 40 topics it covers, such as education, occupation, language, ancestry and housing costs for even the smallest communities. Ever since Thomas Jefferson directed the first census in 1790, the census has collected detailed characteristics about our nation's people. Questions about jobs and the economy were added 20 years later under James Madison, who said such information would allow Congress to "adapt the public measures to the particular circumstances of the community," and over the decades allow America "an opportunity of marking the progress of the society." (US Census)


. lodsb ;load a byte from ES:SI into al, increment si by 1 6. xor al,bl ;xor al by bl 7. stosb ;store al to DS:DI, increment di by 1 8. sub bl,22 ;decrement bl by 22h 9. loop 5 ;loop cx times. Now, step through this, watching what this does. What does it do? It decripts the data after the 0E0h, in the keyfile, using the above process. If you can't understand this, just keep watching it and debugging it, because if you can't understand this, you won't be able to write a keygen. Now it has tried to decrypt your name, and what we're about to look at. Check this code out: cs:51DE BEBD00 mov si,00BD cs:51E1 8BFE mov di,si cs:51E3 B92800 mov cx,0028 cs:51E6 2E8A1E8008 mov bl,cs:[0880] cs:51EB 33D2 xor dx,dx cs:51ED 33C0 xor ax,ax cs:51EF AC lodsb cs:51F0 03D0 add dx,ax cs:51F2 E2FB loop 51EF cs:51F4 2E3B14 cmp dx,cs:[si] cs:51F7 7551 jne 524A Whats it doing? You should understand the first 7 lines, actually, you should understand the whole thing if you have a good grasp of Assembly. It adds all the bytes together of what "Should" be you name, into dx. Then it compares dx to the number stored at cs:si. This is what is called a CRC check. This is only a simple one, and all it does is check if any of the bytes in the string have changed. If it is the same, it is ok, and continues, otherwise it quits. Now it sets cs:2220 to 01h, to tell the program it is registered. cs:51FC 2EC606202201 mov cs:byte ptr [2220] Then it checks the 0E0h byte. This is where we find out what it does. cs:5202 2E803E8008E0 cmp cs:byte ptr [0880] cs:5208 7424 je 522E So we let it jump: cs:522E BA9B22 mov dx,229B cs:5231 E81D00 call 5251 cs:5234 C3 ret And it prints on the screen "REGISTERED VERSION". So what do the other "0E?h" values do? Go back and try the others to find out for yourself. IMPORTANT. If you don't understand all of the above, go over and over it until you do. 2. Writing The KeyGen. Now I am going to get lazy. I will tell you what the steps are, give you my commented source file, and leave you go from there. Here is what it is doing: 1. Open the Rego File. 2. Read the Header. 3. Check it. 4. Read the Rego Name and CRC. 5. Decrypt them. 6. Calculate the CRC. 7. Check the CRC. 8. Display the Rego type. 9. Continue on with the program. Here is what you have to do: 1. Read the Rego Name. 2. Calculate the CRC. 3. Encript the Rego name and CRC. 3. Store the Rego type. 4. Write the whole block (including the header) to the Rego file. Now for the assembly file: -------------------------------------------------------------------------------.386p seg_a segment byte public use16 assume cs:seg_a, ds:seg_a org 100h xtract_keygen Proc Far start: mov dx,offset title_text ;load the startup banner call print_text ;print it on the screen mov dx,offset max_ent_length ;load the text entry offset mov ah,0Ah ;function=get text string int 21h ;get the text cmp byte ptr entry_length,01h ;check if mor than 1 ;character was entered jae short reg_type_sel ;jump if 1 or more mov dx,offset no_entry ;not enough was entered jmp short exit ;jump to exit reg_type_sel: mov dx,offset reg_type_text ;load rego type selection call print_text ;display it xor ax,ax ;clear ax int 16h ;get a char from the keybd int 29h ;display it cmp al,31h ;check if its 1 jl reg_type_sel ;jmp if lower than cmp al,34h ;check if its 4 ja reg_type_sel ;jmp if above continue: add al,0AFh ;add 0AFh to input, to get ;"E" value. mov reg_type,al ;store it in the rego type mov dl,0Ah ;1 These lines store mov dh,al ;2 the rego type mov bx,offset max_ent_length ;3 mov [bx],dx ;4 call make_key ;make the key mov dx,offset done_text ;load done text exit: call print_text ;display the output result retn ;exit to dos/windoze xtract_keygen endp print_text proc near ;put text up on the mov ah,9 ;screen int 21h retn print_text endp make_key proc near mov si,offset name_input ;this should look mov dx,si ;familiar :) mov cx,28h ; mov bl,reg_type ; xor dx,dx ; xor ax,ax ; crc_loop: ; lodsb ; add dx,ax ; loop crc_loop ; mov bx,offset checksum_dat ; mov [bx],dx ;store the crc mov si,offset name_input ;this should also look mov di,si ;familiar :) mov cx,2Ah ; mov bl,reg_type ; encription_loop: ; lodsb ; xor al,bl ; stosb ; sub bl,22h ; loop encription_loop ; mov ah,3Ch ;open the file to write mov dx,offset key_name ; int 21h ; xchg bx,ax ;put filehand in bx mov ah,40h ;write the key to disk mov dx,offset key_data ; mov cx,0C5h ; int 21h ; mov ah,3Eh ;close the file handle int 21h ; retn make_key endp title_text db 'X-Tract 1.51 Key File Generator by XLogic', 0Dh, 0Ah name_prompt db 'Enter your name: $' reg_type_text db 0Dh,0Ah,'Please Choose Registration Type:',0Dh,0Ah db '1. Registered Version',0Dh,0Ah db '2. Beta-Test Version',0Dh,0Ah db '3. Distro-Site Version',0Dh,0Ah db '4. Special Version',0Dh,0Ah db 'Enter the number corresponding to the type: $' no_entry db 0Dh,0Ah,'You must enter a name.$' done_text db 0Dh,0Ah,'Key file X-TRACT.KEY created.$' key_name db 'X-TRACT.KEY',0 reg_type db 0 key_data dd 073696854h,020736920h,072756F79h,067657220h,072747369h,06F697461h,0656B206Eh,06F662079h dd 02D582072h,043415254h,050202E54h,07361656Ch,064202C65h,06F6E206Fh,069642074h,069727473h dd 065747562h,021746920h,063280A0Dh,039312029h,062203439h,06F572079h,02C79646Fh,065754220h dd 020736F6Eh,065726941h,041202C73h,04E454752h,0414E4954h,06150202Eh,0206F6C62h,06576694Ch dd 06F532073h,06877656Dh,020657265h,054206E49h,054206568h,02E656D69h db 0Dh max_ent_length db 26h entry_length db 0 name_input db 40 dup ('$') checksum_dat db 2 dup (0) seg_a ends end start ------------------------------------------------------------------------------- Ok, there it is in all its glory. I hope you've learned something from this, and if you did, let me know. If you didn't, good for you. Tell me how to improve this tutorial. I can be contacted in _TAG_ or _TAG_ on EFNET. Cya Round. XLogic.


text:
Endothelial cells (ECs) lining the inner lumen of blood vessels are continuously subjected to hemodynamic shear stress, which is known to modify EC morphology and biological activity. This paper describes a self-contained microcirculatory EC culture system that efficiently studies such effects of shear stress on EC alignment and elongation in vitro. The culture system is composed of elastomeric microfluidic cell shearing chambers interfaced with computer-controlled movement of piezoelectric pins on a refreshable Braille display. The flow rate is varied by design of channels that allow for movement of different volumes of fluid per variable-speed pump stroke. The integrated microfluidic valving and pumping system allowed primary EC seeding and differential shearing in multiple compartments to be performed on a single chip. The microfluidic flows caused ECs to align and elongate significantly in the direction of flow according to their exposed levels of shear stress. This microfluidic system overcomes the small flow rates and the inefficiencies of previously described microfluidic and macroscopic systems respectively to conveniently perform parallel studies of EC response to shear stress.
ASJC Scopus subject areas
- Analytical Chemistry

source: openbmb/Ultra-FineWeb


text:
Following the devastating bushfires on the NSW South Coast, the Australian Government and Catholic Education Archdiocese of Canberra and Goulburn are providing a range of supports to affected children, families and communities.
The Australian Government will:
- provide mental health support for school staff, students and families in bushfire affected communities
- provide financial support to child care services in bushfire affected communities
- provide Child Care Subsidy (CCS) activity test debt exemptions for families in bushfire affected communities
- provide an additional $400 to families for each child aged under 16 that is eligible for the Australian Government Disaster Recovery Payment
- provide scholarships for regional students from bushfire affected communities to help them attend university
Further information on these assistance packages can be found on the Department of Education website.
Catholic Education Archdiocese of Canberra and Goulburn (CECG)
CECG has committed to providing practical and financial support to their schools in Batehaven, Broulee and Moruya that have been affected by the bushfires. This support includes:
- total fee remissions to families
- additional relief staffing to affected schools
- additional counselling services for students, staff and the wider school community
For more information contact Ben Duggan on (02) 6234 5454.
For information on personal hardship and distress assistance, contact the Disaster Welfare Assistance Line on 1800 018 444.


text:
Countries go through good and bad times, just like people do. And just as it happens to people, the cause is to be found sometimes in objective facts, other times in subjective reasons. The former are the most frequent cause, related to poverty, injustice or illness; the latter, among which are dissatisfaction or depression, should not be underestimated. Spain, a country which has overcome situations of apparent inequality, extreme poverty and manifest lack of freedom, finds itself, forty years after the implementation of the 1978 Constitution, in a deep crisis due primarily to symbolic and psychological reasons. The article analyzes the central role of language in the present crisis and suggests educational and communicative strategies to facilitate the empowerment of languages in Spain so that they can become languages of Spain.
Linguistic Conflict, Political Crisis, Languages in Spain, Languages of Spain.


text:
A curated list of open source Website accessibility Evaluation tools that will enable automation of web accessibility testing more affordable & easier.
- A11ySitechecker
A11y-sitecheker is a tool to check a site against accessibility criteria. It uses axe-core with the option to combine results of multiple sites.
A11yWatch is a powerful web accessibility toolkit made using Rust and Nodejs
- Accessibility Insights
Assess your websites for 100% WCAG 2.0 AA coverage with the latest Trusted Tester guidelines.
- Automated Accessibility Testing Tool (AATT)
Browser-based accessibility testing tools and plugins require manually testing each page, one at a time. Tools that can crawl a website can only scan pages that do not require login credentials, and that are not behind a firewall. Instead of developing, testing, and using a separate accessibility test suite, you can now integrate accessibility testing into your existing automation test suite using AATT.
- axe Accessibility Rules Engine by Deque Systems
The Accessibility Engine for automated testing of HTML-based user interfaces. Drop the aXe on your accessibility defects!
Crest quickly tests any HTML web page for a simple way to solve your accessibility testing problems. Provide a website URL to our callable API and expose potential WCAG violations.
- Domain Accessibility Audit
This web application automatically crawls websites and checks for accessibility violations. It can crawl within subdomains of the initial domain it starts with. It reports statistics of violations for the whole audit, domains and pages.
- IBM Equal Access Toolkit
The IBM Equal Access Accessibility Checker is an open source tool for web developers and auditors that utilizes IBM's accessibility rule engine, which detects accessibility issues for web pages and web applications. The extension integrates into the browser development tools, providing an integrated checking experience, helping users quickly identify the source of accessibility issues and try fixes.
- NAB/UBKAccessibilityKit: An iOS framework to help with accessibility development and testing.
UBKAccessibilityKit allows you to audit your iOS app on device, removing the need to stop and inspect each element via Xcode. UBKAccessibilityKit can be added to your exisiting project and includes the following features.
- Add in custom colours using the colour hex code.
- Brand colours;
- Change text, tint and background colours live in app.
- Check colour contrast on text, tint and background colours
- Custom the foreground or background colours. Custom the foreground or background colours.
- Dynamic text sizes supported
- Highlight warnings as they are detected using the "Outline warnings" feature
- Minimum size
- Missing accessibility hints
- Missing accessibility label
- Missing accessibility traits
- Missing accessibility value
- Missing isAccessibilityElement
- Show touch points on screen, handy for when you're doing presentations or recording a video and want to show touches and swipes on screen.
- Swap foreground (Text & tint) colour with the background colour.
- Warnings & Validations
- Pa11y – Your automated accessibility testing pal
Monitor the accessibility of your websites with pa11y-dashboard, and protect against accessibility errors creeping into your codebase*.
- Purple HATS
Purple HATS is a customisable, automated accessibility testing tool that allows software development teams to assess whether their products are user-friendly to persons with disabilities (PWDs).
Tanaguru is an open source (AGPL license) website assessment tool. It is dedicated to accessibility (a11y) audits, and focuses on reliability and high level
An accessibility visualization toolkit.


text:
|Build-A-Board®: for Windows; The Next Generation of Onscreen Keyboards; Version 2.20 Release 6; User's Guide|
|Prev||Chapter 4. Building Boards & Reference||Next|
The Text Compiler / Edit window is the process that reads the source files and compiles them into binary files for maximum space conservation on the target system.
Technical Note: During the build process, each source file is compiled with a separate instance of the Text Compiler. Each process runs with a hidden window, unless there is a compile error. The separate process approach maximizes build speed when a multi-core or multi-processor system is available. However, system or file errors can result in numerous windows being shown in an error state due to this (typically hidden) aspect. If you experience this, be sure to check Global Properties (SOURCE path), system configuration (memory/hard drive space available), and project integrity (have you done anything manual, or moved files, etc.?).


text:
Use the computer without the mouse or keyboard
Windows has two features to help you use the computer without using a mouse or keyboard: Speech Recognition (you can use voice commands to work with Windows) and On-Screen Keyboard (you can enter text by selecting characters on the screen).
You can turn on or adjust settings for these features on the Use the computer without a mouse or keyboard page in the Ease of Access Center.
Open the Use the computer without a mouse or keyboard page by clicking the Start button, clicking Control Panel, clicking Ease of Access, clicking Ease of Access Center, and then clicking Use the computer without a mouse or keyboard.
Select the options that you want to use:
Use On-Screen Keyboard. This option sets On-Screen Keyboard to run when you log on to Windows. On-Screen Keyboard displays a visual keyboard with all the standard keys. You can select keys using the mouse or another pointing device, or you can use keys on the standard keyboard. For more information about using On-Screen Keyboard, see Type without using the keyboard (On-Screen Keyboard).
Use Speech Recognition. Use this option to control the computer with your voice. With a microphone, you can speak commands that the computer will understand and respond to, as well as dictate text. For more information about setting up Speech Recognition, see Set up Speech Recognition.

source: HuggingFaceFW/fineweb-edu


text:
Integrate prototyping into your development process! With the Pidoco API you can link wireframes and prototypes directly to your wikis, bug-tracking, requirements and project management systems.
Most professionals use different systems during development or even during the initial wireframing and prototyping stages to keep track of requirements, manage project progress, and communicate with others. Often, business users and developers use different systems. Pidoco helps bridge these gaps by providing a collaborative prototyping solution with central access to projects. But Pidoco offers more to help you deal with these communication challenges.
With the Pidoco API you can link your prototypes to other IT systems, for example by incorporating images of prototype pages into requirements systems or by adding prototypes to your enterprise wiki or project management system via direct links. If you want to integrate Pidoco even more closely with your existing IT systems and development tools, the Pidoco API provides an API key for your application to communicate with the prototype, which enables you to perform different operations like creating, reading, updating or deleting a resource from within other applications. Take advantage of the API access to improve your development or reporting.
- Embedding: Link up to prototypes directly from within existing applications for easy access.
- Collaboration: Bridge gaps between different users and IT systems.
- Integration: Integrate prototyping with your development processes using API keys.
- Convenience: Use up-to-date visuals for development and reporting.
Your Benefits with Pidoco:
- Improve teamwork with easy access
- Communicate across systems and roles
- Integrate seamlessly with IT systems
- Link prototypes to enterprise wikis
- Integrate with project management
- Improve development processes


text:
What trade-offs are involved in shifting from a traditional operations system to a lean system for:
a. A manufacturing firm
b. A service firm
Shifting from a traditional operations system to a lean operations system in a manufacturing firm means a paradigm shift. The basic philosophy of manufacturing which involves the perceived safety of holding warehoused finished goods and inputs, to a philosophy of ordering Just in Time, requires confidence in the abilities of workers to produce on demand, equipment to be ready and operational, the market has some predictability, and suppliers to be reliable. Any one of these variable, not producing as anticipated can result in the collapse of the lean operating system because the leanness is in the...
The pros and cons of the transitional process are explained in 402 words.


text: We present an iterative inner-outer scheme for the efficient solution of large-scale electromagnetics problems involving perfectly-conducting objects formulated with surface integral equations. Problems are solved by employing the multilevel fast multipole algorithm (MLFMA) on parallel computer systems. In order to construct a robust preconditioner, we develop an approximate MLFMA (AMLFMA) by systematically increasing the efficiency of the ordinary MLFMA. Using a flexible outer solver, iterative MLFMA solutions are accelerated via an inner iterative solver, employing AMLFMA and serving as a preconditioner to the outer solver. The resulting implementatin is tested on various electromagnetics problems involving both open and closed conductors. We show that the processing time decreases significantly using the proposed method, compared to the solutions obtained with conventional preconditioners in the literature.


Microsoft &.NET Visual Basic Extending the TextBox Control
Extending the TextBox Control
As we all know the strength of VB is it's simplicity. Just draw some controls onto a form set some properties during design time, write some "glue code" and you're done (well, almost anyway). VB also provides us with ready to go controls that are the same as Windows own controls (i.e. TextBox, ListBox, CommandButton and so on) or are they?
Windows own controls have more properties then those available in VB. Properties that Microsoft was too lazy to include or just didn't think a VB developer needed.
But is there a way to harness the power of these hidden properties? Luckily there is! With the help of the SendMessage API function you can extend an ordinary textbox so you can treat the lines of text as an array of strings. This is very useful when you want to parse the text. Let's say that you want to create an HTML editor and you want to add color coding (just like the editor in VB itself). Wouldn't it be very useful then if you could extract just the line of text the text caret is on and examines that text for the HTML tags you want to add colors to? Of course it would! But how do you add colors to a textbox you ask? Well, actually you can't. But the code I'm going to show you could as easily be used on a rich text box as well as a standard textbox.
Let's go to work!
Now, let's go to work, first you have to declare the SendMessage API function:
Public Declare Function SendMessage _
Lib "user32" Alias "SendMessageA" ( _
ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
You also need to declare the messages you want to send to the textbox. Let's say you want to write a wrapper function that can tell you the index of the first visible line in the textbox. Then you have to declare the following message:
Now you can go ahead and write the function:
Public Function TopLineIndex(txtBox As TextBox) As Long
TopLineIndex = SendMessage(txtBox.hWnd, _
End Function
The EM_GETFIRSTVISIBLELINE message doesn't take any arguments so wParam and lParam must be set to 0 (zero). If you want to use this function on a rich text box instead of the standard textbox then just change the argument type to RichTextBox instead of TextBox in the TopLineIndex function. Remember that the line index is zeroing based i.e. the function returns 0 for the first line, 1 for the second and so on.
A rich text box has a method called GetLineFromChar which returns the line index of the given character indexes. The standard textbox lack such a method though. Let's fix that! You need to use the EM_LINEFROMCHAR message witch is declared in the following manner:
The EM_LINEFROMCHAR message takes the index of the character position in the wParam argument.
Public Function GetLineFromChar(txtBox As TextBox, CharPos As Long) As Long
GetLineFromChar = SendMessage( _
txtBox.hWnd, EM_LINEFROMCHAR, CharPos, 0&)
End Function
So if you want to know what line the text caret is on in a multiline textbox you could call the function in this manner:
Dim lngLineIndex As Long
lngLineIndex = GetLineFromChar(Text1, Text1.SelStart)
MsgBox "You are on line number " & lngLineIndex + 1
Again remember that the line index is zero based.
You can also do the opposite, finding the index of the first character of a line, with the EM_LINEINDEX message.
Public Const EM_LINEINDEX = &HBB
Public Function GetCharFromLine(txtBox As TextBox, LineIndex As Long) As Long
GetCharFromLine = SendMessage( _
txtBox.hWnd, EM_LINEINDEX, LineIndex, 0&)
End Function
Now that we know how to find out what line we currently standing on wouldn't it be nice to find out how many lined of text there is in the textbox? Well that's easily done if you know of the EM_GETLINECOUNT message. This message doesn't take any arguments so we must pass 0 to wParam and lParam.
Public Function LineCount(txtBox As TextBox) As Long
LineCount = SendMessage( _
TxtBox.hWnd, EM_GETLINECOUNT, 0&, 0&)
End Function
OK that was simple enough. Let us go on to the next message: EM_LINELENGTH. This message takes a character index in the wParam argument and returns the length of the line which contains that character:
Public Const EM_LINELENGTH = &HC1
Public Function LineLen(txtBox As TextBox, CharPos As Long) As Long
LineLen = SendMessage( _
TxtBox.hWnd, EM_LINELEENGTH, CharPos, 0&)
End Function
Easy wasn't it? What did you say? – Too easy? Well, let's do something a little more complicated then? Let us write a function that extracts a single line of text from the textbox. The message we need to use is called EM_GETLINE and it takes the line index in the wParam argument and a buffer string to save the text line in as the lParam argument.
Although this sounds faily easy, the problem is that the message requires that the max length of the string to return be saved in the first word of the buffer. A word is a 16-bit value. How can we save such a value in a VB unicode string? The answer is we can't. So what's the solution then? Well, we have to use a byte array and then convert it to a string afterward.
Public Const EM_GETLINE = &HC4
Public Function GetLine(txtBox As TextBox, _
 LineIndex As Long) As String
Dim bBuffer( ) As Byte 'the byte array
Dim lngLength As Long 'the max length of the line
Dim sRetVal As String 'the text to return
'check to see if the LineIndex value is valid
If LineIndex >= LineCount(txtBox)
'call the LineCount function shown above
Exit Function 'bale out
End If
'get the length of the line
lngLength = LineLen(txtBox, GetCharFromLine(txtBox, LineIndex))
'check that there is any text on the line
If lngLength < 1 Then
Exit Function
End If
'ReDim the byte array
ReDim bBuffer(lngLength)
'Save the length in the first word of the array
bBuffer(0) = lngLength And 255
bBuffer(1) = lngLength 256
'Send the message
SendMessage txtBox.hWnd, EM_GETLINE, LineIndex, bBuffer(0)
'Finally convert the byte array into a string and return it
sRetVal = Left$(StrConv(bBuffer, vbUnicode), lngLength)
GetLine = sRetVal
End Function
As you can see there is a lot you can do to extend the functionality in the standard VB controls. And these are just a few of the messages you can use on a textbox. Some of the others are:
EM_CANUNDO - Determines if you can undo the last editing or not.
EM_UNDO - Undo the last editing.
EM_GETMODIFY - Determines if the text in the textbox has been modified. Great to check if you make an editor and want to know if the text have to be saved or not.
EM_SETMODIFY - Manually set the modify flag to true or false. This flag is automatically set to true when the text changes.
I have written a class called cTextBoxEx, with an accompanied demo application, which use all of the mentioned messages and also add a function to delete a single line from the textbox. Furthermore it adds a couple of shortcuts as well. These are CTRL+A to select all and CTRL+Y to cut the current line and put it on the clipboard.
Latest Posts
Related Stories


text:
|Home A B C D E F G H I J K L M N O P Q R S T U V W X Y Z|
|Home S Sulfur: The Value of Sulfur to Good Health|
The Value of Sulfur to Good Health
Sulfur is one of four amino acids that performs a number of important protein synthesis and enzyme reaction functions. Sulfur is needed for the proper production of collagen, the protein found in all connective tissues. This element of collagen production makes sulfur an important element in the protection of the joints. In addition, sulfur plays an important role in helping to maintain healthy hair and skin.
Dietary Sources of Sulfur:
High protein foods like meat, fish, poultry, eggs, milk and legumes typically have a high sulfur content. In fact, egg yolks are one of the richest sources of sulfur in the diet. Sulfur is also present in onions, garlic, cabbage, turnips and Brussels sprouts.
Recommended Dailiy Intake of Sulfur:
There is no recommended daily intake established for sulfur, and most diets include plenty of this element.
Sulfur is part of some multivitamin and mineral formulas.
Side Effects and Toxicity of Sulfur:
There have been no known incidents of sulfur toxicity.
Symptoms of Sulfur Deficiency:
Sulfur deficiency has only been documented in those whose sole source of food was grown in soil which had been depleted of sulfur. Sulfur deficiency is of little concern to the average person.
Glossary References Links Contact


UK Spaceport Alliance and SSLC Hold Workstreams as the UK Inches Closer to a Launch
19th Nov 2020
UK Rocket Launch
The SSLC (Scottish Space Leadership Council) led an initiative that lasted several weeks and included all UK launching site developers. The talks were conducted to bring together all key players after the conclusion of a consultation.
The UK government had initially published the consultation on 29th July 2020. It entailed lively talks and conducting further research. The debate also went on about how all the regulations on the proposal were to be implemented successfully.
There's a need for a more collaborative space industry in the UK as per the highlights of this workstream. All UK stakeholders were notified of the need to address specific areas of space advancements.
UK Spaceport a Part of Workstreams Addressing UK Launch Missions
On top of other aspects, the workstreams spearheaded talks on how launches may impact the environment as well as the safety matters entailed. All main participants were required to grasp the role each plays in terms of risks, liabilities and issues of insurance. This will create useful methods in terms of all operations.
Out of the mainstream, the UK spaceport and the SSCL concluded on the need for a regulator. Accomplishing this won't just be by filling out the questionnaire but also coming up with proposals that will impact the UK space industry. They identified that questions on these questionnaires can be interpreted differently and that more input is required.
With that, the UK can position itself to come up with regulations that affect the industry in the UK and across the globe. All this is for smallsat launching services. It will immensely benefit the UK space industry's commercial efforts to grow to its potential and contribute to the UK economy.
The UK accomplishments through this approach were highlighted in recent events held by the council. It highlighted how beneficial this collaborative move by the UK spaceport sector in understanding issues facing the industry.
Additionally, these events' output included actions and recommendations that led to an agreement for further advancement. The UK Spaceports Alliance chair, John Innes, expressed gratitude for all the dedication members showed during the workstreams.
Related Articles
Explore Orbital Today


Vulgarity is the quality of being crude and lacking refinement. Fart jokes and swearing are both forms of vulgarity.
One of the criteria used in assessing whether a movie is rated PG-13, R or even X is how much vulgarity in involved. Vulgarity is the quality of being offensive and crass. Fart jokes, sexual humor, and obscenities are all examples of vulgarity. A R-rated movie or TV show on cable likely has some vulgarity. Vulgarity doesn't get much respect because it appeals to people's cruder instincts.
Definitions of vulgarity
n the quality of lacking taste and refinement
coarseness, commonness, grossness, raunch, vulgarism
Type of:
the quality of lacking refinement and good taste
Sign up, it's free!


Why Young European Biotech Network?
YEBN works in order to build a bridge between academia and industry, creating tools to help young professionals and last year students to develop themselves at a professional and personal level.
We are especially interested in activities aiming to foster European collaborations and careers in the biotech field in Europe, in giving a voice to young bioleaders concerned by the creation of sustainable impact in our society.
Join us now and become part of our common adventure!
A Europe full of bioleaders working in the constant creation of sustainable development impact in our society.
Develop the new generation of bioleaders, expanding the knowledge, skills and mindset that motivates them to become deeply committed to achieve a sustainable impact in the future.
1. Striking for Collaboration.
2. Following Ethics.
3. Developing Leadership.
4. Activating personal development.
5. Leading networking.
6. Promoting equity in a diverse and inclusive society.
7. Creating international bonds.
Our Aims
1. Provide a European platform for international events and career opportunities.
2. Support young scientists in expanding their network and enhancing their career.
3. Bring academia and Life Science industry closer together.
4. Teach skills young scientists need beyond their studies for being successful.
5. Connect national organisations in Europe for a lively exchange of ideas and experience.


University of Colorado at Boulder
ECE Home
Course List
Contact Us
ECEN 5682 - Theory and Practice of Error Control Codes
Catalog Data ECEN 5682 (3). Theory and Practice of Error Control Codes. Block and convolutional codes for reliable transmission of digital data over unreliable noisy channels. Algebraic and dsp characterizations of cyclic codes such as BCH/RS codes. Decoding algorithms for block codes and the Viterbi algorithm. Graph codes and iterative decoding.
Credits and Design 3 credit hours. Elective course.
Prerequisite(s) ECEN 3300, Linear Systems
Textbook Blahut, Algebraic Codes for Data Transmission, Cambridge Press.
Course Objectives To learn about the theory and usage of modern error-control codes.
Topics Covered
 1. Linear block codes.
 2. Galois fields, finite field arithmetic.
 3. Cyclic codes.
 4. Decoding algorithms for BCH codes and RS codes.
 5. Spectral description of cyclic codes.
 6. Convolutional codes.


text:
Smoke from moorland wildfires may hold toxic blast from the past | Innovation Tech
THE UK's largest wildfire for decades is almost under control after blazing for a week during the country's longest heat wave since 1976. But with no rain forecast for at least a week, peat burning underground at Saddleworth Moor near Manchester could continue to smoulder, generating hazardous smoke. The same could happen on moorland at Winter Hill (pictured), 50 kilometres away, which burned for five days before being put out.
Fire chiefs tackling the Saddleworth blaze say it has consumed up to 20 square kilometres of moor and scrubland. Although surface fires are all but out, peat below ground continues to smoulder and can only be completely extinguished with a two or three-day downpour. "Without rain, it's very difficult to put out," says Hugh Coe, a professor of atmospheric composition at the University of Manchester.
As it continues to smoulder and burn, the peat reignites sporadic surface fires, and spews potentially hazardous smoke. "The worst hazard is the small-particulate matter, which exacerbates lung problems, asthma, allergy and chronic obstructive pulmonary disorder," says Coe. Burning peat debris also gets coated with cancer-causing chemicals called polyaromatic hydrocarbons.
But because of extensive toxic fallout from factories a century ago, there could be other hazards. "There's 100 years' of pollution buried along with the peat as it formed," says Coe. This could mean that toxic heavy metals such as lead and cadmium are taking to the air in fly ash.
This article appeared in print under the headline "Wildfire smoke hazard"
More on these topics:


Travel - Oasis Verte
Oriental Essences Travel - Oasis Verte
travel eau de parfum, 15 ml
Evoke the fragrant world of a lush oasis hidden in the wilderness of ancient Arabia. Invigorating vetiver and green patchouli fu... Show more
Or check instore availability
The Vetiver grass species originates from India. The oil is distilled from the roots and has a characteristically sweet and earthy scent that comes into its own in perfumes. This 'oil of tranquillity' has a balancing and overall calming effect.
Green Patchouli
Native to Asian tropical regions, Patchouli is now extensively cultivated in Indonesia, India, China and South America. Its common name comes from Tamil "patch", meaning green and "ilia", meaning leaf. Originally, dried patchouli leaves were used to protect silk fabrics printed in India from insects while they were exported to England, giving the silk a woody, earthy and slightly sweet scent.
View all ingredients
How to Use
Dab onto your pulse points, such as behind your ears, on your wrists, inside your elbows and at the bottom of your throat. Let the fragrance air dry, do not rub as this will change the scent.


Take the 2-minute tour ×
What are the advantages/disadvantages of using the arithmetic Sharpe Ratio vs the geometric Sharpe Ratio? Is one more correct? Or is one better in certain circumstances?
share|improve this question
add comment
4 Answers
In addition to John's answer and just to make things clear:
The arithmetic mean is given by
$$\mu_a = \frac{1}{n} \sum_{i=1}^n x_i$$
The geometric mean is given by
$$\mu_g = \sqrt[n]{\prod_{i=1}^n (1+x_i)} -1$$
And we have that
$$\mu_g \leq \mu_a$$
So not only would the geometric sharp ratio would be taking into account the "actual" return of the portfolio, but it is also a more conservative measure.
share|improve this answer
Where can I find a demonstration that $$\mu_g \leq \mu_a$$ – Marco Demaio Mar 4 at 20:50
add comment
I'm not sure it makes sense to think of one as more correct than another. However, they do have significant differences. It may help to distinguish between ex-post evaluation of a strategy and ex-ante prediction of what the strategy's performance will be.
For simplicity, let's assume the log returns of the strategy are approximately i.i.d. univariate normal and the risk-free rate is a constant. If you were a mean-variance investor deciding between the risk-free rate and the strategy, you would estimate the mean and variance of the log returns, project it to the investor's horizon, and convert the normal to lognormal to obtain the arithmetic returns. So if you were calculating a Sharpe ratio that is consistent with the way it was originated in financial theory, i.e. the slope of the efficient frontier, would be this arithmetic ex ante expected Sharpe ratio.
However, the Sharpe ratio is also used in performance evaluation in different ways. I think one major reason that the geometric version is used is that the numerator will correspond with what the investor actually earned, the CAGR. This might be useful to some people, but personally I prefer to look at the CAGR by itself rather than in the Sharpe ratio. Further, the CAGR is the median of the lognormal distribution under some assumptions. I find it more intuitive to use the mean and keep ex-post consistent with ex-ante, which would bring me back to the arithmetic Sharpe.
Another reason to use the geometric version might be that it avoids the distributional issues with the lognormal distribution (since it has skewness/kurtosis). However, Opdyke (2007) provides the asympototic distribution of the Sharpe ratio under fairly general assumptions.
share|improve this answer
add comment
There are many variants proposed; some useful, some not so much. As an investor, the most important thing is to compare the exact same ratio, calculated in the exact same way, for each prospect. As the prospect/fund the most important thing is to be clear about the statistic you are reporting so your investors make well informed decisions. So let's start with some definitions specific to your question.
 - Sharpe ratio, sometimes called the "Modified Sharpe" ratio, is the arithmetic average of excess returns divided by the standard deviation of those returns, $r_t\in R$.
 $Sharpe Ratio = \frac{E[R_t - R_{free}]}{\sigma}$
 where $R_t\in[-1,\infty)$, which is a percentage, and $R_{free}$ is the risk-free return rate, typically taken as the current T-Bill rate.
 It is commonly calculated over annual periods, but monthly, or daily periods are common too. It is a class of signal-to-noise ratio indicating the expected reward per unit of risk. This is the most commonly cited variant and is the measure proposed by professor Sharpe in 1994.
 - The Geometric Sharpe ratio is the geometric average of compounded excess returns divided by the standard deviation of those compounded returns. This is equivalent to the arithmetic average and standard deviation of $log(1+r_t)$, which is the more convienient calculation.
The difference is mostly in the use of the average of the excess returns for the period or the compounded returns. Because the log returns are generally smaller, the "Geometric Sharpe ratios" generally suggests a higher number; about 12.5% higher for samples from a uniform distribution. Naturally, it is completely bogus to compare dissimilar ratios...so be sure you know which measure you are digesting.
share|improve this answer
add comment
For any real world applications, the difference between the arithmetic and geometric Sharpe ratios is likely to 'fall under the noise floor', i.e. be smaller, typically much smaller, than a standard error. This is even under the generous assumptions of stationarity and absence of omitted variables.
share|improve this answer
add comment
Your Answer


[Haskell-cafe] Categorical description of systems with dependent types
Dan Doel dan.doel at gmail.com
Fri Dec 3 02:43:35 CET 2010
On Thursday 02 December 2010 7:54:18 pm Larry Evans wrote:
> [snip]
> *Maybe* the computer science people are trying to minimize the concepts.
> In this case, the one concept common to both the sum and product ( in
> the math peoples viewpoint) is there's a function:
> field2type: field_name -> Type
> in the case of a product or record, r, it's:
> product = f:fieldname -> field2type(f)
> in the case of a disjoint sum its:
> sum = (f:fieldname, field2type(f))
> or something like that.
I'll be honest: I don't really know what you're saying above. However, I can
throw in my 2 cents on the naming thing.
The product-function naming obviously comes from thinking about, "what if the
type of later arguments of a tuple could depend on earlier ones, and what if
the result type of a function could depend on the argument?" These are quite
ordinary questions for a practicing programmer to think about, which is
probably why computer science people (supposedly) favor this naming. I might
even use this naming myself when appropriate, although I'd say 'tuple' (or
record) instead of 'product' to (hopefully) avoid confusion.
The sum-product naming, by contrast, comes from thinking about, "we have n-ary
sums and products for any natural n; for instance, A + B and A * B are binary.
This can be viewed as sums and products of families of types indexed by finite
sets. What if we generalize this to sums and products of families indexed by
*arbitrary* types?" Unlike the above, I don't think this is something that is
likely to be sparked naturally during programming. However, it's quite close
to similar constructions in set theory, which probably explains why
mathematicians favor it.
If you get into category theoretic views of programming languages, I think the
sum-product naming makes sense there, and it's hard to make the productfunction naming work. For instance:
 The A-indexed product Π x:A. F[x] has an A-indexed family of projections:
 proj a : (Π x:A. F[x]) -> F[a]
 The A-indexed sum Σ x:A. F[x] has an A-indexed family of injections:
 in a : F[a] -> (Σ x:A. F[x])
Which are visibly generalizations of the definitions of (co)products you'd
encounter modelling non-dependently typed languages. Perhaps this is on the
math end of things, though.
-- Dan
More information about the Haskell-Cafe mailing list


text:
Water Treatment Plants
Delta Mobrey has been designing and manufacturing instrumentation for process industries for over 65 years and has supported projects in the Water Industries in the UK and worldwide.
Desalination is the process of removing salt from sea water or brackish river or groundwater to make potable water. The desalination process involves either a thermal distillation process or membrane system such as reverse osmosis. While the end result of desalination is clean and useful water, there are several aspects of the process which need to be carefully controlled and monitored so as not to negatively impact the environment.
It is at these pre and post-treatment stages where Delta Mobrey instruments operate.
The first Desalination Plants were commissioned in the 70's however it is only about 15 years that the water shortages in a number of countries, especially in the Middle East, created the rise in water treatment plants.
In 2006 Delta Mobrey was awarded of the first significant order for a complete range of pressure, pressure difference and temperature products to support Engineering, Procurement and Construction of a major Desalination Plant.
Delta Mobrey instruments can be found in some of the most important plants, mainly in Middle East Region.
- Kahramaa Water Reservoirs and Pumping Stations, Qatar
- Az Zour phases 1-4 Power and Desalination Plants, Kuwait
- Arzew IWPP Power & Desalination Plant, Algeria
- Rome Southern Lazio Potabilization Plant, Italy
- Shuaibah III Desalination Plant, Saudi Arabia
- Taweelah A1 Power and Desalination Plant, UAE
Examples of applications
Delta Controls Instruments are used in a variety of applications including process control and emergency shut-down systems.
High pressure instruments provide control and safety functions:
- Pressure gauge with contacts to monitor membrane inlet pressure
- Pressure gauge to monitor membrane discharge pressure
- Emergency pressure switch for membrane inlet pressure
Low pressure instruments provide control of the lower pressure sections of the plant
- Pressure transmitters or pressure switches to control inlet pressures to proceses
- Pressure gauges to monitor inlet pressure
- Pressure transmitters or pressure switches to control high pressure pump inlet
- Pressure gauges to monitor all fine filter housings
- Pressure gauges to monitor brine outlet pressures
- Pressure gauges to monitor neutralisation filters in and out.
Differential pressure instruments provide control of all filtration activities.
- Differential pressure gauges to monitor correct working of all filtration systems
- Differential pressure gauges with contacts or differential pressure switches or differential pressure transmitters to control all filter clogging/degredation
Temperature instruments provide flow and pressure adjustment to manage plant temperature variations.
- Thermometers with contacts or temperature switches or temperature transmitters to compensate flow and pressure along the plant.
- Thermometers to monitor the whole process
The range of products available include (see the Product Selection in the Website)
- DPC-Series Pressure Transmitters
- DPR-Series Differential Pressure Transmitters
- DPT-Series Temperature Transmitters
- Sentry-Series Low Pressure Switches
- VM-Series High Pressure Switches
- S20-Series Adjustable Dead Band Pressure Switches
- 200-Series Dual Set Point Pressure Switches
- 300-Series Very Low Differential Pressure Switches
- S70-Series Temperature Switches
- GA-Series Bourdon Tube Pressure Gauge with and without Contacts
- DG-Series Differential Pressure Gauges with and without Contacts
- GB-Series Bimetal Thermometers
- GI-Series Expansion Gas Thermometers with and without Contacts.
- Needle Valves in 316SS or NACE Materials
- 2, 3 and 5 Valves Manifolds in 316SS or NACE Materials
- Threaded Thermowells from barstock in 316SS or NACE Materials
- Flanged Thermowells from barstock in 316SS or NACE Materials
- Siphons in 316SS
In addition to our standard range of instruments, we have also developed bespoke products for many of our customers whenever a technical solution cannot readily be found 'off the shelf'.
Our team of engineers are ready to discuss your exact requirements to ensure the product you need for your application is correctly specified and supplied. Please contact us using our enquiry form or by email.


Test.NET Core AWS Lambda
Feb 20, 2019
The following post shows some techniques about test.NET Core AWS Lambda, more in specific, it focuses on testing.NET Core AWS Lambda using the LambdaTestTool. I've already spoken about serverless,.NET Core, and AWS Lambda in the following article: Fast growing architectures with serverless and.NET Core. This post will be focused more on the testing side.
The testing issues in a serverless computing
As said in the previous post about serverless it is hard to test serverless applications. Especially when their complexity grows, it is hard to detect issues before running them on the cloud. Furthermore, from a development perspective, it is hard to deal with the problems if every time we need to re-deploy our services to verify the result.
Existing testing tools
Some existing testing tools help us to deal with the serverless systems. Speaking about AWS, things like _URL_ provides a way to emulate the AWS stack on your machine by installing it or by running a docker image. The point of these frameworks is that they consume a lot in terms of resources and they are not always suitable for integration testing.
Testing lambda using LambdaTestTool
The LambdaTestTool is a utility produced by the AWS.NET Team which provides a useful and light way approach to the Lambda testing. Furthermore, it provides a way to debugging your lambda locally by triggering some input events and attaching the debugger of your preferred IDE or code editor.
Recently, the AWS.NET Team also released a new version of the LambdaTestTool with the following PR:
which enables the debugging also for all the lambdas that use the serverless framework.
The LambdaTestTool is implemented as part of the dotnet tool suite (I've already written about dotnet tools in the following post: Artless HTTP server using.NET Core), it is cross-platform, and can be installed by using the following command:
dotnet tool install -g Amazon.Lambda.TestTool-2.1
Moreover, it is possible to update the tool at the latest version using the following instruction:
dotnet tool update -g Amazon.Lambda.TestTool-2.1
The above-mentioned code installs the new dotnet tool on your local machine. Therefore, it is possible to use it to run the lambda locally by configuring your IDE or code editor properly.
Debug the lambda
The LambdaTestTool runs an ASP.NET instance which returns the following interface:
The UI provides a way to select the config file of the lambda, the function in the project to execute, the credentials, the AWS region and the message to send as the input of the function.
It is possible to configure the LambdaTestTool on multiple editors, such as Visual Studio, Visual Studio Code, Rider and Visual Studio for Mac. The next section shows the configurations for Visual Studio Code and Rider.
Visual studio code
The same approach can be taken with a Visual Studio Code, by adding the following section in the launch.json file:
For example, in the case of Rider IDE, it is possible to use the tool by creating a new configuration in the IDE:
The Exe path field refers to the path to the dotnet tool:
The working directory field is the root folder of the lambda project.
It is possible to get more information about the LambdaTestTool on Github: _URL_ The tool is still in a preview phase, but it is a very useful and fast way when we want to verify and testing a.NET Core AWS Lambda. What's still missing, is a quick way to integrate the package and run it directly in the code, for example, as a part of a unit testing process.
Cover image by The Cutty Sark – © National Maritime Museum


text:
Situated in the south-west Pacific, about 1800 km north-east of Australia, are Solomon Islands. Most of the inhabitants of this island country are dark-skinned people called Melanesians. One of the intriguing features of these people is the naturally bright blond hair, which about 10 percent of them sport. Surprised at the co-existence of blond hair with dark skin?
Read on to know the reason for the islanders' blond locks...
Well, a number of hypotheses like bleaching by sun and saltwater, a diet rich in fish, and the genetic legacy of Europeans or Americans have been considered for the origins of their blond hair. But a new study has found that the naturally blond hair in Solomon Islanders is due to variant of a native gene called TYRP1 that plays an important role in the melanin biosynthetic pathway.
The findings were arrived at after analyzing the genetic makeup of 43 blond and 42 dark-haired Melanesians.
Note that the variant of TYRP1 gene is distinctly different from the gene that causes blond hair in Europeans. This variant is not present in the Europeans.
Given the fact that the particular variant responsible for blond hair in the Solomon Islands is absent in the genomes of Europeans, the study author Sean Myles, a geneticist at Nova Scotia Agricultural College in Truro, Canada, said, "It's a great example of convergent evolution, where the same outcome is brought about by completely different means."
The research was co-led by Dr Nic Timpson from the Medical Research Council Center for Causal Analyses in Translational Epidemiology at the University of Bristol and researchers at the Stanford University School of Medicine.
The study is published May 4 in the journal Science.
by RTT Staff Writer
For comments and feedback: _EMAIL_


Regripping Instructions
If you don't feel comfortable regripping your own clubs, contact you local Golf Pro, and they will be able to do it for you.
Step 1:
Apply the white side of the tape lengthwise along a clean shaft. Allow 1/4 of an inch to extend beyond the butt end of the shaft.
**Note: This tape can be applied over build up tape, just like the solvent-activated, double coated tape.**
Step 2:
Remove the white liner and carefully wrap the tape around the shaft. Twist the end of the tape and push the twist inside the butt end of the shaft. This will prevent water from entering the shaft during the grip installation process.
Step 3:
Plug the hole in the grip cap with a tee or cover the hole with your finger, then pour solvent both into the grip and along the surface of the tape. Cover the open end of the grip and shake to thoroughly wet the entire inside.
**Note: One drop of liquid dish soap can be added to 16 ounces of water to make the grip slide on easier.**
Step 4:
Pour the solvent from the grip along the entire length of the solvent soluble tape to again moisten the tape.
**Note: Shake the grip briskly to remove any excess solvent that may be trapped.**
Step 5:
It is very important that the entire surface of the tape is wet (be sure that the butt end is also saturated) to facilitate installation. Position the open end of the grip just beneath the shaft butt and quickly slide the grip up and over the shaft until the shaft hits the end cap.
**Note: The grip should be applied as closely as possible in the correct alignment at this point.**


Harry Potter Wiki
Troll Bridge
Revision as of 03:50, June 19, 2013 by ProfessorTofty (Talk | contribs)
12,158pages on
this wiki
Troll Bridge
Troll Bridge
Location information
Forbidden Forest, Hogwarts Castle Grounds, Scotland, Great Britain
Permanent residents
Trolls (likely)
The Troll Bridge is a location in the Forbidden Forest near the grounds of Hogwarts School of Witchcraft and Wizardry. The bridge itself was actually a tree that was used to cross a small gap with sand, usually used by trolls. A book in the Founders' Tower of the Hogwarts Castle contained a picture of this bridge.[1]
Behind the scenes
 - This bridge may be a reference to Three Billy Goats Gruff, which features a fearsome troll that lives under a bridge and likely popularised the idea of trolls being associated with bridges.
Notes and references
Around Wikia's network
Random Wiki


text:
The Metabo Law – Japan – Nathanael Carton
The Japanese government approved a few years ago the "Metabo Law" in order to prevent the risk of a general obesity increase. This law refers to a set of guidelines requiring local governments and employers to conduct mandatory annual examinations and affect people between 40 and 74. If they exceed the maximum waistline measurements (85cm for men, 90cm for women), they are directed towards counselling. The fixed goal is the 25% obesity reduction by 2015.


text:
CAMERA CALIBRATION USING MULTIPLE UNORDERED COPLANAR CHESSBOARDS
The now widely available and highly popular among non-expert users, particularly in the context of UAV photogrammetry, Structure-from-Motion (SfM) pipelines have also further renewed the interest in the issue of automatic camera calibration. The well-documented requirements for robust self-calibration cannot be always met, e.g. due to restrictions in time and cost, absence of ground control and image tilt, terrain morphology, unsuitable flight configuration etc.; hence, camera pre-calibration is frequently recommended. In this context, users often resort to flexible, user-friendly tools for camera calibration based on 2D coded patterns (primarily ordinary chessboards). Yet, the physical size of such patterns poses obvious limitations. This paper discusses the alternative of extending the size of the calibration object by using multiple unordered coplanar chessboards, which might accommodate much larger imaging distances. This is done initially by a detailed simulation to show that – in terms of geometry – this could be a viable alternative to single patterns. A first algorithmic implementation is then laid out, and results from real multi-pattern configurations, both ordered and unordered, are successfully compared. However, aspects of the proposed approach need to be further studied for its reliable practical employment.


text:
The following sections explain how to troubleshoot and prevent problems with the Unity editor in different situations. In general, make sure your computer meets all the system requirements, it's up-to-date, and you have the required user permissions in your system. Also make backups regularly to protect your projects.
You can install different versions of the editor in different folders. However, make sure you backup your projects as these might be upgraded by a newer version, and you won't be able to open them in an older version of Unity. See the manual page on installing Unity for further information.
Licenses of add-ons are valid only for the Unity versions that share the same major number, for example 3.x and 4.x. If you upgrade to a minor version of Unity, for example 4.0 to 4.1, the add-ons will be kept.
Internet Activation is the preferred method to generate your license of Unity. But if you are having problems follow these steps:
If you still have problems with registering or logging in to your user account please contact _EMAIL_.
If Unity crashes when starting then firstly make sure that your computer meets the minimal system requirements. Also update to the latest graphic and sound drivers.
If you get disk write errors, you should check your user account restrictions. When in MacOS, note the "root user" is not recommended and Unity hasn't been tested in this mode. Unity should always have write permissions for its folders, but if you are granting them manually check these folders:
C:\Documents and Settings\\Local Settings\Application Data\Unity
Some users have experienced difficulties when using hard disks formated with non-native partitions, and using certain software to translate data between storage devices.
Corrupt fonts can crash Unity, you can find damaged files following these steps:
The system might have resources constrained, for example running in a virtual machine. Use the Task Manager to find processes consuming lots of memory.
Unity could try to open a project that is corrupt, this might include the default sample project. In such case rename or move the folder of the project. After Unity starts correctly you can restore the project's folder if wished.
In the event of a corrupt installation, you may need to reinstall Unity - see the instructions below.
In Windows, there could be problems like installation errors, registry corruption, conflicts, etc. For example, error 0xC0000005 means the program has attempted to access memory that it shouldn't. If you added new hardware or drivers recently, remove and replace the hardware to determine if it's causing the problem. Run diagnostics software and check information on trouble-shooting the operating system.
If the editor runs slowly or crashes, particularly on builds, this might be caused by all of the available system resources being consumed. Close all other applications when you build the project. Clean up the system using its utilities, and consult the Task Manager (Windows) or Activity Monitor (MacOS) to find out if there are processes using lots of resources, for example memory. Sometimes virus protection software can slow down or even block the file system with its scanning process.
There are many factors that can destroy a project, you should constantly backup your projects to prevent unfortunate accidents. When in MacOS, activate the TimeMachine using an external hard disk reserved for this sole purpose. After a loss you can try any of the file recovery utilities that exist, but sometimes this is irreversible.
Follow these steps to reinstall the editor:
Uninstall Unity. When in MacOS, drag the Unity app to trash.
Delete these files if present:
Restart the computer.
Download the latest version from our website, since your original install might be corrupt: _URL_
Did you find this page useful? Please give it a rating:


What is a standard implicature?
A standard implicature is a conversational implicature based on an addressee's assumption that the speaker is being cooperative by directly observing the conversational maxims.
Example (English)
 - In the following exchange, A assumes that B is being cooperative, truthful, adequately informative, relevant, and clear. Thus, A can infer that B thinks A can get fuel at the garage:
 - A: I've just run out of petrol.
 - B: Oh; there's a garage just around the corner.
 - Generic
 A standard implicature is a kind of
 Levinson 1983 104
 Context for this page:
 Page content last modified: 5 January 2004
 © 2004 SIL International


National Empanada Day
Five Food Finds about Empanadas
The Spanish word for bread is "pan". "Empanar" is a verb form that means "to bread". Emapanada is the past-participle, "breaded".
Originally they were made with bread dough, but now they are made with pastries as well.
Today's Food History
on this day in…
1513 Ponce de Leon landed in Florida while searching for the Fountain of Youth. He thought it was just another island of the Bahamas.
1946 'Catfish' Hunter, baseball pitcher, was born.
1992 R.I.P. Benjamin Eisenstadt. He invented the artificial sweetener, 'Sweet 'n Low' (granulated saccharin and dextrose).


text:
What Types of Skills are Best for an Education Major?
A scientist, an actor, a chief executive officer and a philanthropist. What do these four professions have in common? They all possess skills that you will need as an educator.
This is because the list of abilities that define an effective educator is almost endless. However, there are several qualities that the best educators do have in common: curiosity, creativity, communication and compassion.
An educator's learning is never complete; you must be the type of individual who has an insatiable hunger for knowledge. An educator is the type of person who is curious about what will inspire his students, how his students learn best and how to guide his students to learn as much as possible. Educators cannot be afraid to look ahead, attempting new things and reflecting on the impact of past and current practices.
Being an educator requires a great deal of creativity and the ability to generate new ideas and then combine those with prior knowledge in order to problem solve for the best results. What helps one student learn may not work for another, so an educator is always flexible in his thinking, seeking to create novel ways to engage his students.
As an educator, you must first listen to understand others and then be able to discover ways to relay information for diverse populations in a manner that they can relate to. Because education is a major in which the expression of thoughts is vital, educators have to enjoy other's stories and seek them out.
Knowledge is meaningless without an underlying desire to use it for the betterment and welfare of others. Tolerance, acceptance and the ability to empathize with others are important elements of compassion and vital for an effective educator to possess. A compassionate educator is an advocate for her students, for himself and for the profession.
In summary, skills required for education majors can vary but the dispositions that guide how skills are used is vital; an educator should be intellectually curious with the ability to creatively problem solve in order to make informed decisions for the good of all involved. Education as a career path will reap rewards beyond the material to those of inspiration, gratitude, kindness, and the extension of knowledge for future generations.


Out of Bounds (OOB)
The out of bounds (OOB) effect is a way of editing the photo in an image editor program to make the subject stand out and give the impression of a 3D image. It can be done with just one photo or with several images that are composed into one.
The goal of this Photoshop tutorial is to take the plain photo of the lion seen on the left and transform it into the one seen on the right, where the lion head pops out of the frame. It was done using just one photo with its original background and without any distortions.
before and after
Icon/Shortcut Function
icon brush B Brush
icon marquee tool M Rectangular marquee tool
icon new layer Layer icon
icon layer mask Layer mask icon
icon layer visibility eye Layer visibility
icon adjustment layer Adjustment layer icon
Alt+Backspace Fill the layer with the current foreground color
Ctrl+Backspace Fill the layer with the current background color
Ctrl+D Deselect the current selection
Ctrl+I Invert the mask (invert in general)
D Reset the foreand background color to black & white
X Swap the foreground with the background color
Getting Started
 1. Open the image you want to use or download my original lion photo if you would like to work along. Selecting a suitable photo helps a lot to create a convincing OOB effect.
 2. Before you do anything else, make all the adjustments like levels, cloning, saturation and such to improve the overall quality of the image.
 3. Press D on your keyboard to set the background and foreground colors to default (black and white).
 4. Set up the required layers, in order to make it is easier once you start to work. Double click on the layer thumbnail of your background (see Layers palette) to create a layer and name it something meaningful, in my case "lion".
 layer thumbnail
 5. Create a new layer by clicking on the layer icon at the bottom of your layers palette. Rename it to "white background" and press Ctrl+Backspace to fill it with white.
 6. Create another layer, rename it to "black background" and press Alt+Backspace to fill it with black.
 7. Move the black and white layers (click and drag the layers) beneath the lion layer.
 Since Photoshop CS2, you can Ctrl click on multiple layers and then move them all at the same time.
 8. Create one more empty layer above the lion and call it "frame". You should now have something like this:
 lion setup
Creating the Frame
 1. Make sure the frame layer is selected (click on the frame layer in the layers palette once to highlight it).
 2. Use the Rectangular Marquee Tool (M), then click and drag to create a rectangle with the size and shape of your desired frame. Don't worry about the exact size, we are going to adjust it again later.
 3. Press Ctrl+Backspace to fill the selection with white.
 4. With the selection still active, go to Select/Modify/Contract… and type in a suitable number. In my case, I chose 15. Click OK and then delete the area in the middle (press the delete key on your keyboard), leaving only a white frame.
 5. Press Ctrl+D to deselect or go to Select/Deselect. You should now have something like the example below.
 create frame
Distorting the Frame
 1. To make the frame look 3 dimensional, we are now going to distort it. With the frame layer active, go to Edit/Free Transform or click Ctrl+T.
 2. Right click in the middle of the frame and select Perspective.
 3. You can now drag the corners up and down to create a 3 dimensional frame. Right click and select Distort, if you need to adjust the frame in a different direction.
 4. You should end up with something like this:
 lion 3d frame
Extracting the Subject
 1. It's time to delete or better hide everything except the main subject outside of the frame.
 2. Make sure the lion layer is selected and click on the layer mask icon (located at the bottom of your layers palette) to create a mask for the lion.
 The black layer mask hides the parts we don't want and the white layer mask reveals what needs to be visible. By using a mask, nothing will be deleted, so you can edit it anytime you want.
 3. Select a medium soft brush (B) and make sure that your foreground color is set to black.
 4. Paint over the parts you want to hide. Use a hard brush around the frame and use a softer brush for the edge of the lion and the napkin.
 When working on the layer mask, always make sure the layer mask is selected on not the layer itself!
 5. If you go too far, simply swap the foreground color to white and paint over the bits you want to reveal. Use the X key on your keyboard to quickly swap between black and white.
 6. In my example, using the brush was quick and easy but if you use a different image, you might have to make a selection with a different tool.
 7. Remember those white and black backgrounds we have created at the beginning? Now they come in handy, making it easy to see how well your masking is done. Simply click on the icon looking like an eye on the left side of the black or white background to see the different background colors.
 8. You should now have something like this:
 lion mask
Completing the Frame
 1. In the next step, we are going to create a drop shadow for the frame, so if you need a bit more space around the frame, resize the canvas now.
 2. Double click on the layer thumbnail of the frame layer to open the Layer Style dialog. Click on Drop Shadow and dial in the numbers you like. I kept it fairly low in this example but you can adjust it anyway you like.
 3. After you are done, go to Layer/Layer Style/Create Layer. This will put your shadow on a separate layer, so that we can work on it and mask it separately from the frame.
 4. Select the frame layer, create a layer mask and use a black brush (B) to hide the parts where the head and the napkin overlaps the frame.
 5. Do the same once more for the shadow and you should have something like this:
 frame done
Adding a Shadow
 1. As you can see, it starts to look more like the finished version but something is still missing. The shadows are what makes or breaks the OOB effect. For the lion, I decided that the napkin, the head and the leg needed some additional shadow.
 2. Select the lion layer, double click on the layer thumbnail and add a drop shadow. I've used a soft shadow and for the position, rather than dialing in the numbers, I used the mouse and moved the shadow on the image itself. Simply click and drag on the photo to move the shadow in position.
 3. After you are done, go to Layer/Layer Style/Create Layer and move the shadow layer to the top of your layers palette.
 4. Create a layer mask and invert it (Ctrl+I). You can use a black brush to hide the parts you don't need but I find it easier to invert the mask, in order to hide everything and then use a white brush to paint the shadow only where it's needed.
 5. If necessary, adjust the opacity and move its location if it doesn't look right.
 layer options
 6. Create one more layer on top and use a black brush to paint the additional shadow beneath the front leg. Use a low opacity brush (around 5%) and slowly paint the shadow. Don't worry when you paint the leg itself, simply add a layer mask and hide it.
 7. At this stage, it should look like this:
 shadow done
Final Tweaks
 1. I wanted to enhance the effect and make it look like it really comes out of the photo. To do that, I decided to lower the saturation and the contrast of the parts which are supposed to be a flat image.
 2. Select the lion layer. Press and hold the Alt key and click on the Adjustment Layer icon (at the bottom of the layers palette). Select Hue/Saturation.
 3. In the New Layer dialog, enable Use Previous Layer to Create Clipping Mask and click OK. I used -20 for Saturation in the Master channel.
 4. Select the lion layer once more, press and hold the Alt key but this time select the Adjustment Layer called Brightness/Contrast.
 5. Use the previous layer to create a clipping mask and in my case, I used Brightness +10, Contrast -15.
 6. The clipping masks are used so that the background doesn't change and only the lion image is affected.
 7. We don't need these adjustments to affect the lion head and the napkin, so use a layer mask (the layer mask has already been created automatically) for each adjustment layer and hide the parts which should pop out. Use the softest possible black brush and paint over the head, the napkin and the front leg.
 8. Add some sharpening to the 3D parts and your are done.


text:
First edition in numbers
SESSIONS AND KEYNOTES
Join the transformation journey
The IWA Digital Water Summit is designed to be the reference in digitalisation for the global water sector. Targeting all stakeholders involved in the water sector digitalisation, the Summit has a focus on business and industry. Water technology providers and water utilities are the main participants that will discuss and shape the agenda of this second edition.
Digital water is a concept that we are starting to learn how to integrate it into businesses and the global water sector. The purpose of the Digital Water Summit is to answer some of the questions that businesses may have, such as:
- What is digital water?
- What is the difference between digital water and digitalisation?
- How can we make our industry more digitally aware?
The Digital Water Summit will have some of the world's leading experts on digital water. It is co-organised by IWA with the water utility in the region (Consorcio de Aguas Bilbao Bizkaia) and the IWA Governing Member in Spain (AEAS).
Water and wastewater utilities must embrace digital solutions
"Digital water is already here" is the clear message after interviewing utility executives and leading experts from around the globe. From big data solutions to advanced management of the distribution network to digital customer engagement programs, nearly all utilities we talked to have begun the digital transformation journey. While the transformation is not always easy, with ageing infrastructure, inadequate investment, changing climate and demographics, digital water is now seen not as an 'option' but as an 'imperative."
"If you want to know about what's happening in the digital water space, the Digital Water Summit is the perfect place to be." – Oliver Grievson, Chair of IWA's Digital Water Programme Steering Committee
Critical discussions into the future of sustainable water management
The Digital Water Summit gathers world-renowned experts on digitalisation of the water sector, who will be involved in plenary sessions, interactive demonstrations of digital solutions, interactive discussions, side events, exhibitions, technical visits, and social events. Utilities and solution providers will be sharing experiences and solutions in a practical setting, maximising access to relevant information and networking opportunities.
The IWA Digital Water Summit's 2023 edition takes place in Bilbao, Spain
IWA's magazine, The Source, is the official magazine of the event. For more information, see: _URL_


How to find acronyms in a Word document
4 weeks ago 13
Lots of documents are full of acronyms; some are defined, some aren't. If you need to review acronyms for any reason, here are three approaches.
Illustration: Lisa Hornung, Getty Images/iStockPhoto
Enterprise users have it made when searching for acronyms and their definitions because Microsoft Word's newish Editor has that functionality built in. The rest of us have to work a bit harder to find acronyms, and fortunately there's more than one way.
SEE: 83 Excel tips every user should master (TechRepublic)
An acronym is a series of initials used to represent a longer phrase. For instance, URL isn't a word on its own, it's an acronym for Uniform or Universal Resource Locator. In this article, I'll show you three ways to highlight them in a document.
I'm using Microsoft 365 on a Windows 10 64-bit system, but you can use earlier versions. This article isn't supported by Word Online. You can enter your own content, but if you download the demonstration.docm,.doc and.cls files, you'll have quick access to the code reviewed in this article.
1. How to use the Acronym pane in Word
The enterprise version of Microsoft 365 has a feature that lists acronyms for you in the desktop and online versions. To see a list of defined acronyms, click the References tab. The Acronyms pane will show a list of your defined acronyms. By defined, I mean the phrase the acronym represents. Again, for URL, the pane would also display Uniform or Universal Resource Locator. If you select an acronym in the text, this feature will add the definition for you! If you don't find a definition, you can wait a few days to see if the feature updates accordingly, or you can define it yourself. This feature is available only with an enterprise license.
2. How to use Find in Word
If you don't have an enterprise license, you can use the Find feature to highlight all the acronyms in a document. It's important to note that this method isn't as smart as you might think because it will highlight any instance of two or more uppercase letters. That means the results might highlight something other than a true acronym. Now, let's look at a search string that you can use:
 1. Click Ctrl + F or click the Editing dropdown on the Home tab to open the Navigation pane. From the dropdown (to the right), choose Advanced Find.
 2. Click More and then check the Use Wildcards option.
 3. Check the No Formatting option at the bottom if not dimmed. The Find feature remembers the last Find task and if it includes formatting, you might not get the expected results. It's a good idea to always check this option when starting a new Find task.
 4. In the Find What control, enter <[A-Z]{2,}> (Figure A).
 5. Click Reading Highlight and then click Highlight All.
 6. Click Close to see the highlights shown in Figure B.
Figure A
 Complete the Find options.
Figure B
 Highlight all instances of two or more uppercase characters.
This method has two flaws:
 - It highlights MD. While you might consider it an acronym of sorts, you probably won't want to highlight it in this type of search. If you correct it to M.D. (with periods), the Find task will ignore it.
 - All the highlights disappear as soon as you click something.
This method can be more frustrating than helpful because the highlights aren't permanent. Now, let's look at a VBA procedure that has a more permanent outcome.
3. How to use a VBA procedure in Word
A quick highlight might be all you need, but most of the time, you'll want something more permanent. The procedure in Listing A does the same thing that the Find string in the last section does. The only difference is that it's permanent until you remove it. You can use this same code to remove the highlights by changing.Replacement.Highlight to False.
Listing A
Sub HighlightAcronyms()
'This procedure highlights all instances of two or more
'uppercase letters.
 With Selection.Find
 .Text = "<[A-Z]{2,}"
 .Forward = True
 .Wrap = wdFindContinue
 .MatchWildcards = True
 .Replacement.Text = ""
 .Replacement.Highlight = True 'False to remove highlights.
 .Execute Replace:=wdReplaceAll
 End With
End Sub
This code does exactly the same thing as you did manually in the last section. It uses a search string to find all instances of two or more consecutive uppercase letters. As earlier, sometimes the procedure will highlight something that's not a true acronym.
If you're using a ribbon version, be sure to save the workbook as a macro-enabled file or the procedure won't run. If you're using a menu version, you can skip this step. To add the procedure, press Alt + F11 to open the Visual Basic Editor. In the Project Explorer to the left, select ThisWorkbook so you can run the procedure in any sheet. You can enter the code manually or import the downloadable.cls file. In addition, the macro is in the downloadable.docm and.doc files. If you enter the code manually, don't paste from this web page. Instead, copy the code into a text editor and then paste that code into the ThisWorkbook module. Doing so will remove any phantom web characters that might otherwise cause errors.
After entering the procedure, you can use it as follows:
 1. Click the Developers tab.
 2. Click Macros in the Code group.
 3. In the resulting dialog, choose HighlightAcronyms() as shown in Figure C and click Run.
Figure C
 Run the procedure.
As you can see in Figure D, the acronyms are permanently highlighted. To remove them, run Sub HighlightAcronymsRemove(), which is in the demonstration files. I didn't include it in the article text, because only one statement changes. Depending on how you're calling the procedure, you could use one procedure and pass the True/False value as a Boolean.
Figure D
This highlight will stay until you remove it.
It's unlikely that you'll want to work through all those steps every time you want to run the procedure. Instead, add the macro to the Quick Access Toolbar. To do so, read How to add Office macros to the QAT toolbar for quick access.
Microsoft Weekly Newsletter
Sign up today
Also see
Read Entire Article


Distinct Business Entity
DEFINITION of 'Distinct Business Entity'
A sub-division within a company that is completely autonomous from the rest of the company. The distinct business entity will have complete control over how it utilizes its assets, organizes its management and the most appropriate financing structure if required.
BREAKING DOWN 'Distinct Business Entity'
A distinct business entity will most likely be segregated from the rest of the company based on some operational distinction, such as having a separate product line, being geographically segregated or by offering a different service then the rest of the company.
Distinct business units can be a key element for any firm, as these units have the flexibility to make daily and high level management decisions at the operational level, which frequently yields better decision making. They can take the forms, such as a corporation, association or business trust.
 1. Cost Of Capital
 2. Business Model
 3. Asset
 4. Business
 5. Capital Budgeting
 6. Put-Call Parity
Related Articles
 1. Entrepreneurship
 How To Create A Business Succession Plan
 2. Investing Basics
 The Flow Of Company Information
 3. Options & Futures
 All About EVA
 4. Markets
 Introduction To Fundamental Analysis
 5. Investing Basics
 What Does In Specie Mean?
 6. Economics
 Calculating Cross Elasticity of Demand
 7. Fundamental Analysis
 Emerging Markets: Analyzing Colombia's GDP
 8. Fundamental Analysis
 Emerging Markets: Analyzing Chile's GDP
 9. Investing
 Watch Your Duration When Rates Rise
 10. Economics
 Explaining Capital Flows
 1. Does working capital include inventory?
 4. How do I calculate a modified duration using Matlab?
 5. How do I calculate the rule of 72 using Matlab?
 6. How do I calculate the standard error using Matlab?
You May Also Like
Hot Definitions
 1. Capitalization Rate
 2. Gross Profit
 3. Revenue
 4. Normal Profit
 5. Operating Cost
 6. Cost Of Funds
Trading Center
You are using adblocking software
so you'll never miss a feature!


text:
Women Who Inspire Change: Mesoamerican Healers
Anna Hamling, Guest Contributor
"This book is about the intellectual traditions of Mesoamerican women," explains Paloma Martinez-Cruz in the opening lines of Women and Knowledge in Mesoamerica: From East L.A. To Anahuac. A young Chicana college professor, Martinez-Cruz has written a captivating personal narrative that intertwines with the historical account of the ways Mesoamerican women healers played a role during childbirth and helped cure the sick. The resulting story is an engaging read for those intrigued by indigenous healing practices, medicine, and spirituality.
According to Martinez-Cruz's research, women healers were not simply physicians; they were defenders of a feminine knowledge about how to maintain wellness. At a time when elite women weren't permitted to obtain higher education, women who were healers possessed the power of medical specialists and, therefore, enjoyed a dignified status in society.
Inspiring examples of courageous women were abundant. Determined to become educated and not be governed by a husband, the famous nun, Sor Juana Ines de la Cruz—who is often referred to as Mexico's first feminist—made the choice to enter a convent rather than live in "a prison of marriage." Two hundred years after Sor Juana's death, her determination to heal the sick was carried forward by Matilde Montoya, Mexico's first female physician.
By Montoya time, women had access to formal education and convent life had lost its lustre. In spite of the professionalization of medicine, indigenous healing practices survive today and are widely used in Mesoamerican communities to repair those who are unwell.
Women and Knowledge in Mesoamerica enriches our understanding of the alternative healing practices that Mesoamerican women have been performing for centuries. The book serves as a reminder that holistic approaches to treating patients have a history in both women's role in nurturing communities and their empowerment.
Anna Hamling is a senior teaching associate in the Culture and Language Studies department at University of New Brunswick. Her current research is on women artists from around the globe, Latin American dance and cinema, and feminist issues.


Blue Aspen Originals
aspen leaf
Fine soaps hand crafted in small batches
Soap on a Rope
Making soap on a rope is easy especially if you're making one out of soap scraps. That's right. We're using soap scraps to make soap on a rope either for your personal use or to give to someone else. Soap on a rope is something you can do to make use of those soap scraps instead of just throwing them away or letting it soak in your soap dish. Let's begin making your very first soap on a rope with the following steps.
First, you will need to prepare the materials needed for soap on a rope. These are the soap scraps, warm water, and nylons. You'll need 1 cup full of soap scraps to make soap on a rope. Now that you've gathered all the materials, let's start by breaking up the soap scraps into tiny little pieces. It will be best to use a grater or knife. That's how small it should get. Now, prepare a mixing bowl and place the grated soap scrapes in the bowl. Next, prepare a half cup of warm water. Pour it into the bowl and let it stand for about an hour.
After an hour, start kneading the soap and the water together as if you are kneading dough. Make sure to make it smooth and come up with the consistency of thick dough. If needed, add more warm water as needed. Make sure to add only a little at a time. You can use a tablespoon to make sure you only add little amount of water. If you want to add color, add a few drops of food coloring to the mixture until the desired color is achieved. Blend well. Now, it's time to shape the mixture into a ball. Lay a piece of wax paper on the table and set the soap on top. It will take at least 24 hours to dry.
Once dry, cut about 12 inches nylon and create a loop around the soap ball. Tie the ends of the nylon above the soap ball. Now, you can hang your soap on a rope in the shower!


text:
Is Zero a Square Number?
Date: 02/16/2000 at 10:47:33 From: Janie Cates Subject: Is zero a square number? I would like to know whether or not zero is considered to be a square number. I have found some sources that say it is. and others that say it isn't. Please let me know so that I can tell my students.
Date: 02/16/2000 at 11:11:18 From: Doctor TWE Subject: Re: Is zero a square number? Hi Janie - thanks for writing to Dr. Math. This depends on the way you (or your source) define the term "square number." Some sources define a square number as any number that is the square of an integer. By this definition, zero is indeed a square number, because 0 = 0^2 and zero is an integer. Others define a square number as any number that is the square of a natural (or counting) number. The natural numbers are the set of all integers greater than or equal to one. Since zero is not considered a natural number (and no other natural number squared equals zero), zero would not be considered a square number using this definition. This second definition has more of a "geometric" interpretation. Imagine measuring the area of a square that is n units on a side. If n = 0, you don't really have a square to begin with - you have nothing. In ancient times mathematicians didn't count zero (or even have a symbol for it) because they used numbers to represent physical measurements, and a physical object couldn't have a measurement of zero. I hope this helps - if you have any more questions, write back. - Doctor TWE, The Math Forum _URL_
Search the Dr. Math Library:
Ask Dr. MathTM
© _PHONE_ The Math Forum


text:
A few days ago, I wrote up a challenge – to count the number of sets a given set is contained in.
In the comments, I touched briefly on the original problem from which the challenge was created, and I'll describe it in more depth here.
In the problem, I am given an initial group of sets, and then an endless 'stream of sets'. For each of the sets in the stream, I have to measure its uniqueness. relative to the initial group of sets. A set that is contained in only one set from the initial group is very unique, one that is contained in ten – not so much.
So how to solve this problem? My original solution is somewhat akin to the classic "lion-in-the-desert" problem, but more like the "blood test" story. I didn't find a link to the story, so I'll give it as I remember it.
In an army somewhere, it was discovered that at least one of the soldiers was sick and so had to be put in isolation until he heals. It is only possible to check for the disease via a blood test, but tests are expensive, and they didn't want to test all of the soldiers. What did they do?
They took enough blood from each soldier. Now, from each sample they took a little bit, and divided the samples into two groups. They mixed together the samples of each group, and tested the mixed sample. If the sample was positive – they repeated the process for the blood samples of all the soldiers in the matching group.
Now my solution is clear: let's build a tree of set unions. At bottom level will be the union of couples of sets. At the next level, unions of couples of couples of sets. So on, until we end up with just two sets, or even just one – if we are not sure the set is contained in any of the initial sets.
Testing is just like in the story. We'll start at the two biggest unions, and work our way down. There is an optimization though – if a set appears more than say, 10 times, it's not very unique, and its score is zeroed. In that case, we don't have to go down all the way, but stop as soon as we pass the 10 "positive result" mark.
Here's the code:
class SetGroup(object): def __init__(self, set_list): cur_level = list(set_list) self.levels = while len(cur_level) > 1: self.levels.append(cur_level) cur_level = [union(couple) for couple in blocks(cur_level, 2)] self.levels.reverse() def count(self, some_set, max_appear = None): indexes = for level in self.levels: indexes = itertools.chain((2*x for x in indexes), (2*x+1 for x in indexes)) indexes = (x for x in indexes if x < len(level)) indexes = [x for x in indexes if some_set <= level[x]] if max_appear is not None and len(indexes) >= max_appear: return max_appear return len(indexes)
Here's a link to the full code.
I didn't implement this solution right away. At first, I used the naive approach, of checking against each set. Then, when it proved to be too slow, I tried implementing the solution outlined by Shenberg and Eric in the comments to the challenge. Unfortunately, their solution proved to be very slow as well. I believe it's because some elements appear in almost all of the sets, and so computing the intersection for these elements takes a long time.
Although originally I thought that my solution would suffer from some serious drawbacks (can you see what they are?), the max_appear limit removed most of the issues.
Implementing this solution was a major part of taking down the running time of the complete algorithm for the full problem I was solving from about 2 days, to about 15-20 minutes. That was one fun optimizing session :)