text:
Schloss Dagstuhl - Leibniz-Zentrum für Informatik
A representation of intersection types in terms of pregrammars is presented. Pregrammar based rewriting relations, corresponding respectively to type checking and inhabitation are defined and the latter is used to implement a Wajsberg/Ben-Yelles style alternating semi-decision algorithm for inhabitation. The usefulness of the framework is illustrated by revisiting and partially extending standard inhabitation related results for intersection types, as well as establishing new ones. It is shown how the notion of bounded multiset dimension emerges naturally and the relation between the two settings is clarified. A meaningful rank independent superset of the set of rank 2 types is identified for which EXPSPACE-completeness for inhabitation as well as for counting is proved. Finally, a standard result on negatively non-duplicated simple types is extended to intersection types.
Year of publication: 2021


Skip to main content
Understanding Dredging
Become a member
Hydrogen-fuelled dredgers to maintain Netherlands' coastline
hydrogen fuel, dredging, THSD, LEAF, environment, zero emissions, government
CIN28042021 Hydrogen THSD Royal IHC // tshd_93-537-per_front_sb-_water-02_credit_royal_ihc.jpg (569 K)
Caption: Royal IHC's hydrogen-fuelled THSD is being developed to help the Dutch government reach its C02 neutral by 2030 target. Credit: Royal IHC
Hydrogen is the choice of fuel for a new trailing hopper suction dredger (THSD) design being developed through a partnership between Royal IHC and the Dutch government.
The fuel type was chosen based on its emissions reduction potential, the availability of the fuel and the readiness of the components, including fuel cells and fuel storage, Royal IHC's Leonard den Boer told CEDA Industry News. Following analysis, hydrogen was found to fit "best with the timeline of being operational in 2024," said den Boer who is the project leader.
The Dutch Rijkswaterstaat (Ministry of Infrastructure and Water Management) has set itself a target to be CO2 neutral by 2030. To achieve this, it sought cost-effective solutions for its coastal protection projects to significantly reduce CO2 from 2024.
Known as the 'LEAF' (low energy adaptive fuel) hopper, the design received an approval in principle (AiP) from classification society Bureau Veritas at the end of March.
The project's next step is "to form a consortium with dredger operator(s) and to define the conditions together with Rijkswaterstaat," said den Boer.
Project research began in 2019, and before hydrogen was agreed as the fuel of choice, other options such as methanol and ammonia were considered as possible zero emission fuels for the dredger, he said. The exact capacity of the LEAF hopper is still under discussion.
In a statement, Royal IHC said: "The AiP from Bureau Veritas means that the proposed design of the vessel, encompassing its features and specifications, has been deemed acceptable in this early stage and that the hydrogen system has been safely integrated".
According to the company, minimal CO2, SOx, NOx and particulate matter is released during the construction of the LEAF hopper, and when operating, like other hydrogen-fuelled vessels, it will release only water vapour.
"In addition, many design features on the LEAF hopper contribute to low energy consumption, including an electric drive train and energy recovery systems," it said.


text:
Great Fire of New York
Hold up, buddy.
The Great Fire of New York happened on September 21, 1776. At the time conditions were dry and there were few people in the city at the time so the fire spread fast but killed few. The reason for this was when the British moved in and took control of the city the people moved out. With the people gone eventually the British left so few people remained.
Many people believed that the British were responsible for the fire because of how fast it spread; however, in this case it was literally an accident. The fire wound up burning 25% of the city.
What Links HereSetting | Famous Events
Top Wiki Contributors
Need assistance with editing this wiki? Check out these resources:

source: HuggingFaceFW/fineweb-edu


no]quiet Turn off progress output. =item --referer Used to set the C header in the http request sent to the remote server. =item --tcp_nodelay Setting this option will disable TCP's Nagle algorithm. The purpose of this algorithm is to try to minimize the number of small packets on the network (where "small packets" means TCP segments less than the Maximum Segment Size (MSS) for the network). =item --timeout The maximum time in seconds that you allow the transfer operation to take (default: 600 seconds). =item --useragent Used to set the C header in the http request sent to the remote server. =item --verbose Set the parameter to 1 to get the utility to display a lot of verbose information about its operations. Very useful for L and/or protocol debugging and understanding. The verbose information will be sent to C. =back =head1 SEE ALSO =over 4 =item * L =item * L =back =head1 AUTHOR Stanislaw Pusep =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2013 by Stanislaw Pusep. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut


text:
The online-course "New Technologies in Effective Teaching and Learning in Higher Education in the Context of Mongolia, elaborated by the Mongolian University of Science and Technology (MUST) at the request of IITE and based on IITE's publication and on-line course "Information and Communication Technologies in Education", was launched in December 2015. The course is developed in Mongolian language and is designed for higher education teachers and learners in Mongolia. It consists of 3 modules:
- Module 1: New technologies in Teaching and Learning
- Module 2: Teacher professional development in ICT competencies
- Module 3: Open educational resources, open licensing, mobile learning and MOOC
The training course covers wide range of aspects of ICT use in education. It gives to a user the information of examples of best practices in different countries as well as recommendations to common issues faced by educators. With such features as self-assessment, additional reading materials, research assignments and group discussion, this course provides thorough understanding to users.
The course is published at one of Mongolian web-portals for open educational resources: _URL_, supported by MUST and IITE within the framework of their joint project. In In the near future, it is planned to place the course also on the portal of the Ministry of Education, Culture and Science of Mongolia.

source: openbmb/Ultra-FineWeb


By definition, the floor is the channel that streams the active speaker. What you need to know on VoiceBoxer is that:
 - The active speaker always speaks on the floor, regardless their language selection
 - Each language channel will stream the floor until the interpretation booths are engaged in a target language
 - The assignment of a language to the floor is based on the interpreters selection of a target language and it works by exclusion. As an example, in a English-French-Spanish event, when the English-French interpreter targets French and the English-Spanish interpreter targets Spanish, then the platform knows that the floor must be English (ie. the language that is not being fed by an interpreter)
 - If you listen to the floor, you can still use the chat translation functionality. The translation will work towards the language that has been identified as floor language


0
Adjusting Exit Delay
 - updated 11 mths ago
This video will show you how to adjust your exit time, this is the time between arming your system and your alarm being activated. Your system will not arm until the end of the countdown. The exit delay applies to all sensors and is a default time of 60 seconds. The delay helps to avoid false alarms and creates a better user experience.
Adjusting Delay
 1. Tap "Settings" (On the top right-hand corner of your panel)
 2. Enter in your four-digit master code
 3. Select "System"
 4. Select "Exit Delay"
 5. Increase/decrease the exit delay with the + and - symbols.
Was this article helpful?
Related Articles
Recently Viewed


text:
Farmers call for extension of timeline to move their cattle
The Kwahu Afram plains Cattle Farmers Association (KAPCFA) is calling for a possible extension of a five-day ultimatum given by government for cattle farmers to move their cattle into the folder bank.
Speaking to The Ghana Report on the issue, General Secretary of the association, Besah Amevor stressed the need for more time to enable the farmers move their herd into the folder bank.
"The five-day ultimatum is too short, looking at the number of farmers that we have currently, we will not be able to beat the deadline, they should at least extend it to two months," he reiterated.
Mr. Amevor explained the association had presented a total of eighty-three (83) cattle for the pilot project of the folder bank but days later the whereabouts of the cattle could not traced by managers of the folder bank.
"The only explanation given by managers was that part of those 75 untraceable cattle are either dead or missing and some have been used in preparing of food to feed students in government's School feeding Program," he expressed worriedly.
Mr. Amevor Besah also raised concerns about a monthly charge of GH₵ 7 cedis taken from farmers as part of their contribution in maintaining the facility.
"Each farmer is made to pay GH 7 cedis per head so assuming a farmer has 500 cattle, and has to multiply the amount by the number of cattle each farmer he or she has. How can the farmer afford to pay such an amount," he lamented bitterly.
He indicated the current location sighted for the project can only cater for ten thousand cattle while the association has record of more than seventy thousand cattle.
He said, "This is going to cause overcrowding in the banks which would not help the health condition of the animals".
The General secretary is therefore calling for a possible extension of the five-day ultimatum and a dialogue between all stakeholders in finding a lasting and peaceful solution in respect of these cattle grazing and folder bank issues in the district.

source: m-a-p/FineFineWeb


text:
The Paper Manufacturers Association of South Africa (PAMSA) has announced that its bursary and research programme is now open for applications for the 2023/2024 intake. The programme, which offers R320 000 per student over two years, provides a limited number of eligible Bachelor of Science (Chemical Engineering) final year students and graduates with the opportunity to study towards a Master of Chemical Engineering degree.
The development of industry-focused research and innovation is core to PAMSA's mandate, to help improve pulp and paper mill efficiency, reduce the sector's water and carbon footprint, and maximise the use of raw material and process waste, while also providing education and employment opportunities for bright, young graduates.
"Trees are sustainably planted, grown and harvested in South Africa and they provide us with countless products that we use every day, from notebooks and newspaper to toilet paper and paper bags," says Samantha Choles, communications manager for PAMSA. "The goal of a circular economy is pushing our industry to use as much as of its raw material as possible. This includes wood fibre, water, chemicals, recycled paper and making process waste into biochemicals or biofuels."
Visit _URL_ for more information on the programme and the link to the application form.
Terms, conditions and qualifying criteria apply. The deadline for applications is 30 June 2021.
PAMSA oversees the education, environmental and research interests of the South African pulp and paper sector. For the past decade, PAMSA has presented a Masters in Chemical Engineering bursary programme to eligible BSc chemical engineering final-year students or graduates with a good academic record and an interest in the bioeconomy, biotechnology, water efficiency, process engineering, waste valorisation and novel material development using wood or paper fibre. After their studies are complete, the students could find gainful employment within the industry.


text: 3rd conditionals making excuses.Duration: 10 - 15 minutes.Preparation: Print out this sheet. Aims: Fluency with the target expressions. Repeat the exercise for as many weeks as is necessary to achieve fluency. Procedure: Tell the students that they are going to have to make up excuses using the past conditional. Give them an example and show them how to make the excuse. Teacher: Why didn't you do any homework? Student: I would have done my homework if I had had more time. The students have to come up with an excuse which explains why they did or didn't do a particular thing. Use the examples below or make up your own.


Padre Pio and Chiesa viva
Why Was Padre Pio Poisoned?
By Dr. Franco Adessa
"The dossier "The Secret
 of the Padre Pio's Empty
Tomb" exists, currently,
in Italian, English and Spanish
and has already been distributed
to the Religious authorities,
the Clergy and the top political
authorities, worldwide.
The darkness that envelops this
"secret" could easily be dispelled
if one could only answer,
in an exhaustive way, these three
simple questions:
1. Was Padre Pio poisoned?
2. Who wanted Padre Pio poisoned?
3. Why was Padre Pio
With reference to the contents of
the dossier "The Secret of the
Padre Pio's Empty Tomb" and
of the book bearing the same title, and from which this
dossier was drawn, we will try to answer these three questions.
Let us state, that whereas to answer the first two
questions, it will only be necessary to report, even if in a
summarized form, already well-documented historical
events, the real difficulty concerns the presentation of the
facts that will have to fully answer the third question."
Website Builder


text:
The John Templeton Foundation has awarded three grants totaling $2.05 million to Boston College's Lynch School of Education and Human Development to fund three separate projects, each led by a different faculty member.
The first initiative, titled "Cura Psychologia," aims to transform the way that psychological science is conceptualized, taught, and practiced at six Jesuit universities: Fordham, Georgetown, Holy Cross, Loyola Marymount (Los Angeles), Seattle, and Boston College. Helmed by David M. Goodman, faculty member and the associate dean for Strategic Initiatives and External Relations, the three-year program seeks to enrich the connections between the respective psychology, philosophy, and theology departments at each of the campuses.
"If psychology is to reach its full potential as a means of not only informing our understanding of the human condition, but also aiding in the development of moral and civic virtue, then the disciplines that have traditionally dealt with character — theology and philosophy — must become essential aspects of psychological education and training," said Goodman. "The ultimate objective is to create fertile ecosystems in which these three fields of inquiry and practice can illuminate one another on topics of moral, ethical, and communal significance."
The second undertaking, led by Martin Scanlan, an associate professor in the department of Educational Leadership and Higher Education, examines the organizational, curricular, and institutional factors that advance character formation in networks of Catholic elementary, middle and secondary schools. The three-year investigation will identify the resources and constraints that schools face while holistically educating their students, and build multimedia case studies and professional development offerings to promote pedagogies of character formation more broadly, both within and beyond the field of Catholic education.
"Character formation is at the heart of Catholic schooling," said Scanlan. "Yet little is known about the challenges that schools face, as well as how to effectively capitalize on their assets in their effort to achieve that goal. The project's outcomes will help mission-driven schools across sectors leverage communities of practice to fortify their formative education methodology."
It's wonderful to see the Templeton Foundation recognize the distinctive projects being done by our faculty in the area of formative education and character development. Understanding and fostering the development of whole people, including ethical and spiritual aspects, is a particular strength of the Lynch School. It's great that one of the most important foundations in this area is recognizing the breath and importance of our work."
The third program also centers on pre-college education through a collaboration with EL Education (formerly Expeditionary Learning), a national nonprofit that partners with K-12 educators in diverse, high-need communities to transform public schools and districts into hubs of opportunity for all students. A distinctive feature of EL Education, founded over 20 years ago through the collaboration of the Harvard Graduate School of Education and Outward Bound, is its goal of developing the "curiosity, skills, knowledge, and courage needed to imagine a better world and work toward realizing it" among its students.
"A promising opportunity in EL schools for the development of such civic character is a daily meeting called 'Crew,'" said Scott Seider, an associate professor in the Counseling, Developmental & Educational Psychology department. "Students gather with a small group of peers and a teacher to build relationships and engage in honest and courageous conversations about issues that impact their lives. Although a common structure across EL schools, there is substantial variation in how educators lead their respective Crews. Our project will engage EL educators across the network to identify, test, and refine promising practices within Crew that nurture students' civic character strengths such as knowledge of social issues, feelings of social responsibility, and efficacy to effect change."
Slated to begin during the 2022-23 school year, a key outcome will be a multimedia toolkit designed to bolster the capacity and effectiveness of Crew leaders throughout the EL Education network and the 45,000 students they serve, as well as educators throughout the U.S. who are interested in implementing such advisories.
"It's wonderful to see the Templeton Foundation recognize the distinctive projects being done by our faculty in the area of formative education and character development," said Stanton E. F. Wortham, the Charles F. Donovan, S.J., Dean of the Lynch School of Education and Human Development. "Understanding and fostering the development of whole people, including ethical and spiritual aspects, is a particular strength of the Lynch School. It's great that one of the most important foundations in this area is recognizing the breath and importance of our work."
One of the nation's 25 largest grant-making philanthropies, the Templeton Foundation supports efforts to advance human wellbeing through rigorous scientific research and field-leading scholarship across the sciences, theology, and philosophy.
Phil Gloudemans | University Communications | July 2022


teal in branding examples
What does the color teal in branding look like, feel like? What color combinations create modern palettes?
Color Teal: Meaning and How to Use It in Branding
From teal blue to teal green: color palettes, and how to use the different types of teal in design.
Color teal: meaning
The color teal is a relatively young color—the first recorded use of teal as a color name in English was only in 1917. It is named after the Eurasian teal, a duck with a teal-colored stripe on its head.
Although a mix between green and blue of equal parts and really a color of its own, teal often gets pulled into the green color family. Historically, green pigments for paints and fabric dyes were hard to extract from nature and not often used in clothing and heraldic arms. While green could have been mixed with blue and yellow pigments, there was a deep dislike to mixing different substances due to distrust in alchemy. This medieval precursor of chemistry transformed matter by combining elements seemingly through magic. The superstitious convention vanished only during the early Renaissance and new copper greens were discovered by German Swedish chemist Carl Wilhelm Scheele in the late eighteenth century. [1]
The color teal and its lighter shaded sister colors turquoise, cyan, aqua, and light green aren't primary colors and are therefore not considered basic. A deep teal is calm, sophisticated, and knowledgeable, similar to the dark greens that you see in old libraries. Teal is relaxing; it can be found in nature combining blue skies and green fauna. When brightness is added to teal, or less black is used in the mix, teal becomes turquoise, aqua, cyan, or when there's less blue, it turns into light green. These lighter shades of teal are younger, clearer, and more invigorating because they remind us of the shallow waters of sunny places.
[1] Clair, Kassia St. The Secret Lives of Color. Penguin Books, 2017.
color palette from teal blue to teal green
Top: Monochrome color palette from cyan to teal. Teal is mixed from cyan plus 50% black. Bottom: Analogous color palette that shows the colors next to teal: blue and green.
The color teal with white that lightens the color and makes it look duller. In contrast, if black is added to a color the darkness increases. These processes are called tinting (adding white) and shading (adding black).
The teal color values: from teal blue to teal green
When using the RGB color model like any screen does (a TV screen, a computer screen, a phone), the colors red, green, and blue (RGB) are being added and they create yellow, cyan, and magenta when they overlap and are being mixed. Cyan is composed of 50% green and 50% blue. In the CMYK color model (anything that gets printed on e.g. a home printer), if 50% black is added to cyan you'll get the color teal. Teal has an RGB value of 0/128/128 or 0% red, 50.2% green, and 50.2% blue, and its HEX color value is #008080.
The more blue is added to the RGB value, teal turns into a teal blue and if green is added to teal, it turns into teal green.
examples teal for fashion, clothing, B2C
What does teal look like when used as a brand color for fashion labels, as B2C products or in branded spaces? Teal is sophisticated when used sparingly or when used boldly. It pairs well with neutral tones like white, beige and browns. Teal in form of texture carries well as velvet, a thick linen, or chenille. All photos courtesy of Unsplash.
examples teal as brand color for travel and art
The color teal lends itself for being used in travel and lifestyle branding—teal marries elegance, nature and depth. A modern palette that includes teal can use blue and green, brown, orange, and gold. Teal stands out when paired with muted colors like brown or desaturated blues and makes for a strong companion when used alongside a vibrant orange.
examples teal in branding for wellness and fashion
Teal communicates calm, comfort, and knowledge. Its sister colors aqua, cyan, and turquoise have less black and are therefore fresher and younger.
Industries and famous brands that use the color teal
In branding, the color teal is commonly used in electronics, sports, entertainment, communications, and creative sectors, and, when used in lighter and brighter tones, in children-related industries.
Teal had its high times during the 90s, especially in sports branding but was superseded by blue again in the early 2000s. While blue is often listed as Western people's most favorite color, a comprehensive 2016 publication shines a light on research showing that people have color preferences based on contexts such as clothing, furniture, or general designs as well as personal experiences and cultural backgrounds.
In the process of finding a brand color palette, branding agencies spend a lot of time choosing exactly the right shades. The strategic place to start is to take a look at the common brand colors in your industry first. As a second step, select a color based on what your closest competitors are not using. The reason for that is "brand positioning"—the way the customer thinks of a brand. Good brands stand out—they're known for something relevant in their field. Considering that, the color teal might be a great strategic choice because it's not used very often; it makes the brand more memorable in the eyes of the customer.
famous brand logos teal and turquoise
Famous brands that use teal and its lighter color versions aqua, turquoise and light green: Siemens, Canva, GoDaddy, Tiffany & Co., Pampers, Clinique, TikTok, Deliveroo, and Bausch + Lomb.
Traits of teal
After looking at your competitors' brand colors and selecting a few colors that are not being used and may also fit your direction, pick a final color based on the general emotion you want to convey. Teal's positive traits are healing, friendliness, invigoration, clarity, creativity, and calm. Teal's negative traits are aloofness and unreliability.
Then build a palette from there: In modern branding, one bold brand color—which may or may not be complemented by up to three secondary colors—does well.
And if you're on a tight budget or if you're still testing product-market fit, Mojomox is the modern way to design your brand identity online for free. Create color palettes and designer-quality wordmark logos fast with customized details that fit your brand.
teal color palette using monochrome and analogue colors
Teal within a monochrome (shades of teal) and analogous (neighboring colors in a color wheel) colors blue and green. These types of color palettes create a deep, monochrome look.
teal color palette using complementary colors
The color teal with complementary colors such as orange and brown. Complementary colors are on opposite sides within a color wheel. They create a strong contrast.
teal color palette using complementary colors
Teal paired with muted complementary colors (top), and analogous colors green and blue with more brightness (bottom two rows). These palettes create a more vibrant look.
Modern color palettes including teal
Above we selected a few modern color palettes that include the color teal. For custom palettes try a color palette tool like Adobe Color. It lets you generate colors that work well together and you can test them for readability and accessibility.
Mojomox lets you create modern wordmark logos and color palettes online for free.


text:
If you want to disable the preview pane in Windows 7 that might be a bit annoying sometimes, you can simply hide it or disable it completely through the registry.
Preview Pane Shortcut
As mentioned in this guide (How to preview pictures in Windows 7), there's a handy shortcut that allows you to quickly enable/disable the preview pane in Windows 7:
ALT + P (for preview)
Disable Preview Pane via Windows Explorer
1. Step Open the Windows Explorer (Windows key + E)
2. Step Now, on the right side at the top, there's a square icon with two lines at the top… that's the icon to hide the preview pane:
Disable Preview Pane via Registry
1. Step Open a notepad and copy and paste the following text:
Windows Registry Editor Version 5.00
2. Step Save it as a.reg file and select "All files" from the dropdown when you save the file.
3. StepDouble-click on the newly created registry file to add this registry key and disable the preview pane completely.
4. Step Reboot.
Trending On Windows Themes.Net


How to Make Sugardine Antiseptic
How to Make Sugardine Antiseptic
sugardineSugardine antiseptic is well known to many who deal with horses, however, it is rarely discussed for use in people. Now, read my disclaimer and realize I am not a doctor, so do your own research.
Basically sugardine is an antiseptic that uses the antibacterial properties of both pure sugar and iodine to prevent and kill infections. It is primarily used to treat abscesses and thrush on the hooves of horses, but it can be used in many other ways. As a side benefit to the prepper, it is cheap and easy to make as well as being effective if used properly.
While it is true that a dilute sugar solution will feed bacteria and mold – its how we get all sorts of good alcoholic drinks, when sugar is highly concentrated it sucks the moisture right out of bacteria so that it cannot live. Have you ever had white table sugar grow any bacteria or fungus while it's just sitting out on your counter?
When you add the iodine to make a paste, the iodine provides not only a second line of defense, but holds the sugar together so you can pack it around the wound. Otherwise, just sprinkling sugar on the wound would not hold enough sugar to keep the blood and other fluids from diluting enough so that it would feed the infection instead of killing it.
Basically, if you have a soft tissue would like a cut, abscess, or burn, you would put the sugardine on the wound and cover with a bandage. If the wound is leaking, you want to replace the sugar on a regular basis as if you let it get waterlogged; it will do more harm than good.
When making the sugardine, its best to start with the an amount of sugar close to the amount of finished product you want and slowly add the betadine or Povidone until you get the thick peanut butter texture. Otherwise, you will most likely use too much liquid and have to add sugar repeatedly until you end up with way more sugardine that you intended.
 - Table Sugar
 - 10% povidone iodine (or the more expensive but easier to find betadine)
 1. mix one part 10% povidone iodine to two parts white sugar.
 Add more or less sugar to reach desired consistency.
 It should be like thick honey or peanut butter when all mixed together.
 2. Put the sugardine in a container with a lid.
The mixture will need stirring now and then but it will never go bad.
For more information and as a means to find more resources, please look at the attached article from the American Farriers Journal.
 1. sugardine (0 B)


text:
Chamaemelum nobile Lawn alternative, bred for Australia's tough conditions.
- Chamaemelum nobile is great for reducing weed invasion.
- It is commonly used as a lawn alternative in shade, courtyard settings and amongst pavers.
- Chamomile grows best when the ground is flat.
- Amazing in the heat. Also thrives in semi-shade, in the cold, and flood water.
- Chamomile gives off a nice, relaxing fragrance.
Plants that are as "flat as a tac" are few and far between.
Although chamomile can be low growing, they tend to usually grow a little tall to be classed as truly ground hugging.
The new Calm-o-mile™ not only hugs the ground closely but also spreads well from rhizomes, repairing itself from wear damage and providing a true lawn alternative that does not need regular mowing.
Calm-o-mile™ Matricaria is a step above the common or other forms. It forms a dense mat, which helps outcompete weeds and prevent soil erosion. It grows very flat, with only its flowers sitting above the foliage.
Using it around pavers or stepping stones protects it from heavy wear, but its natural density allows for minor walking. It appears to be able to handle frost, heat, humidity, and Australia's harsh conditions far better than regular chamomile. It has been bred to cope with Australia's hot climate as well.
Australian lawn bred for tough conditions.
Height & Width: 15cm H x up to 1m W
Planting Density: 2-3 plants per m2 – 2-3 plants per linear metre
Uses: Lawn alternative for shady and paved areas
Position: Best in the heat, can also thrive in cold and shade
Care: Water as required for 8-13 weeks till established. Prune back after flowering
Where it Works: NSW, WA, SA, ACT, TAS
Best Planting Time: All year
Soil Type: Most soil types
Flowering: White petals and yellow centres – Appears similar to daisies


text:
Libraries, supermarkets, classrooms…the world is full of places that look very similar, and yet our brains always seem to keep track of where we are. In a new study published in the Journal of Neuroscience, researchers at Princeton University and Ohio State University have uncovered one way in which the brain does this.
Similar-looking places can be distinguished from each other because of differences in what we experience when navigating to them. As we head toward a destination, our brains catalogue details such as other nearby buildings, the look of the doorway, even the people nearby.
The researchers discovered that the parahippocampal cortex, a part of the visual system that analyzes the current scene in front of us, also incorporates the details leading up to the scene, or its "temporal context." As a result, even when two scenes look identical, we create different memory traces for them when their temporal contexts are different. Ultimately, this can help our brains to keep track of where we are in the world.
Learn more about Nicholas Turk-Browne's research at Princeton University.
Journal Citation: Turk-Browne NB, Simon MG, Sederberg PB. Scene representations in parahippocampal cortex depend on temporal context. J Neurosci. 2012 May 23;32(21):7202–7.


all modules necessarily support legacy action format. Especially newer modules are recommended to NOT support it.
Legacy Description
Templates can be used with many actions. If used, the specified template is used to generate the message content (instead of the default template). To specify a template, write a semicolon after the action value immediately followed by the template name. Beware: templates MUST be defined BEFORE they are used. It is OK to define some templates, then use them in selector lines, define more templates and use use them in the following selector lines. But it is NOT permitted to use a template in a selector line that is above its definition. If you do this, the action will be ignored.
You can have multiple actions for a single selector (or more precisely a single filter of such a selector line). Each action must be on its own line and the line must start with an ampersand ('&') character and have no filters. An example would be
*.=crit :omusrmsg:rger
& root
& /var/log/critmsgs
These three lines send critical messages to the user rger and root and also store them in /var/log/critmsgs. Using multiple actions per selector is convenient and also offers a performance benefit. As the filter needs to be evaluated only once, there is less computation required to process the directive compared to the otherwise-equal config directives below:
*.=crit :omusrmsg:rger
*.=crit root
*.=crit /var/log/critmsgs
Regular File
Typically messages are logged to real files. The file usually is specified by full pathname, beginning with a slash "/". Starting with version 4.6.2 and 5.4.1 (previous v5 version do NOT support this) relative file names can also be specified. To do so, these must begin with a dot. For example, use "./file-in-current-dir.log" to specify a file in the current directory. Please note that rsyslogd usually changes its working directory to the root, so relative file names must be tested with care (they were introduced primarily as a debugging vehicle, but may have useful other applications as well). You may prefix each entry with the minus "-'' sign to omit syncing the file after every logging. Note that you might lose information if the system crashes right behind a write attempt. Nevertheless this might give you back some performance, especially if you run programs that use logging in a very verbose manner.
If your system is connected to a reliable UPS and you receive lots of log data (e.g. firewall logs), it might be a very good idea to turn of syncing by specifying the "-" in front of the file name.
The filename can be either static(always the same) or dynamic (different based on message received). The later is useful if you would automatically split messages into different files based on some message criteria. For example, dynamic file name selectors allow you to split messages into different files based on the host that sent them. With dynamic file names, everything is automatic and you do not need any filters.
It works via the template system. First, you define a template for the file name. An example can be seen above in the description of template. We will use the "DynFile" template defined there. Dynamic filenames are indicated by specifying a questions mark "?" instead of a slash, followed by the template name. Thus, the selector line for our dynamic file name would look as follows:
*.* ?DynFile
That's all you need to do. Rsyslog will now automatically generate file names for you and store the right messages into the right files. Please note that the minus sign also works with dynamic file name selectors. Thus, to avoid syncing, you may use
*.* -?DynFile
And of course you can use templates to specify the output format:
*.* ?DynFile;MyTemplate
A word of caution: rsyslog creates files as needed. So if a new host is using your syslog server, rsyslog will automatically create a new file for it.
Creating directories is also supported. For example you can use the hostname as directory and the program name as file name:
$template DynFile,"/var/log/%HOSTNAME%/%programname%.log"
Named Pipes
This version of rsyslogd(8) has support for logging output to named pipes (fifos). A fifo or named pipe can be used as a destination for log messages by prepending a pipe symbol ("|'') to the name of the file. This is handy for debugging. Note that the fifo must be created with the mkfifo(1) command before rsyslogd(8) is started.
Terminal and Console
If the file you specified is a tty, special tty-handling is done, same with /dev/console.
Remote Machine
Rsyslogd provides full remote logging, i.e. is able to send messages to a remote host running rsyslogd(8) and to receive messages from remote hosts. Using this feature you're able to control all syslog messages on one host, if all other machines will log remotely to that. This tears down administration needs.
To forward messages to another host, prepend the hostname with the at sign ("@"). A single at sign means that messages will be forwarded via UDP protocol (the standard for syslog). If you prepend two at signs ("@@"), the messages will be transmitted via TCP. Please note that plain TCP based syslog is not officially standardized, but most major syslogds support it (e.g. syslog-ng or WinSyslog). The forwarding action indicator (at-sign) can be followed by one or more options. If they are given, they must be immediately (without a space) following the final at sign and be enclosed in parenthesis. The individual options must be separated by commas. The following options are right now defined:
z<number>
Enable zlib-compression for the message. The <number> is the compression level. It can be 1 (lowest gain, lowest CPU overhead) to 9 (maximum compression, highest CPU overhead). The level can also be 0, which means "no compression". If given, the "z" option is ignored. So this does not make an awful lot of sense. There is hardly a difference between level 1 and 9 for typical syslog messages. You can expect a compression gain between 0% and 30% for typical messages. Very chatty messages may compress up to 50%, but this is seldom seen with typically traffic. Please note that rsyslogd checks the compression gain. Messages with 60 bytes or less will never be compressed. This is because compression gain is pretty unlikely and we prefer to save CPU cycles. Messages over that size are always compressed. However, it is checked if there is a gain in compression and only if there is, the compressed message is transmitted. Otherwise, the uncompressed messages is transmitted. This saves the receiver CPU cycles for decompression. It also prevents small message to actually become larger in compressed form.
Please note that when a TCP transport is used, compression will also turn on syslog-transport-tls framing. See the "o" option for important information on the implications.
Compressed messages are automatically detected and decompressed by the receiver. There is nothing that needs to be configured on the receiver side.
o
This option is experimental. Use at your own risk and only if you know why you need it! If in doubt, do NOT turn it on.
This option is only valid for plain TCP based transports. It selects a different framing based on IETF internet draft syslog-transport-tls-06. This framing offers some benefits over traditional LF-based framing. However, the standardization effort is not yet complete. There may be changes in upcoming versions of this standard. Rsyslog will be kept in line with the standard. There is some chance that upcoming changes will be incompatible to the current specification. In this case, all systems using -transport-tls framing must be upgraded. There will be no effort made to retain compatibility between different versions of rsyslog. The primary reason for that is that it seems technically impossible to provide compatibility between some of those changes. So you should take this note very serious. It is not something we do not *like* to do (and may change our mind if enough people beg…), it is something we most probably *can not* do for technical reasons (aka: you can beg as much as you like, it won't change anything…).
The most important implication is that compressed syslog messages via TCP must be considered with care. Unfortunately, it is technically impossible to transfer compressed records over traditional syslog plain tcp transports, so you are left with two evil choices…
The hostname may be followed by a colon and the destination port.
The following is an example selector line with forwarding:
*.* @@(o,z9)192.168.0.1:1470
In this example, messages are forwarded via plain TCP with experimental framing and maximum compression to the host 192.168.0.1 at port 1470.
*.*


text:
Magnetic system modelling using method of volume integral equations with piecewise-linear approximation of the field within ferromagnetic
We consider the application of the volume integral method to the magnetic system calculations. The major stages of modelling process are discussed: the discretization of initial equations, the description of the algorithm for dividing the area into elements, the calculation of matrix elements for discretization problem and the solution for the obtained system of non-linear equations. The results of modelling of magnetic systems using the discussed method are presented and compared with calculations performed by other programs.
The information about seminar and the link to connect via Webex are available at Indico.


How it Works
The SensArray family is designed with light on-board computational capabilities. The SensThys GUI is designed to operate and control the units, both in initial start-up and in basic applications like portal readers. A reader with substantial computing power, such as the Alien F800X or a server running control software, can handle interrogation and control of the integrated RFID reader when used in larger applications.


text:
Update: Using LEDs for Instrument Cluster Warning Lights 941046
Traditionally, automotive instrument clusters have been illuminated using incandescent bulbs. Failures of these bulbs are a source of warranty and repair costs. LED lamps can reduce these costs. In addition, LED lamps have a number of other benefits for instrument cluster designs.
This paper describes the design of a hybrid instrument cluster using LED lamps for telltale warning lights and bulbs for gauge lighting. This approach provides a very cost effective design since most telltale warning lights can be illuminated with a single LED. This approach eliminates three quarters of the bulbs in a typical design.
Previous SAE papers, 870211 and 900474, have also discussed the use of LED lamps for telltale lighting. These papers used very specialized lamps. This paper discusses several industry standard LED lamp packages in both through-hole and SMT package configurations. Lighting measurements have been done at instrument cluster depths of 10 to 41 mm, to cover most applications.


text:
Asked by: Lidio Fiorinoasked in category: General Last Updated: 7th March, 2020
What is meant by tong tester?
Also, what is the use of tong tester?
Introduction to Clamp Meter (Tong Tester)Clamp meter is often known as Tong Tester also. It is an easy to use test equipment and is useful in the measurement of a live-conductor without damaging / powering down the circuit.
Also Know, what is insulation tester? Megohmmeters, sometimes referred to as insulation testers or, informally, as meggers, are electrical meters used to determine the condition of the insulation on wire and motor windings. The insulation found on wires, cable, and motor windings serve to protect the wire and keep it separate from other wires.
Similarly, you may ask, how does a tong tester measure current?
To measure ac current using a flexible current probe:
- Connect the flexible current probe to the meter.
- Connect the probe's flexible tubing around the conductor.
- Keep the probe coupling more than 1 inch (2.5cm) away from the conductor.
- Turn the dial to the icon.
- View the current value in the display.
What is clip on meter?
Clip-on meter. Clip-on meter KT-2. Digital сlip-on meter KT-2 is designed for short-term measurement of the strength of AC sinusoidal frequency of 50 Hz without breaking the circuit with a nominal voltage of 650 V. For reading and counting purposes, the low currency consumption LED is used in the device.


text:
September saw the 23rd annual World of Learning Conference and Exhibition in Birmingham, UK. Elysian's own Chris Atkinson spoke here with passion, delivering a talk on his favourite topic, motivating people – beyond money. In case you didn't have to opportunity to make it to World of Learning, we filmed the talk for you to watch.
See the talk highlights:
Transformational Leadership – Moving Beyond Money
Despite a huge body of research to the contrary most organisations remain fixated on incentive and punishment as the key methodologies for employee engagement. Many leaders find it hard to imagine an organisational context where money isn't the driving force behind the motivation of their people. Whilst money will remain the primary reason why most of us work it isn't an effective motivator nor is it actually very effective as a means to drive performance. Any engine needs fuel and the 'fuel' our people run on has changed, the 'engine' of the organisation must now change in response – Transformational Leadership is the answer (move from 'have to' to 'want to').
Key learning points:
- Learn the process and philosophy of transformational leadership
- Discover the levers that drive performance beyond money
- Understand the limitations of reward and punishment methodologies
Watch it here:
If you would prefer to download the talk to listen to it on the go, find it on Sound Cloud here
Are you interested in finding out more about Chris as a speaker? click here


Minecraft: Xbox 360 Edition Wiki
Dragon Egg
282pages on
this wiki
Minecraft enderdragon egg
A Dragon Egg is a block that spawns on top of the bedrock portal created by the defeat of the Ender Dragon in The End. When they are clicked by the player, it will teleport several blocks away. They currently have no explicit purpose, but are tricky to collect. One of the ways to collect them is to make them teleport off the bedrock they spawn on, dig the block underneath the block the egg is on top of, place a torch in that place and break the block underneath the egg; it will drop as an item. Another way to obtain the egg is placing a piston facing the dragon egg and then pushing the dragon egg. Be careful not to let the dragon egg fall into the portal. And as last you punch a block near the dragon egg and then slowly move to the dragon egg without releasing the mouse button. Punching with the hand is enough to break it.
They currently serve no purpose, other than as a trophy or decoration.
Clicking on the egg in survival or creative causes it to teleport to a place nearby (up to seven blocks vertically and fifteen blocks horizontally), creating the same particles as Endermen, Nether Portals, and Ender Chests. It may teleport into the air and subsequently fall to the ground.
Like Sand, Gravel, primed TNT, and Anvils, Dragon Eggs fall when unsupported (due to the fact that they are affected by gravity), and if they land on a non-solid block, (such as a Torch, Slab or Tall Grass) they will drop as an obtainable item. They cannot suffocate the player from falling onto them.
To obtain the dragon egg, the player may push it with a piston or place any non-solid block (like a torch) under the block the egg rests on and then destroy that block so the egg falls onto it. It is possible for the player to hit one while it is still moving to the point it breaks, however this is difficult. You may also use a parried sword to break the egg and get it that way. It is also possible to obtain a dragon egg in Creative by defeating the dragon.
The dragon egg will not burn in the lava upon teleportation or falling.
Around Wikia's network
Random Wiki


text: Advanced fiber information system (AFIS) fiber length by weight as a function of seed position for two irrigation treatments (4.32 and 6.33 mm.d−1) in Lamesa, TX, in 2006 and 2007. First sympodial position. a,b denote the mean differences between seed position within irrigation treatments. A, B denote the mean differences between irrigation treatments within seed position. Means with same letter are not significantly different at P = 0.05 level.


text:
This content is not included in your SAE MOBILUS subscription, or you are not logged in.
Plant Research Unit - Program Overview and Update
ISSN: 0148-7191, e-ISSN: 2688-3627
Published July 15, 2002 by SAE International in United States
Annotation ability available
The Plant Research Unit (PRU) is the Space Station Biological Research Program plant growth facility being developed for the International Space Station. The plant habitat is designed for experiments in near-zero gravity or it can be rotated by the ISS Centrifuge for experiments at any gravity level from microgravity to twice Earth's gravity. Plant experimentation will be possible in multiple Plant Research Units at one time, isolating the effect of gravity on the biological specimens. The PRU will provide and control all aspects of a plant's needs in a nearly closed system. In other words, the shoot and root environments will not be open to the astronaut's environment except for experiment maintenance such as planting, harvesting and plant sampling. This also means that all lighting, temperature and humidity control, nutrient delivery, and air filtering and cleaning must be done in a very small volume, with very little mass and power usage and with minimal crew time. The PRU will be a fourteen-panel unit experiment interfacing with the Habitat Holding Rack and Centrifuge Rotor. The PRU will provide continuous data logging of the environment including video images of the plants. The system will be robust enough for 10 years of life and dozens of trips to and from orbit. The Plant Research Unit will provide a significant new science capability that could accelerate biotechnology and controlled agriculture applications on Earth. This paper will review the status of the program. Discussions will encompass the prototype testing that has taken place, expected capabilities of the flight unit, and research preparations that could be conducted using the Science Evaluation Unit.
CitationLee, M., Maldonado, J., and Morrow, R., "Plant Research Unit - Program Overview and Update," SAE Technical Paper 2002-01-2279, 2002, _URL_
- Bugbee, B. 1999 Engineering plants for spaceflight environments Gravitational and Space Biology Bulletin 12 67 74
- McClain, B.J. Scott T.K. 1997 Why study plants in space? ASGSB Newsletter 13 26
- NASA ARC 2001 Fundamental Biology Program Research Agenda _URL_. nasa.gov
- NASA ARC October 2000 SSBRP Plant Research Unit Flight System Specification ARC/BRP-40007
- NASA ARC 1995 Mission Scenarios Document. ARC/CF-11223


Difference Between 3G and LTE
Both the term 3G and LTE are advanced technologies that are used in mobile phones.
3G vs LTE
The difference between 3G and LTE is that the 3G is the oldest technology of the group, and it is slower than the LTE. On the other hand, LTE is a new technology, which is ten times faster than 3G.
3G vs LTE
The term 3g refers to the third generation network, which is the oldest technology in the group.
It was the first technology that has provided sufficient speed to the user so that they can experience decent speed on a smartphone. Before 3g, the user used 2g technology where the data was too slow, and also,
the user had to wait for a long time to load data.
LTE is referred to as Long Term Evolution. This technology can be ten times faster than 3g. it is also referred that the network speed depends upon the signal strength and network load.
it is also believed that LTE also does not meet its theoretical speed, but it is still faster than the 3G.
Comparison Table
Parameter of Comparison3GLTE
Definition It is referred to as the third generation network, which was the first technology that has provided sufficient speed to the user so that they can experience decent speed on a smartphone.LTE refers to a long-term evolution, which is the newer version of 3G. LTE is derived from the idea of mobile connectivity. It is a peak for the many year resource and development.
Speed 3G can run up to 7.2 Mbps, which means it is slower than the LTE.LTE can be run up to 100 Mbps, which means it is faster than the 3G.
Servers 3G is an old technology that has stable, established servers. LTE is a new technology that does not have stable, established servers in it.
What is 3G?
3G is referred to as a mobile communication standard, which is the third generation network.
The 3G service provider can enable 3g technologies because it allows connecting the internet through our smartphones.
Before 3G was launched, people used 2G, and they had to spend a lot of time waiting as the webpage loaded back at that time.
It just frustrated many people, but after the 3G was launched, it was changed. 3G was first launched in Japan in 2001, and it has been used since that time.
It is a third evolution project which was first launched in the early 80s, which is almost twenty-one year of development.
3G is considered as the 3rd generation networking standard that provides cell phone technology, which is highly introduced to provide high-speed data service on a mobile device.
It becomes more widespread so that it can connect the internet at a practical speed that is far better than the previous generation of mobile technology.
This network has explained to the world that mobile phones are not just limited to text messages and voice calls; rather than we can download a huge lot of information to the phone with the help of the internet.
And not only that, users can stream video and audio from thousands of miles away and can also be used in office work where multimedia can be exchanged between co-workers.
Lastly, 3G makes the smartphone worthwhile as it changes billions of people's communication easy and makes the user accept more advanced technologies such as 4G and 5G.
3g
What is LTE?
LTE refers to a long-term evolution, which is the newer version of 3G.
LTE is derived from the idea of mobile connectivity. It is a peak for the many year resource and development.
LTE is mainly compared with 4G, but the speed of 4G is much higher than LTE's current capabilities. LTE is a popular term used in North America to explain the fast speed mobile data connection.
Both 4G and LTE have similar connection speed but are very advanced as compared to 3G. It is also believed that the LTE stands just behind 4G.
It provides high-speed broadband data and high-speed mobile; it also supports public safety functions and telephone service. It is also believed that the safety net has its frequency on the LTE spectrum.
This network also has special features so that they can manage their network. The first feature is that it assigns the priorities to the customer.
It is considered that emergency calls get higher priorities, and if there are many numbers of folk in the network, then the priorities will decide which call should be connected and which call be disconnected.
Another feature is that LTE is that it is a self-organizing network, which means if there is an outage. The calls will be rerouted automatically to another path but it will revert to an optimally designed path, once the service is restored.
lte 1
Main Differences Between 3G and LTE
 1. Both the term 3G and LTE are advanced technologies that are used in mobile phones.
 2. 3G can run up to 7.2 Mbps, which is very good at that time. On the other hand, LTE can run up to 100 Mbps, which is less speed than 4G.
 3. 3G can be slow at the time of download. On the other hand, LTE is much faster, and we can also tell that LTE is faster than 3G.
 4. 3G can be an excellent choice of network for old mobile phones. On the other hand, LTE can be an excellent choice of network for new mobile phones.
 5. 3G is an old technology that has stable, established servers. On the other hand, LTE is a new technology that does not have stable, established servers.
Difference Between 3G and LTE
References
 1. _URL_
 2. _URL_
Search for "Ask Any Difference" on Google. Rate this post!
[Total: 0]
One request?
I've put so much effort writing this blog post to provide value to you. It'll be very helpful for me, if you consider sharing it on social media or with your friends/family. SHARING IS ♥


text:
Abstract: This paper studies both theoretically and empirically the impact of using trade as a peace instrument to avoid an anticipated interstate conflict between countries disputing a historical territory. The impact of trade is examined through the role of organized interest groups in influencing their governments' foreign policies. A game theoretical model is used to observe the dynamics at the domestic and international level of negotiating a peace agreement that can be accompanied with a trade agreement. Using backward induction, I find that the probability of conflict depends on the contribution schedules offered by organized interest groups, weighted aggregate welfare, and military cost. Using the linear probability model with fixed effects, I test the model empirically. The main result is that the probability of an interstate conflict is lower when the government adopts trade liberalization policies in export-oriented industries while protecting import-competing industries. This indicates that organized interest groups are key when it comes to using trade to dampen conflicts.
(JEL Codes: F13, F14, F51, F52, F53)


::Module for the operations you can perform on a module object.
If even this fancy guessing doesn't enable parse_module to create a fake module object for you to use, it will warn about an error and return false.
$bool = $cb->reload_indices( [update_source => BOOL, verbose => BOOL] );
This method reloads the source files.
If update_source is set to true, this will fetch new source files from your CPAN mirror. Otherwise, reload_indices will do its usual cache checking and only update them if they are out of date.
By default, update_source will be false.
The verbose setting defaults to what you have specified in your config file.
Returns true on success and false on failure.
$bool = $cb->flush(CACHE_NAME)
This method allows flushing of caches. There are several things which can be flushed:
 - methods
 The return status of methods which have been attempted, such as different ways of fetching files. It is recommended that automatic flushing be used instead.
 - hosts
 The return status of URIs which have been attempted, such as different hosts of fetching files. It is recommended that automatic flushing be used instead.
 - modules
 Information about modules such as prerequisites and whether installation succeeded, failed, or was not attempted.
 - lib
 This resets PERL5LIB, which is changed to ensure that while installing modules they are in our @INC.
 - load
 This resets the cache of modules we've attempted to load, but failed. This enables you to load them again after a failed load, if they somehow have become available.
 - all
 Flush all of the aforementioned caches.
Returns true on success and false on failure.
@mods = $cb->installed()
Returns a list of module objects of all your installed modules. If an error occurs, it will return false.
See CPANPLUS::Module for the operations you can perform on a module object.
$bool = $cb->local_mirror([path => '/dir/to/save/to', index_files => BOOL, force => BOOL, verbose => BOOL] )
Creates a local mirror of CPAN, of only the most recent sources in a location you specify. If you set this location equal to a custom host in your CPANPLUS::Config you can use your local mirror to install from.
It takes the following arguments:
path
The location where to create the local mirror.
index_files
Enable/disable fetching of index files. This is ok if you don't plan to use the local mirror as your primary sites, or if you'd like up-to-date index files be fetched from elsewhere.
Defaults to true.
force
Forces refetching of packages, even if they are there already.
Defaults to whatever setting you have in your CPANPLUS::Config.
verbose
Prints more messages about what its doing.
Defaults to whatever setting you have in your CPANPLUS::Config.
Returns true on success and false on error.
$file = $cb->autobundle([path => OUTPUT_PATH, force => BOOL, verbose => BOOL])
Writes out a snapshot of your current installation in CPAN bundle style. This can then be used to install the same modules for a different or on a different machine.
It will, by default, write to an 'autobundle' directory under your cpanplus homedirectory, but you can override that by supplying a path argument.
It will return the location of the output file on success and false on failure.
BUG REPORTS
Please report bugs or other issues to <_EMAIL_<gt>.
AUTHOR
This module by Jos Boumans <_EMAIL_>.
COPYRIGHT
The CPAN++ interface (of which this module is a part of) is copyright (c) 2001 - 2007, Jos Boumans <_EMAIL_>. All rights reserved.
This library is free software; you may redistribute and/or modify it under the same terms as Perl itself.
SEE ALSO
CPANPLUS::Configure, CPANPLUS::Module, CPANPLUS::Module::Author


text:
Record and Edit Time Logs
LogSpace℠ provides the controls needed to efficiently record time logs and related data. Users can provide and edit specific details about what tasks were performed during their tracked time.
Edit an Active Time Log
Use the "Active Time Log" view to see your current activity.
Add some notes about your work, edit the project or user, and alter the start date or time.
Edit a Completed Time Log
Once a time log has been completed, you can edit the end time as well as revise the other fields.
Editing dates and times
In addition to using the date picker to select the date, there is also a time picker for manipulating timestamps.
By clicking the button to the left of the day or time, a popover will present you with options to increment times or use sliders to drag the time.
Entering the text manually is also supported. Our advanced text input will select only portions of the text, such as just the year or hour. You may either type the numbers or use the up/down arrow keys on each section.
Even though we have an advanced text input, you may still paste a date or time. Select the field you wish to edit and paste away!


CAS Authentication Using Perl
Overview
This document uses Perl to show how the basics of CAS work. If at all possible, it is best to use a supported CAS client, but if you cannot get one to work, the code below shows how basic CAS authentication works. Of course, you can do this in any programming language.
Example Perl
sub GetUIDFromCAS {
 # Return the UID as obtained from CAS, either by validating an existing
 # ticket, or by referring the user to CAS for new ticket. In the latter
 case, the UID will be obtained by validating the ticket that is returned
 # here by CAS.

 use strict;

 use LWP::UserAgent;
 use CGI;

 my ($thisService,$casService) = @_;

 my $query = new CGI;
 my $ua = LWP::UserAgent->new;

 my $casGet;
 my $casTicket;
 my $response;
 my $uid;

 # Retrieve the CAS ticket, if any, from the incoming URI:
 $casTicket = $query->url_param('ticket');

 # If there is a ticket, validate it with CAS, returning the user's UID:
 if ($casTicket) {
 # Construct the full URL of the CAS validation service:
 $casGet =
 "$casService\/serviceValidate?ticket=$casTicket&service=$thisService";
 # Retrieve the validation output from CAS:
 $response = $ua->get($casGet);
 # Peel off the UID from the response:
 if ($response->content =~ /(\d+)<\/cas:user>/) {
 $uid = "$1";
 }
 # If there's no uid, then retrieve the entire response (which should
 # include an error message) and return that to the caller instead of
 # a uid.
 else {
 $uid = "casTicket: $casTicket; " . $response->content;
 }
 }

 # If a valid ticket was not part of the query string, redirect the user's
 # browser to CAS to get a fresh ticket:
 else {
 print
 $query->redirect(-location=>"$casService/login?service=$thisService");
 }

 # Return the UID (or else the error response) obtained from CAS:
 return $uid;
}


text:
ICIT Diversity in Cybersecurity
National security and critical infrastructure resiliency depend on the success of the cybersecurity community's diversity efforts. Reducing risk to an organization requires cross-functional stakeholder engagement within the business and its supply chain to balance business objectives with security needs. Security teams that bring diversity of thought and perspective to the decision-making process are best equipped to navigate this complex ecosystem of players, technologies, and cultures.
The last several years have seen cybersecurity workforce discussions mature to include diversity as both a competitive advantage and a solution to the growing talent shortage. Leaders increasingly understand that to prepare for the broadest variety of vulnerabilities we need people who are attuned to all types of risks participating at all levels of the discussion.
In this paper, entitled "The Business Value of a Diverse InfoSec Team: A Discussion on How Gender, Racial, Cognitive, and LGBTQ Diversity Improves Cybersecurity Outcomes," ICIT (Institute for Critical Infrastructure Technology) explores this important topic by discussing:
- The intersection of Diversity, Cybersecurity, and National Security
- Studies demonstrating the link between Diversity and Improved Outcomes
- Underrepresented communities including women, minorities, LGBTQ+, and neuro-atypicalism
This paper was authored by ICIT's Executive Director Parham Eftekhari, and Lead Researcher Drew Spaniel.
ICIT would like to thank the following experts for their contributions:
- Devon Bryan, Former CISO, The Federal Reserve
- Teddra Thomas Burgess, CRO, Micro Focus Government Solutions
- Jerry Davis, ICIT Fellow & Former CIO, NASA Ames Research Center
- Joyce Hunter, ICIT Fellow & CEO, Vulcan Enterprises LLC
- Don Maclean, ICIT Fellow & Chief Cybersecurity Technologist, DLT
Click Here to Read More


Kai Niemi
Kai Niemi's Blog
Kai Niemi's Blog
Common Table Expressions in CockroachDB
Common Table Expressions in CockroachDB
Using multi-statement CTEs and implicit transactions with Spring Data JDBC
Kai Niemi's photo
Kai Niemi
·Apr 28, 2022·
4 min read
A Common Table Expression (CTE) is a named result set of a query that exist temporarily for use within the context of a larger query. CTEs are used to increase the readability of complex queries by decomposition and reusable blocks. Recursive CTEs can be used to traverse graphs and trees and so on.
CTEs can also be used to execute data-modifying, multi-statement implicit transactions, for example when combining several INSERT and UPDATE statements into one logical unit of operation. This saves roundtrips over the network to the database and you can also leverage automatic retries in CockroachDB if the workload is contended.
This article will use Spring Data JDBC to demonstrate this capability in a conceptual way.
Example Code
The code examples in this post are available in Github.
Introduction
Let's use a simple write-only use case where we have just two entities or tables - accounts and transactions:
create table t_account
(
 id int not null default unique_rowid(),
 balance float not null,
 creation_time timestamptz not null default clock_timestamp(),
 primary key (id)
);
create table t_transaction
(
 id int not null default unique_rowid(),
 account_id int not null,
 amount float not null,
 transaction_type string not null default 'generic',
 transaction_status string not null default 'pending',
 creation_time timestamptz not null default clock_timestamp(),
 primary key (id)
);
alter table if exists t_transaction
 add constraint fk_transaction_ref_account
 foreign key (account_id)
 references t_account (id);
The statements involved in our business transaction would then be:
BEGIN;
INSERT INTO t_transaction (
 id,
 account_id,
 amount,
 transaction_type,
 transaction_status)
VALUES (unique_rowid(), ?, ?, ?, ?);
UPDATE t_account SET balance=balance+? WHERE id=?;
COMMIT;
The CTE approach for the above would be:
WITH x AS (
INSERT INTO t_transaction (
 id,
 account_id,
 amount,
 transaction_type,
 transaction_status)
VALUES (unique_rowid(), ?, ?, ?, ?) RETURNING account_id)
 UPDATE t_account SET balance=balance+? WHERE id=? RETURNING NOTHING
As you can see it's an implicit transaction with no BEGIN and COMMIT that signifies and explicit transaction. In CockroachDB you can also see this in the DB console at the statement statistics page.
Implementation
To use CTEs in Java you need to use JDBC. While it's common to use ORMs like JPA with Hibernate these days, neither the JPA query language (JPQL) or programmatic Criteria API support CTEs. Other frameworks may have such capabilities, but its always fine to use JDBC along side with any data access framework.
Configuring the Datasource
To leverage CTEs the best way you want to run them as implicit transactions, as in auto-commit mode. It's common to disable auto-commit and let the transaction manager and it's interceptor apply the explicit transaction markers based on the propagation attributes of the @Transactional annotation.
Here we enable auto-commit's on our Hikari connection pool datasource (for clarity):
 @Bean
 public HikariDataSource hikariDataSource() {
 HikariDataSource ds = properties
 .initializeDataSourceBuilder()
 .type(HikariDataSource.class)
 .build();
 ds.setMaximumPoolSize(50);// Should be: cluster_total_vcpu * 4 / total_pool_number
 ds.setMinimumIdle(25); // Should be maxPoolSize for fixed-sized pool
 ds.setAutoCommit(true);
 ds.addDataSourceProperty("reWriteBatchedInserts", "true");
 ds.addDataSourceProperty("application_name", "Spring Boot CTE");
 return ds;
 }
Thats pretty much it and the rest is just using JDBC as its normally used with Spring and its mechanisms.
Business Service
Spring provides the JdbcTemplate that makes using JDBC really easy.
You can use it directly in the service bean or in a repository implementation. In this example, we use the template directly in the service:
 @Override
 @Transactional(propagation = Propagation.NOT_SUPPORTED)
 public void createTransaction(TransactionEntity singleton) {
 Assert.isTrue(!TransactionSynchronizationManager.isActualTransactionActive(), "Transaction not expected!");
 jdbcTemplate.update(
 "WITH x AS ( "
 + "INSERT INTO t_transaction ( "
 + " id, "
 + " account_id, "
 + " amount, "
 + " transaction_type, "
 + " transaction_status) "
 + "VALUES (unique_rowid(), ?, ?, ?, ?) RETURNING account_id) "
 + " UPDATE t_account SET balance=balance+? WHERE id=?",
 ps -> {
 int i = 1;
 ps.setLong(i++, singleton.getAccountId());
 ps.setDouble(i++, singleton.getAmount());
 ps.setString(i++, singleton.getTransactionType());
 ps.setString(i++, singleton.getTransactionStatus());
 ps.setDouble(i++, singleton.getAmount());
 ps.setLong(i++, singleton.getAccountId());
 });
 }
One thing to point out is that the transaction propagation attribute is set to NOT_SUPPORTED since we want our CTE to run in auto-commit mode. If for any reason there is a transaction in progress, it will be surfaced. You can of course still run CTEs in explicit mode as well.
@Transactional(propagation = Propagation.NOT_SUPPORTED)
Conclusions
Common table expressions are helpful for complex queries, recursive use cases and to save roundtrips to the database in contrast to batching. It's not supported in JPA or Hibernate, but you can still use JDBC in combination to leverage this feature.

Share this


text:
Skip to Main Content
The paper presents the magnetic field modeling for magnetic particle imaging (MPI). The custom static magnetic field solver which enables fast calculation of three dimensional magnetic field distribution was elaborated. The regular square grid is applied in this solver. A setup of coils for MPI was designed. The selection field and the drive fields are generated by three pairs of coils. The magnetic field was calculated using the elaborated custom solver and using the COMSOL commercial FEM software. The comparison of results is presented. The elaborated solver can be used in numerical simulation of spatial encoding methods for magnetic particle imaging.


Heroin Addiction in Kunduz Province
The population in the Kunduz province in Afghanistan is 800,000. According to the province's drug treatment center, there are up to 30,000 people who are addicted to drugs in the province. 40 percent of the addicts are women and children.
Across Afghanistan, the United Nations Office on Drug and Crime estimates that there were 1 million drug addicts in the country in 2010. The most commonly used drug is opium, followed by heroin.
5,800 tons of opium was produced in Afghanistan in 2011.
(More heroin addiction facts and statistics.)
Source: Bethany Matta, "Afghan women, children held in addiction's grip," USA Today, June 4, 2012.


Please, accept cookies in order to load the content.
Scroll to explore Drones and Honeycombs
The Netherlands is famous for its professional design practice, both smalland large-scale. It is also known for its humanitarian missions and investments in development projects around the world. There used to be a clear distinction between war zones and the peaceful civilian world. That distinction seems to have dissolved: war has become part of the public space. Through this project, Het Nieuwe Instituut seeks to link subjects such as innovation and conflict to contemporary issues in design. The work focuses on the extent to which the military apparatus affects society and how it engages with architecture and urban planning.
The project is divided into three sub-research themes:
1. Drones: machines, surveillance and emerging security regimes
2. Compounds: architecture of enclosure
Background tot the project Drones and Honeycombs
Drones and Honeycombs is based on a research project by Malkit Shoshan, fellow of Het Nieuwe Instituut.


Create Effective Dialogue Simulations for Online Sales Training with iSpring Version 8.3
Dialogue simulations are important in sales training. iSpring Talkmaster makes creating them easy.
Access the Manager's Guide to Rapid eLearning
Download Now
Create Effective Dialogue Simulations for Online Sales Training with iSpring Version 8.3
How important is it for sales personnel to say the correct thing at the correct time to a potential customer? It is very important. Communication or dialogue is a significant part of any sales process. Good communication skills help sales people connect well with potential clients. Their lack will result in lost clients and deals. Considering this, communication skills need to be included while training sales personnel in any field. The best way to develop communication skills would be through dialogue simulations.
Unfortunately, neither sales training programs nor sales managers realize that conversation skills are very difficult to master and offer only basic training in this area which is not sufficient if the intention is to make successful sales deals. But organizations that focus on this aspect of sales training are reaping the benefits. Examples include companies such as IBM and Schlumberger which have emerged leaders in their respective industries. The best way to provide this training is through dialogue simulations.
 Dialogue simulations
Simulation training helps individuals learn by performing an action in order to achieve a certain outcome. The learning outcome from the simulation comes from experience and adults, we know, learn better through experience. Dialogue simulations are a way to develop conversation skills.
These simulations provide experiential learning for sales training. Many sales personnel are aware of the strong points of the company's products or services but fail to communicate them to the client or adapt their presentation according to the client's needs. Dialogue simulations can fill this gap by letting sales people take part in simulated conversations in different situations where they can practice what to say and how to say it.
Dialogue simulations are a way to develop conversation skills in a low risk environment. They help sales people develop the required soft skills when interacting with customers. Constant training will help them make effective conversations. One key communication skill is the ability to pay attention and listen to what the other person is saying and understand the intention and motivation behind it. People with good communication skills pay attention to what the other person is saying and then respond accordingly. Similarly, a good sales person listens attentively to what the customer wants and using his knowledge of the product, tailors his responses and suggests solutions.
The dialogue simulations used in e-learning sometimes fail to train sales people on the appropriate ways to respond. This is because such dialogue simulations are hard to create and require the creation of scenarios, characters, and dialogues for different situations.
iSpring TalkMaster
The TalkMaster enhancement in iSpring 8.3 makes creating dialogue simulations easy. TalkMaster has built in tools that help create characters and scenarios that mirror real life communication. They provide the option of adding voiceover to a character's lines in dialogue simulations, adding a realistic touch to the conversations. Dialogue characters can be made to speak as if in real life communication with the Talkmaster tool.
The tool is simple and easy to use and offers many options. You can create simulations, choose characters, and select appropriate emotions for them. There is the option to select the background for the scene and choose what you want your characters to say and add the appropriate reply choices or reply messages.
What's more, you can create a new dialogue scene based on the reply. You can type new text for your characters and change their emotions and create a branched scenario. This will help create different dialogue simulations for various situations.The scenes you create can be a dialogue between a customer and a sales person in a car showroom or customer and sales person negotiating the price of a product. The options are many. This helps sales personnel learn how to interact with customers in different situations and how best to respond to their needs.
iSpring 8.3 TalkMaster is useful for e-learning developers, trainers, and instructors as they can enhance the course with audio features. It can create a realistic training tool that has a positive impact on the training results.
If you can think of other ways in which TalkMaster can be used in sales training, do share with us.
A Training Manager's Handbook to Rapid E-learning Development
Create Effective Dialogue Simulations for Online Sales Training with iSpring Version 8.3
Copy link


length=250)
 slug = models.SlugField(max_length=250,
 unique_for_date='publish')
 author = models.ForeignKey(User,
 on_delete=models.CASCADE,
 related_name='blog_posts')
 body = models.TextField()
 publish = models.DateTimeField(default=timezone.now)
 created = models.DateTimeField(auto_now_add=True)
 updated = models.DateTimeField(auto_now=True)
 status = models.CharField(max_length=10,
 choices=STATUS_CHOICES,
 default='draft')
 class Meta:
 ordering = ('-publish',)
 def __str__(self):
 return self.title
This is your data model for blog posts. Let's take a look at the fields you just defined for this model:
 - title: This is the field for the post title. This field is CharField, which translates into a VARCHAR column in the SQL database.
 - slug: This is a field intended to be used in URLs. A slug is a short label that contains only letters, numbers, underscores, or hyphens. You will use the slug field to build beautiful, SEO-friendly URLs for your blog posts. You have added the unique_for_date parameter to this field so that you can build URLs for posts using their publish date and slug. Django will prevent multiple posts from having the same slug for a given date.
 - author: This field defines a many-to-one relationship, meaning that each post is written by a user, and a user can write any number of posts. For this field, Django will create a foreign key in the database using the primary key of the related model. In this case, you are relying on the User model of the Django authentication system. The on_delete parameter specifies the behavior to adopt when the referenced object is deleted. This is not specific to Django; it is an SQL standard. Using CASCADE, you specify that when the referenced user is deleted, the database will also delete all related blog posts. You can take a look at all the possible options at _URL_ You specify the name of the reverse relationship, from User to Post, with the related_name attribute. This will allow you to access related objects easily. You will learn more about this later.
 - body: This is the body of the post. This field is a text field that translates into a TEXT column in the SQL database.
 - publish: This datetime indicates when the post was published. You use Django's timezone now method as the default value. This returns the current datetime in a timezone-aware format. You can think of it as a timezone-aware version of the standard Python datetime.now method.
 - created: This datetime indicates when the post was created. Since you are using auto_now_add here, the date will be saved automatically when creating an object.
 - updated: This datetime indicates the last time the post was updated. Since you are using auto_now here, the date will be updated automatically when saving an object.
 - status: This field shows the status of a post. You use a choices parameter, so the value of this field can only be set to one of the given choices.
Django comes with different types of fields that you can use to define your models. You can find all field types at _URL_
The Meta class inside the model contains metadata. You tell Django to sort results by the publish field in descending order by default when you query the database. You specify the descending order using the negative prefix. By doing this, posts published recently will appear first.
The __str__() method is the default human-readable representation of the object. Django will use it in many places, such as the administration site.
If you are coming from using Python 2.x, note that in Python 3, all strings are natively considered Unicode; therefore, we only use the __str__() method and the __unicode__() method is obsolete.
Activating the application
In order for Django to keep track of your application and be able to create database tables for its models, you have to activate it. To do this, edit the settings.py file and add blog.apps.BlogConfig to the INSTALLED_APPS setting. It should look like this:
INSTALLED_APPS = [
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'blog.apps.BlogConfig',
]
The BlogConfig class is your application configuration. Now Django knows that your application is active for this project and will be able to load its models.
Creating and applying migrations
Now that you have a data model for your blog posts, you will need a database table for it. Django comes with a migration system that tracks the changes made to models and enables them to propagate into the database. As mentioned, the migrate command applies migrations for all applications listed in INSTALLED_APPS; it synchronizes the database with the current models and existing migrations.
First, you will need to create an initial migration for your Post model. In the root directory of your project, run the following command:
python manage.py makemigrations blog
You should get the following output:
Migrations for 'blog':
 blog/migrations/0001_initial.py
 - Create model Post
Django just created the 0001_initial.py file inside the migrations directory of the blog application. You can open that file to see how a migration appears. A migration specifies dependencies on other migrations and operations to perform in the database to synchronize it with model changes.
Let's take a look at the SQL code that Django will execute in the database to create the table for your model. The sqlmigrate command takes the migration names and returns their SQL without executing it. Run the following command to inspect the SQL output of your first migration:
python manage.py sqlmigrate blog 0001
The output should look as follows:
BEGIN;
--
-- Create model Post
--
CREATE TABLE "blog_post" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "title" varchar(250) NOT NULL, "slug" varchar(250) NOT NULL, "body" text NOT NULL, "publish" datetime NOT NULL, "created" datetime NOT NULL, "updated" datetime NOT NULL, "status" varchar(10) NOT NULL, "author_id" integer NOT NULL REFERENCES "auth_user" ("id") DEFERRABLE INITIALLY DEFERRED);
CREATE INDEX "blog_post_slug_b95473f2" ON "blog_post" ("slug");
CREATE INDEX "blog_post_author_id_dd7a8485" ON "blog_post" ("author_id");
COMMIT;
The exact output depends on the database you are using. The preceding output is generated for SQLite. As you can see in the output, Django generates the table names by combining the application name and the lowercase name of the model (blog_post), but you can also specify a custom database name for your model in the Meta class of the model using the db_table attribute.
Django creates a primary key automatically for each model, but you can also override this by specifying primary_key=True in one of your model fields. The default primary key is an id column, which consists of an integer that is incremented automatically. This column corresponds to the id field that is automatically added to your models.
Let's sync your database with the new model. Run the following command to apply existing migrations:
python manage.py migrate
You will get an output that ends with the following line:
Applying blog.0001_initial... OK
You just applied migrations for the applications listed in INSTALLED_APPS, including your blog application. After applying the migrations, the database reflects the current status of your models.
If you edit the models.py file in order to add, remove, or change the fields of existing models, or if you add new models, you will have to create a new migration using the makemigrations command. The migration will allow Django to keep track of model changes. Then, you will have to apply it with the migrate command to keep the database in sync with your models.

Creating an administration site for models
Now that you have defined the Post model, you will create a simple administration site to manage your blog posts. Django comes with a built-in administration interface that is very useful for editing content. The Django site is built dynamically by reading your model metadata and providing a production-ready interface for editing content. You can use it out of the box, configuring how you want your models to be displayed in it.
The django.contrib.admin application is already included in the INSTALLED_APPS setting, so you don't need to add it.
Creating a superuser
First, you will need to create a user to manage the administration site. Run the following


creates a submodule of the current module. If there's no _M in the current environment then P inherits _G and M inherits nothing.
Specifying a name for the module either returns package.loaded[name] if it is set or creates a module, sets package.loaded[name] to it and returns that. This is useful for creating and referencing shared namespaces without having to make a Lua file and require that.
Naming the module also sets P[name] = M so that public symbols can be declared in foo.bar style instead of _M.bar.
Setting foo.module = glue.module makes module foo directly extensible by calling foo:module'bar' or require'foo':module'bar'.
This function is 27 LOC.
glue.autoload(t, submodules) -> t
glue.autoload(t, key, module|loader) -> t
Assign a metatable to t (or override an existing metatable's __index) such that when a missing key is accessed, the module said to contain that key is require'd automatically.
The submodules argument is table of form {key = module_name | load_function} specifying the corresponding Lua module (or load function) that make each key available to t. The alternative syntax allows specifying the key - submodule associations one by one.
Motivation
Module autoloading allows splitting the implementation of a module in many submodules containing optional, self-contained functionality, without having to make this visible in the user API. This effectively disconnects how an API is modularized from how its implementation is modularized, allowing the implementation to be refactored at a later time without changing the API.
Example
main module (foo.lua):
local function bar() --function implemented in the main module
 ...
end
--create and return the module table
return glue.autoload({
 ...
 bar = bar,
}, {
 baz = 'foo_extra', --autoloaded function, implemented in module foo_extra
})
submodule (foo_extra.lua):
local foo = require'foo'
function foo.baz(...)
 ...
end
in usage:
local foo = require'foo'
foo.baz(...) -- foo_extra was now loaded automatically
glue.bin
Get the script's directory. This allows finding files in the script's directory regardless of the directory that Lua is started in.
For executables created with bundle, this is the executable's directory.
Example
local foobar = glue.readfile(glue.bin .. '/' .. file_near_this_script)
Caveats
This only works if glue itself can already be found and required (chicken/egg problem). Also, the path is relative to the current directory, so this stops working as soon as the current directory is changed. Also, depending on how the process was started, this information might be missing or wrong since it's set by the parent process. Better use fs.exedir which has none of these problems.
glue.luapath(path[,index[,ext]])
Insert a Lua search pattern in package.path such that require will be able to load Lua modules from that path. The optional index arg specifies the insert position (default is 1, that is, before all existing paths; can be negative, to start counting from the end; can be the string 'after', which is the same as 0). The optional ext arg specifies the file extension to use (default is "lua").
glue.cpath(path[,index])
Insert a Lua search pattern in package.cpath such that require will be able to load Lua/C modules from that path. The index arg has the same meaning as with glue.luapath.
Example
glue.luapath(glue.bin)
glue.cpath(glue.bin)
require'foo' --looking for 'foo' in the same directory as the running script first
Allocation
glue.freelist([create], [destroy]) -> alloc, free
Returns alloc() -> e and free(e) functions to allocate and deallocate Lua objects. The allocator returns the last freed object or calls create() to create a new one if the freelist is empty. create defaults to function() return {} end; destroy defaults to glue.noop.
glue.buffer(ctype) -> alloc(minlen|false) -> buf, capacity
(LuaJIT only) Return an allocation function that reuses or reallocates an internal buffer based on the len argument.
 - ctype must be a VLA: the returned buffer will have that type. this makes glue.buffer(ctype) compatible with ffi.typeof(ctype).
 - the buffer only grows, it never shrinks and it only grows in powers of two steps.
 - the allocation function returns the buffer's current capacity which can be equal or greater than the requested length.
 - the returned buffer is anchored by the allocation function. calling alloc(false) unanchores the buffer.
 - the contents of the buffer are not preserved between allocations but you are allowed to access both buffers between two consecutive allocations in order to do that yourself.
glue.dynarray(ctype) -> alloc(minlen|false) -> buf, minlen
Like glue.buffer() but preserves data between reallocations, and always returns minlen instead of capacity.
FFI
glue.addr(ptr) -> number | string
Convert the address of a pointer into a Lua number (or possibly string on 64bit platforms). This is useful for:
 - hashing on pointer values (i.e. using pointers as table keys)
 - moving pointers in and out of Lua states when using luastate
glue.ptr([ctype,]number|string) -> ptr
Convert an address value stored as a Lua number or string to a cdata pointer, optionally specifying a ctype for the pointer (defaults to void*).
glue.getbit(val, mask) -> true|false
Get the value of a single bit from an integer.
glue.setbit(val, mask, bitval) -> val
Set the value of a single bit from an integer.
glue.bor(flags, bits, [strict]) -> mask
bit.bor() that takes its arguments as a string of form 'opt1 opt2 ...', a list of form {'opt1', 'opt2', ...} or a map of form {opt->true} and performs bit.bor() on the numeric values of those arguments where the numeric values are given as the bits table of form {opt->bitvalue}.
Useful for Luaizing C functions that take bitmask flags.
Example: glue.bor('a c', {a=1, b=2, c=4}) -> 5.
Tips
String functions are also in the glue.string table. You can extend the Lua string namespace:
'glue.update(string, glue.string)'
so you can use them as string methods:
's:trim()'
Design
glue_design
Last updated: 3 months ago | Edit on GitHub
Package:glue
Pkg type:Lua+ffi
Version: 8005b4b
Last commit:
Author: Cosmin Apreutesei
License: Public Domain
Requires: luajit
Top