In this instance, this template will automatically be used as an item template, and you don't have to specify the itemTemplate option.
However, in some cases you may need to have several custom item templates defined within the widget's container and apply each of them in different scenarios. In this instance, use one of the following ways of setting the required template to the itemTemplate option.
 - Assign a string representing the name of the required template.
 - Assign a function that returns the name of the template as a result of a certain logic.
When you have several collection widgets, you may need to define a common template for them. For this purpose, factor out a template into a separate element, as demonstrated below.
HTML

To set the common template as a collection item template, assign one of the following values to the itemTemplate option.
 - Assign a jQuery object representing the template's container
 - Assign a DOM Node representing the template's container
 - Assign a function that returns the jQuery object or a DOM Node representing the template's container
You can use a custom template engine. For this purpose, call the DevExpress.ui.setTemplateEngine(name) method passing the name of one of the supported template engine. You can see a demo where a custom template engine is used: Data Grid - Row Underscore Template.
orientation
Specifies whether the menu has horizontal or vertical orientation.
Type: String
Default Value: 'horizontal'
Accepted Values: 'horizontal'|'vertical'
Show Example:
jQuery
rtlEnabled
Specifies whether or not the current component supports a right-to-left representation.
Type: Boolean
Default Value: false
If you need to switch the display of this DevExtreme component to right-to-left, enable a specifically designed configuration option - rtlEnabled. When this option is set to true, the text flows from right to left, and the layout the component's elements is reversed. To switch the entire application/site to a right-to-left representation, use the static DevExpress.rtlEnabled field.
Show Example:
jQuery
selectedItem
Holds an object representing the currently selected menu item.
Type: Object
Default Value: false
Show Example:
jQuery
showFirstSubmenuMode
Specifies by which user interaction the first-level submenu is shown.
Type: String
Default Value: 'onclick'
Accepted Values: 'onhover'|'onHoverStay'|'onclick'
To set an event for displaying the secondary-level submenus, use the showSubmenuMode option.
Show Example:
jQuery
showPopupMode
Deprecated
Use the showFirstSubmenuMode option instead.
Specifies by which user interaction submenus are shown.
Type: String
Default Value: 'onclick'
Accepted Values: 'onhover'|'onHoverStay'|'onclick'
showSubmenuMode
Specifies by which user interaction secondary-level submenus are shown.
Type: String
Default Value: 'auto'
Accepted Values: 'onhover'|'onHoverStay'|'onclick' | 'auto'
By default, the secondary-level submenus of the dxMenu widget are displayed on the same event as the first-level submenu. To set another event for displaying secondary-level submenus, use the showSubmenuMode option. Alternatively, you can change the event on which the first-level submenu is displayed. For this purpose, use the showFirstSubmenuMode option.
Show Example:
jQuery
submenuDirection
Specifies the direction at which the submenus are displayed.
Type: String
Default Value: 'auto'
Accepted Values: 'auto'|'rightOrBottom'|'leftOrTop'
By default, the first submenu is displayed so that it is visible totally, based on the menu location on the page. Use the submenuDirection option to display the first submenu at the bottom or at the top of a root item when the widget's orientation is horizontal, and to the left or to the right when orientation is vertical.
submenuHiddenAction
An action performed when a submenu is hidden.
Type: String|function(e)
Function parameters:
e: Object
Provides function parameters.
Object structure:
component: Object
Provides access to the widget instance.
element: jQuery
An HTML element of the widget.
model: Object
Provides access to the data that is available for binding against the element.
rootItem: jQuery
Returns an HTML element representing the widget item that is root for those items for which the current submenu is shown.
Default Value: false
Assign a function to perform a custom action when a submenu is hidden.
Alternatively, you can assign a URL to which the browser will navigate when a submenu is hidden.
Show Example:
jQuery
submenuHidingAction
An action performed before a submenu is hidden.
Type: String|function(e)
Function parameters:
e: Object
Provides function parameters.
Object structure:
component: Object
Provides access to the widget instance.
element: jQuery
An HTML element of the widget.
model: Object
Provides access to the data that is available for binding against the element.
rootItem: jQuery
Returns an HTML element representing the widget item that is root for those items for which the current submenu is shown.
cancel: Boolean
Indicates whether to cancel hiding the submenu.
Default Value: false
Assign a function to perform a custom action before a submenu is hidden.
Alternatively, you can assign a URL to which the browser will navigate before a submenu is hidden.
Show Example:
jQuery
submenuShowingAction
An action performed when a submenu is shown.
Type: String|function(e)
Function parameters:
e: Object
Provides function parameters.
Object structure:
component: Object
Provides access to the widget instance.
element: jQuery
An HTML element of the widget.
model: Object
Provides access to the data that is available for binding against the element.
rootItem: jQuery
Returns an HTML element representing the widget item that is root for those items for which the current submenu is shown.
Default Value: false
Assign a function to perform a custom action when a submenu is shown.
Alternatively, you can assign a URL to which the browser will navigate when a submenu is shown.
Show Example:
jQuery
submenuShownAction
An action performed before a submenu is shown.
Type: String|function(e)
Function parameters:
e: Object
Provides function parameters.
Object structure:
component: Object
Provides access to the widget instance.
element: jQuery
An HTML element of the widget.
model: Object
Provides access to the data that is available for binding against the element.
rootItem: jQuery
Returns an HTML element representing the widget item that is root for those items for which the current submenu is shown.
Default Value: false
Assign a function to perform a custom action before a submenu is shown.
Alternatively, you can assign a URL to which the browser will navigate before a submenu is shown.
Show Example:
jQuery
visible
A Boolean value specifying whether or not the widget is visible.
Type: Boolean
Default Value: true
Show Example:
jQuery
width
Specifies the width of the widget.
Type: Number|String|function
Return Value: Number|String
The widget width.
Default Value: undefined
The option can hold a value of the following types.
 - numeric
 The widget width in pixels.
 - string
 A CSS measurement of the widget width (e.g., "55px", "80%", "auto" and "inherit").
 - function
 The function returning the widget width. For example, see the following code.
 JavaScript
 width: function () {
 return baseWidth - 10 + "%";
 }


text:
Geotechnical Testing Journal, vol.45, no.1, 2022 (SCI-Expanded)
© 2021 ASTM International.Dispersive soils cause great damage to hydrophilic earth structures and unprotected slope surfaces because of their high erosion sensitivity. In fine-grained soils, erosion resistance decreases with increased dispersibility. The dispersion mechanism of clays is controlled by the clay mineralogy and by the physicochemical repulsive forces in the clay-water system. The erosion resistance of dispersive soils can be determined by surface and internal erosion tests. In this study, the internal erosion resistance of soils was determined by using new test equipment that allowed the flow to pass through a hole when the dispersion mechanism in fine-grained soils was activated. The experiments for this study were performed under a single hydraulic head on two different natural dispersive soils with similar clay mineralogy. In this experimental system, both uniform and fully developed flow conditions were achieved. Time-dependent flow rates obtained from the experimental system can be used to determine hydraulic parameters, such as energy grade line, at very low error rates with the help of basic theorems of pipe hydraulics in theoretical hydraulic models, which were formed using a physical hydraulic model. Moreover, the erosion rates were quantitatively determined by using the continuity equation, and critical shear stresses were qualitatively compared for internal erosion developed by the dispersion mechanism. The sand/clay ratio determined the erosion resistance and behavior of the dispersive soils.

source: m-a-p/FineFineWeb


How to Use RSoP to Check and Troubleshoot Group Policy Settings
Share This:
Are you looking for a way to track and manage your Group Policy settings? Resultant Set of Policy (RSoP) can help! RSoP is a Windows tool that enables you to discover which policy settings have been applied to local and remote computers. It's an invaluable tool for IT administrators and professionals, as it helps them stay on top of their organization's Group Policy settings.
RSoP works by collecting data from the computer's registry as well as from Active Directory. It then creates a report detailing which policies are applied to the user or computer, including information about any security settings that may be in effect. This report can be used to troubleshoot issues, verify policy configurations, or identify potential security risks.
Using RSoP is easy – all you need to do is open up the command line and type 'rsop.msc'. The tool will then generate a report for both the user and computer policies currently in effect. The report will include detailed information about each setting, including its source (whether it was applied through a domain-based policy or local policy), when it was last modified, and who made the change.
RSoP is an incredibly powerful tool that can save IT administrators hours of time when managing their organization's Group Policy settings. It's also an excellent resource for security professionals who are looking to ensure their organization's data remains secure. So if you're looking for a way to easily track and manage your Group Policies, give RSoP a try!
How to Use RSoP to Check and Troubleshoot Group Policy Settings 1
Differences Between Gpresult and RSoP
Gpresult and RSoP are both command-line tools used to display applied group policies. However, there is an important difference between the two tools. Gpresult is a more comprehensive tool that can show all the possible sets of applied policies to the user and computer, while RSoP will only display a limited set of group policies that were applied to the computer. Gpresult can also provide more detailed information about each policy, including its source, type, and any exceptions that have been applied. Therefore, if you need a full picture of the applied group policies on a system or user account, Gpresult is the better choice.
The Difference Between RSoP and GPedit
The main difference between Group Policy Resultant Set of Policy (RSoP) and GPEDIT.MSC is the scope of their functionality. RSoP provides a detailed report on the settings that have been applied to a user or computer based on all the Group Policy Objects (GPOs) from both local and domain sources, while GPEDIT.MSC is used to manage only the local Group Policy settings. RSoP can help you identify all the GPOs that are applied to a user or computer, whereas GPEDIT.MSC is useful for making changes to any of the local GPOs.
Can RSoP Be Run on a Remote Computer?
Yes, you can run the Resultant Set Of Policy (RSoP) tool on a remote computer. To do this, you must first install the Group Policy Management Console (GPMC) on a computer with administrative rights. Once the GPMC is installed, you can use it to connect remotely to the target computer and then run an RSoP query to view detailed information about what policy settings are applied. You can also use the GPMC to create and deploy policy changes to the remote computer as well.
Checking RSoP Results
In order to check your Resultant Set of Policy (RSoP) results, you'll need to open the command line interface on your computer. Once the command line is open, type in rsop.msc and hit enter. After a moment, the RSoP report should appear on your screen. This report will contain information about the user and computer policy settings on your machine, as well as any changes that have been made in the past.
You can also use the RSoP to compare different user or computer policies for potential conflicts between them. In addition, it's possible to view the effects of policy changes before they are applied by using the simulation option within RSoP.
Once you have finished checking your RSoP results, you can close the command line interface and continue working with whatever other tasks you may have.
Understanding the Resultant Set of Policy (RSoP)
A Resultant Set of Policies (RSoP) is a tool used to help administrators understand the effect of Group Policy settings in an Active Directory environment. It allows administrators to query existing and planned policies and then report the results of those queries. This helps administrators quickly identify the impact of Group Policy on user and computer accounts.
RSoP can be used to troubleshoot policy issues by providing a detailed report of all Group Policies that are being applied, including any conflicts between them. It also provides information about when a policy was applied and which client computer it was applied to. This can help identify potential problems with policies before they cause serious issues.
RSoP is especially useful for tracking down issues with users who may not be able to access resources or who have unexpected behavior because of conflicting or unapplied policies. By running an RSoP query, administrators can quickly determine what policies are causing the issue and adjust them accordingly.
Overall, RSoP is an invaluable tool for managing Group Policy in an Active Directory environment, as it provides quick visibility into how the policies are affecting users and computers.
The Impact of Group Policy on Resultant Outcomes
Resultant Set of Policy (RSoP) is a feature of Group Policy that provides an administrative tool for analyzing the impact of Group Policy settings on users and computers in Active Directory. RSoP allows administrators to view the effective settings from all GPOs that are applied to a user or computer, as well as any conflicts between the policies. This report can be used to troubleshoot issues related to Group Policy, verify if certain policies are being applied correctly, and detect any policy misconfigurations. RSoP also allows administrators to identify any potential security risks resulting from Group Policy settings, and make changes as necessary.
Tools for Performing RSoP Analysis
Group Policy Result (gpresult) is a command-line tool that allows you to quickly analyze the RSoP data on a computer. It can provide you with a detailed report of the settings applied to the current user and computer, as well as any policy settings that have been filtered out or not applied.
Group Policy Update (gpupdate) is another command-line tool that allows you to quickly refresh local policy settings on a computer. This can be useful if you need to update the RSoP data on a specific computer without having to wait for a scheduled synchronization.
Finally, the RSoP snap-in allows you to view and analyze all RSoP data for computers in an Active Directory domain. This snap-in provides an interactive graphical interface for exploring the data, allowing you to get an in-depth look at which policies are being applied and what their settings are.
Retrieving GPResult from a Remote Computer
To get GPResult from a remote computer, you can use the gpresult /s command followed by the name of the remote computer. This command will display the Group Policy information and settings on that remote computer or server. In order to make sure that your connection is secure, you should ensure that you are using a secure connection when running this command. Additionally, you should also have administrative privileges on the remote computer in order to make changes to its configuration.
Running a GPResult Report
To run a GPResult report, you must first open the command prompt. Once the prompt is open, type in 'gpresult' followed by any desired parameters. The parameters you can use are as follows:
/h – Generates an HTML report of policy settings.
/scope – Specifies the scope of the query (user or computer).
/r – Displays only RSoP information for the specified user and computer.
/v – Verbose mode, which displays all settings applied from all GPOs.
/z – Displays RSoP information in XML format.
/s – Specifies a remote computer to generate the report on.
/u [\] – User to generate RSoP information on the local computer.
For example, if you wanted to generate an HTML report of policy settings for a specific user and computer, you would type in 'gpresult /h /r /u [domain]\[username]' into the command prompt and hit enter to run it.
Does GPResult Show Computer Policies?
Yes, GPResult does show computer policies. The gpresult command is a helpful tool for displaying the resulting set of policy settings that were enforced on the computer for the specified user when they logged on. The /v and /z options provide a comprehensive report of the Group Policy settings that are applied to the specified user and computer, including any applicable computer policies. To get an even more detailed report, you can redirect the output to a text file by using the syntax "gpresult/z >policy".
Does the Default Domain Policy Appear in GPResult?
Yes, the Default Domain Policy is one of the policies that will show in GPResult. GPResult displays a list of all Group Policy Objects (GPOs) that are applied to both the computer and the user, including the Default Domain Policy. This policy contains settings that apply to all users and computers in the domain, such as security settings and network access rules. When you run GPResult, it will also display information such as policy settings, GPO processing time, and any errors that occurred while processing the policies.
Conclusion
In conclusion, the Resultant Set of Policy (RSoP) is a powerful tool that provides valuable insight into the group policy settings applied to a user or computer. It is able to report on


text: Three ferrite based perovskites were investigated as cathodes for the electrochemical reduction of oxygen and nitric oxide, using cone-shaped electrodes and cyclic voltammetry. The ferrites investigated were LaFeO3, La0.85Sr0.15FeO3−δ and La0.5Sr0.5FeO3−δ. Especially the effect of anodic pre-treatment of the electrodes was investigated. It was shown that the ferrite based electrodes are better at reducing nitric oxide than oxygen in the temperature range 200 to 400°C. The ability of the ferrites to reduce oxygen depends mainly on the amount of Fe(III) and oxide anion vacancies, leading to the highest activity towards the reduction of oxygen for the intermediate compound La0.85Sr0.15FeO3−δ in the investigated temperature range. All the electrodes were either activated or de-activated when polarized at 0.4 vs. air, before recording the voltammograms, depending on temperature and gas atmosphere. This was attributed to annihilation of oxide ion vacancies, strontium segregation to the surface of the electrodes and perhaps formation of Fe(IV). The effect of water vapor was also studied. It had a slightly deactivating effect on the activity in the nitric oxide containing atmosphere, the effect being highest at the lowest temperatures.


text:
What does IEEE mean in Electronics?
This page is about the meanings of the acronym/abbreviation/shorthand IEEE in the Academic & Science field in general and in the Electronics terminology in particular.
Find a translation for IEEE in other languages:
Select another language:
What does IEEE mean?
- Institute of Electrical and Electronics Engineers
- The Institute of Electrical and Electronics Engineers is a professional association headquartered in New York City that is dedicated to advancing technological innovation and excellence. It has more than 425,000 members in more than 160 countries, about 51.4% of whom reside in the United States.
Discuss this IEEE abbreviation with the community:
Use the citation below to add this abbreviation to your bibliography:
IEEE also stands for:
- Information Engineering Endeavoring to Excel
- Institue of Electrical and Electronics Engineers
- Institute of Electrical and Electronic Engineers
- International Enclave For Electronics Efficiency
- Internet Engineers, Entrepreneurs, and Employers
... and 1 more »


text:
Evaluation of Superpave Fine Aggregate Angularity Specification
MetadataShow full item record
The validity of the Superpave fine aggregate angularity (FAA) requirement is questioned by both the owner agencies and the paving and aggregate industries. The FAA test is based on the assumption that more fractured faces will result in higher void content in the loosely compacted sample; however, this assumption is not always true. Some agencies have found that cubical shaped particles, even with 100 percent fractured faces, may not meet the FAA requirement for high-volume traffic. State agencies are concerned that local materials, previously considered acceptable and which have provided good field performance, cannot meet the Superpave requirements. Researchers evaluated angularity of 23 fine aggregates representing most types of paving aggregates used in the USA using seven different procedures: FAA test, direct shear test, compacted aggregate resistance (CAR) test, three different image analyses, and visual inspection. The three image analyses techniques included Hough Transform at University of Arkansas at Little Rock (UALR), unified image analysis at Washington State University (WSU), and VDG-40 videograder at Virginia Transportation Research Council (VTRC). A small study was performed to evaluate relative rutting resistance of HMA containing fines with different particle shape parameters using the Asphalt Pavement Analyzer (APA). The FAA test method does not consistently identify angular, cubical aggregates as high quality materials. There is a fair correlation between the CAR stability value and angle of internal friction (AIF) from the direct shear test. No correlation was found between FAA and CAR stability or between FAA and AIF. Fairly good correlations were found between FAA and all three image analysis methods. Some cubical crushed aggregates with FAA values less than 45 gave very high values of CAR stability, AIF, and 'angularity' from imaging techniques. Moreover, the three image analysis methods exhibited good correlation among themselves. A statistical analysis of the SHRP-LTPP (Strategic Highway Research Program-Long-Term Pavement Performance) database revealed no significant evidence relationship between FAA and rutting. This lack of relationship is not surprising since many uncontrolled factors contribute to pavement rutting. The APA study revealed that FAA is not sensitive to rut resistance of HMA mixtures. Image analysis methods appear promising for measuring fine aggregate angularity. Until a suitable replacement method(s) for FAA can be identified, the authors recommend that the FAA criteria be lowered from 45 to 43 for 100 percent crushed aggregate. Analysis of the FAA versus rutting data should be examined later as the amount of data in the SHRP-LTTP database is expanded.

source: openbmb/Ultra-FineWeb


text:
The Tristan Stone
The Tristan Stone in Cornwall, England
Beside the road leading to Fowey in Cornwall stands an ancient, weathered stone measuring some 7 feet in height and set in a concrete base. It was once much closer to Castle Dore and may have been the origin of the association of this site with the story of the tragic love of Tristan and Iseult.
There is a Latin inscription on the stone, now much worn, which can be restored with only a little judicial guesswork to read:
Drustans hic iacet Cunomori filius, which means: Drustanus lies here, the son of Cunomorus
A memorial to the hero Tristan stands beside the road near the Cornish town of Fowey.
It has been suggested, plausibly, that the characters referred to are Tristan, the nephew of Mark – Drustan being a recognized variant of the hero's name and Cunomorus being a Latinization of Cynvawr. Cynvawr, in turn, is said by the ninth-century author Nennius, who compiled the best historical account of Arthur, to be identified with King Mark.


Who Invented What When 1st edition
Who Invented What When 0 9781741104882 _PHONE_
Details about this item
Who Invented What When: Who Invented What When recounts the 500-year saga of innovation that has shaped the world we live in, from the first pocket watch to the latest nanotechnology. Arranged chronologically, each new invention is placed in its historical context and provides insight into the inventor?s life and motivation as well as the difference their invention has made.
Back to top


Typical stories
 1. Do tips
 Written by Nicoline
 2. Cycling on the Sallandse Heuvelrug
 Written by Bertine
 3. Heathland on the Sallandse Heuvelrug
 Written by Bertine
 4. Liberation Route. A continuously growing remembrance trail.
Discover Twente. Country estate of the Netherlands
Welcome in Twente
A region where life is green. This, in combination with the authentic cultural heritage makes Twente the ideal place for a wonderfull stay and an enrichment of life.There are several possible answers in response to the question why Twente is so popular among tourists. It has nature reserves, country estates and farms to offer, for one. Meaning it's the perfect place to go to enjoy nature. You can do this by bike, on foot or on horseback, using the excellent network of routes and trails that can be found here. But Twente has a lot more to offer. Discover our cities and villages, for example, where you will find distinctive shops and restaurants in equal measure.
Twente Highlights
 1. Delden
 The city centre of the charming city of Delden dates …


You are here: Home General Disclosing Your... If I Disclose My Medical...
Disclosing Your Health Condition To Your Employer
If I Disclose My Medical Condition, What Should I Disclose?
Next » « Previous
There is a difference between disclosing and sharing everything.
 - How much to disclose depends primarily on your reason for disclosing. For example, if you have decided to disclose so that you do not have the burden of keeping a secret, it may not be sufficient for you to indicate that you are a person with a disability without indicating your diagnosis. You would meet the legal requirement, but you would still be keeping your diagnosis a secret.
 - Even if you are disclosing in order to request an accommodation or a leave of absence and you do not want your employer to be aware of too much information, you may consider simply indicating that you are a person with a disability, and describe the need you have. Understand that if your employer requires evidence of your condition (which it has a right to do), the evidence such as a letter from your doctor will likely include mention of your health condition.
Please share how this information is useful to you. 0 Comments
Characters remaining:
 All other tags will be stripped.


Step 1: In Movie Collector:
 1. Use the menu File > Export to > Text.
 2. Choose which fields you would like to export through the Fields button.
 3. Click 'Browse' to define a location for your export.
 4. Choose a filename for the export, and save as either .txt or .csv.
Step 2: In Excel:
 1. Open the .csv or .txt file you saved.
 2. Excel will place the fields properly into columns.
Warning: "Could not create file"
If you get this warning, please ensure you've specified a location for the export. So: Make sure you click 'Browse' from within the Export to File screen to define a location for the export.
Need more help with this?
Don't hesitate to contact us here.
Was this helpful?
Yes No
You indicated this topic was not helpful to you ...
Could you please leave a comment telling us why? Thank you!
Thanks for your feedback.


Changes
From CDOT Wiki
Jump to: navigation, search
BigBlueButton
3,937 bytes added, 12:35, 2 November 2016
m
CDOT BigBlueButton Contributors
===What is BigBlueButton?===
[_URL_ BigBlueButton] is a free and open source web conferencing system, primarily targeted towards online lecturing, and small group collaboration. It provides by providing a virtual classroom environment for instructors to teach, and tools for students to collaborate in small groupsgroup collaboration. However, BigBlueButton is by no means limited to classroom settings and small groups; it just means that the core features and components of BigBlueButton were developed with this target demographic in mind. The BigBlueButton name comes from the notion that starting a web conference should be as simple as pressing a metaphorical big blue button.
===Who Develops BigBlueButton?=== BigBlueButton was started in 2007 by Richard Alam, who at the time was a Master's student at Carleton University. Since then, many other individuals and organizations have become involved. The core team of developers come from [_URL_ Blindside Networks] and [_URL_ Seneca CDOT]. ===What Features Does BigBlueButton Have?=== BigBlueButton contains a set of components, called "modules", each containing a bunch of features. Such modules include and features include:
*The users module, that contains and displays the list of users in a meeting, along with their state (whether they are a presenter, moderator or normal viewer, whether they are sharing any media, whether their permissions are restricted in some way, etc..).
*Lock Settings, which allow moderators of a meeting to restrict some users' access of the modules. For example, a moderator can disable webcam sharing, or chatting between participants.
 Try out BigBlueButton for yourself at _URL_ Just enter any user name in, and play around for yourselfwith it!
==BigBlueButton Architecture==
===Background Information===
BigBlueButton was initially a Flash application. The server, written in Java (now moving to Scala), sat on a Flash media server called Red5, and the main client was a Flash web application (the "Flash client") that was downloaded by the browser upon joining a BigBlueButton meeting. As a Flash clientapplication, this meant that users had to install a Flash Player into their web browser in order for them to use it (like old YouTube videos). Though the main BigBlueButton client is still Flash based, all of the new features that HTML5 requires browsers to be able to support natively (without having to install plug-ins) allowed developers to begin development of work on a second client for BigBlueButton, that used only the built-in capabilities of web browsers (the "HTML5 client"). Additionally, around late 2013, development began on a cross-platform mobile application for Android and iOS that allowed people to join a BigBlueButton meeting from mobile devices (the "mobile client"). Both the HTML5 client and the mobile client are still under development.
===Server-side===
See [_URL_ this] for a recent overview of BigBlueButton's server-side architecture. Behind the scenes, the BigBlueButton server uses the following frameworks, technologies:
*[_URL_ Red5]: a Flash Media Server, with "room management" (a Red5 room corresponds to a BigBlueButton meeting) allowing easy handling of message sending and streaming to only those users who connected to a specific room. Red5 holds the following BigBlueButton components:
*[_URL_ BigBlueButton-Web] running on [_URL_ Grails] and [_URL_ Tomcat]: BigBlueButton's web API, allowing programmers to create meetings, join meetings, get [_URL_ configurations] for a meeting, get information to set the state of the client when joining a meeting, to use the presentation services for uploading presentations, and to use the recording services to record meetings.
*[_URL_ Redis]: a key-value database store used by BigBlueButton to communicate between the different server-side components, and to record all of the events of a meeting. Redis provides a publish and subscribe ("pub-sub") messaging system, that allows applications to subscribe to channels, which means every message published to that channel will be received by all subscribers of that channel.Try this [_URL_ interactive Redis tutorial!]
*[_URL_ FreeSwitch]: used by BigBlueButton as a VOIP server to manage voice conference calls between WebRTC audio clients, connecting them and streaming their audio data to others in the same conference. Additionally, since Flash Audio and WebRTC audio use different audio codecs (Speex vs Opus), FreeSwitch is used to transcode between these two codecs, and send the audio data to BBB-Voice for repackaging and delivery to those Flash clients that are using Flash audio (Flash clients needn't use Flash audio, but can now use WebRTC audio).
*[_URL_ Meteor.js] on [_URL_ Node.js]: Node.js is JavaScript environment which is not a web browser. This is the server to which HTML5 clients connect. It communicates with Red5 through Redis.

*[_URL_ Nginx] (pronounced "engine-x"): used as a reverse proxy, to forward HTTP requests to other applications on a BigBlueButton server, depending on the structure of the URL.
==BigBlueButton Development==
===For New Developers: Getting started on BBB===
'' <span styleIf you would like to start voluteering or working for CDOT, please read these step by step instructions for setting up your environment, as well as a tutorial for how to create a react component within BigBlueButton: [_URL_ Starting at BBB] To read the documentation about BigBlueButton written for Employees of Blindside Networks, visit this link: [http: red;">//docs.bigbluebutton.org/ BlindSide Networks BBB documentation] First, you will likely want to subscribe to the following BigBlueButton mailing-lists: *_URL_ constructionhttp://groups.google.com/group/bigbluebutton-users Next, since all of the source code for BigBlueButton is hosted on GitHub, you should try to gain a rudimentary understanding of how to use Git. Nothing too fancy, but at the very least, you should know how to clone repositories, create and navigate local branches, add files to the staging area, commit staged files, pull changes from remote repositories, push your changes to remote repositories, and submit pull requests. If you get stuck, or get some weird error message, usually you can [http: write something here!!//www.google.ca Google] the message and read forum posts or [_URL_ Stack Overflow] answers, as other people have likely encountered the exact same issue before. Some good Git resources include: *[_URL_ A free online book] - The first three chapters should be sufficient*[_URL_ A cute interactive tutorial]*<[http:/span>''/chadpilkey.wordpress.com/2013/05/08/making-a-change-to-bigbluebutton-with-git/ A blog post from Chad Pilkey,] on the usual git work flow used by BigBlueButton developers After that, the resources you will need will depend on which parts of BigBlueButton you want to develop. For the steps on setting up a BigBlueButton version 1.0 development environment for the server, and for the Flash client, see _URL_ For the steps on setting up a development environment for the HTML5 client, see _URL_ For the steps on setting up a development environment for the mobile client, see _URL_ As of September 2014, the most important component of BigBlueButton that has yet to be implemented is the video module for the HTML5 client. This is because there is no suitable WebRTC live video streaming server that BigBlueButton can use. The way the Flash client does this, is by capturing webcam media, encoding it in H.264, and streaming it to BigBlueButton-Video using the RTMP protocol. BigBlueButton-video is Flash based, and can handle the re-streaming of this video stream to the other Flash clients. The HTML5 client does not use Flash, but instead uses WebRTC to capture and stream media. The philosophy of WebRTC is to use completely open and non-proprietary codecs and protocols, and both the RTMP protocol, and the H.264 video codec are proprietary. The most widely used WebRTC video codec is VP8.


text:
CGI::Pretty - module to produce nicely formatted HTML code
CGI::Pretty is a module that derives from CGI. It's sole function is to allow users of CGI to output nicely formatted HTML code.
When using the CGI module, the following code: print table( TR( td( "foo" ) ) );
produces the following output: foo
If a user were to create a table consisting of many rows and many columns, the resultant HTML code would be quite difficult to read since it has no carriage returns or indentation.
CGI::Pretty fixes this problem. What it does is add a carriage return and indentation to the HTML code so that one can easily read it.
- print table( TR( td( "foo" ) ) );
now produces the following output: foo
CGI::Pretty is far slower than using CGI.pm directly. A benchmark showed that it could be about 10 times slower. Adding newlines and spaces may alter the rendered appearance of HTML. Also, the extra newlines and spaces also make the file size larger, making the files take longer to download.
With all those considerations, it is recommended that CGI::Pretty be used primarily for debugging.
The following tags are not formatted: , , ,

source: HuggingFaceFW/fineweb-edu


Kazakhstan establishes diplomatic relations with Trinidad and Tobago
Photo: Kazakhstan establishes diplomatic relations with Trinidad and Tobago / Kazakhstan
Astana, Kazakhstan, Jan.21
By Daniyar Mukhtarov - Trend:
Permanent Representative of Kazakhstan to the UN Kairat Abdrakhmanov and Permanent Representative of Trinidad and Tobago to the organization signed a joint communiqué on Jan.16, 2014 in New York on establishing diplomatic relations between the two countries, Kazakh Foreign Ministry said.
During the meeting there was exchange of views on the status and prospects of bilateral cooperation within the UN, according to Kazakh Foreign Ministry. Additionally, the similarity in the stages of development of the two countries was emphasized. The similarity is related to gaining independence, democratic development, participation in regional integration processes and tolerance of society.
The parties admitted the importance of expanding mutually beneficial contacts between the states, especially in the spheres of energy, trade, access to regional markets, tourism and education.
Interest was expressed in Kazakhstan's contribution to the development of the island state's cooperation with Central Asian countries, and the importance for Kazakhstan to export its goods and services to Latin American and Caspian Sea region was emphasized.
Kazakh Foreign Ministry said that the important issues of the UN agenda reflecting the interests of the two states were discussed. They include: the solution of problems of the countries which do not have access to sea, small island states, working out the goals of sustainable development, environmental protection and other issues.
Trinidad and Tobago is an island state located in the southern Caribbean Sea, with a population of over 1.3 million people. The country is a parliamentary republic, where the political system is based on the British model of parliamentary democracy. The main economic sectors are mining and processing of oil and natural gas. The country is the largest natural reservoir of asphalt in the world.
The country has been a member of the United Nations since September 18, 1962. The republic is also a member of the Organization of American States, the Caribbean Community, the World Trade Organization (WTO), the Latin American Economic System, which brings together 26 countries of South America and the Caribbean basin.
Translated by L.Z.
Edited by C.N.
Follow us on Twitter _USER_


text:
Estate Eyckenstein - Maartensdijk
The exact age of Eyckenstein is unknown. Shortly after 1600 there is a manor house on the spot where Adriaan Eyck built a new front facade and an annex in 1780. From the very beginning, there have always been prominent families living on Eyckenstein, such as a mint master and mayors. It is known that Maurits Eyck was the first to live there permanently. This is unusual in his day, because country houses are difficult to heat in winter. From 1777 to 1876, three generations of Eyck lived there, who made Eyckenstein a stately country estate. In 1876 Eyckenstein is bought by Elisabeth Both Hendriksen, widow of Christiaan van Boetzelaer van Dubbeldam. Since then, several generations of Van Boetzelaer have lived there. Around 1880, Willem Carel van Boetzelaer had the park laid out in an English landscape style by the garden architect Leonard Springer. Eyckenstein probably owes its name to the more than 300-year-old oaks that accompany it. The estate has 395 hectares, of which 185 hectares directly behind the house.


text:
Definition of modillion
n. - The enriched block or horizontal bracket generally found under the cornice of the Corinthian and Composite entablature, and sometimes, less ornamented, in the Ionic and other orders; -- so called because of its arrangement at regulated distances. 2
The word "modillion" uses 9 letters: D I I L L M N O O.
No direct anagrams for modillion found in this word list.
Words formed by adding one letter before or after modillion (in bold), or to diillmnoo in any order:
s - modillions
All words formed from modillion by changing one letter
Browse words starting with modillion by next letter


text:
Studying Hamilton's harbour invaders
A team of students in Sigal Balshine's Aquatic Behavioural Ecology Lab is working to better understand the invasive round goby fish found in Hamilton Harbour.
The students, both undergraduate and graduate, catch gobies at several locations around the bay and in Cootes Paradise. They then record the area in which the fish were caught, vital statistics such as their sex and size and water quality information.
The Aquatic Behavioural Ecology Lab researches the evolution of cooperation, parental care and breeding, sperm competition, species introductions and extinctions and the effects of contaminant exposure.
Pauline Capelle, in her third year studying biology and psychology, blogs about the lab's work as part of the School of Graduate Studies' new blog series.


How to log security events in a Python application?
Member
by susana , in category: Python , a year ago
How to log security events in a Python application?
Facebook Twitter LinkedIn Telegram Whatsapp
2 answers
Member
by arnoldo , 10 months ago
@susana
Logging security events in a Python application is an important aspect of maintaining the security of the application. Here are some steps to help you get started:
 1. Import the logging module:
1
import logging
 1. Create a logger object:
1
logger = logging.getLogger('security')
 1. Set the logging level:
1
logger.setLevel(logging.INFO)
 1. Add a file handler to write the logs to a file:
1
2
handler = logging.FileHandler('security.log')
logger.addHandler(handler)
 1. Add a format to the logs:
1
2
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
 1. Use the logger object to log security events:
1
logger.info('Security event occurred')
You can customize the logging level, filename, and format as per your requirements. Additionally, you can also use other types of handlers like StreamHandler or SysLogHandler to write the logs to different destinations.
Member
by josh , 9 months ago
@susana
There are several ways to log security events in a Python application. One way is to use the built-in logging module in Python. This allows you to create log files that record various security events such as login attempts, attempted breaches, and unauthorized access. Here's an example of how you can use the logging module to log security events:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import logging
logger = logging.getLogger('security')
logger.setLevel(logging.INFO)
handler = logging.FileHandler('security.log')
handler.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(levelname)s:%(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
# Example usage
user = 'admin'
logger.info(f"{user} logged in successfully.")
In this example, we create a logger object called 'security' with a level set to INFO. We then create a file handler that writes log messages to a file called 'security.log'. The handler is set to the INFO level as well. Finally, we set a formatter that includes a timestamp, log level, and the log message.
To use this logger, you simply need to call it in your code when an event occurs that you want to log, such as a successful login attempt as shown in the example. This will create a log message in the file that includes the timestamp, log level, and message.
Another way to log security events is by using a third-party logging platform such as Splunk or ELK. These platforms allow you to aggregate and analyze logs from multiple sources, including your Python application, to gain insights into security events and potential threats.


text:
SPLITTING TERRACED HOUSES INTO SINGLE UNITS USING OBLIQUE AERIAL IMAGERY
- Institute of Optical Sensor Systems, DLR Berlin, Germany
Keywords: Façade Splitting, Oblique True Ortho, Building Segmentation
Abstract. This paper introduces a method to subdivide complex building structures like terraced houses into single house units comparable to units available in a cadastral map. 3D line segments are detected with sub-pixel accuracy in traditional vertical true orthomosaics as well as in innovative oblique true orthomosaics and their respective surface models. Hereby high gradient strengths on roofs as well as fac¸ades are taken into account. By investigating the coplanarity and frequencies within a set of 3D line segments, individual cut lines for a building complex are found. The resulting regions ideally describe single houses and thus the object complexity is reduced for subsequent topological, semantical or geometrical considerations. For the chosen study area with 70 buidling outlines a hit rate of 80% for cut lines is achieved.


to then complete the email auth stage. A server can instead send flows m.login.recaptcha, m.login.dummy and m.login.recaptcha, m.login.email.identity to fix the ambiguity.
To use this authentication type, clients should submit an auth dict with just the type and session, if provided:
{
 "type": "m.login.dummy",
 "session": "<session ID>"
}
5.3.5 Fallback
Clients cannot be expected to be able to know how to process every single login type. If a client does not know how to handle a given login type, it can direct the user to a web browser with the URL of a fallback page which will allow the user to complete that login step out-of-band in their web browser. The URL it should open is:
/_matrix/client/r0/auth/<auth type>/fallback/web?session=<session ID>
Where auth type is the type name of the stage it is attempting and session ID is the ID of the session given by the homeserver.
This MUST return an HTML page which can perform this authentication stage. This page must use the following JavaScript when the authentication has been completed:
if (window.onAuthDone) {
 window.onAuthDone();
} else if (window.opener && window.opener.postMessage) {
 window.opener.postMessage("authDone", "*");
}
This allows the client to either arrange for the global function onAuthDone to be defined in an embedded browser, or to use the HTML5 cross-document messaging API, to receive a notification that the authentication stage has been completed.
Once a client receives the notificaton that the authentication stage has been completed, it should resubmit the request with an auth dict with just the session ID:
{
 "session": "<session ID>"
}
5.3.5.1 Example
A client webapp might use the following javascript to open a popup window which will handle unknown login types:
/**
 * Arguments:
 * homeserverUrl: the base url of the homeserver (eg "_URL_")
 *
 * apiEndpoint: the API endpoint being used (eg
 * "/_matrix/client/r0/account/password")
 *
 * loginType: the loginType being attempted (eg "m.login.recaptcha")
 *
 * sessionID: the session ID given by the homeserver in earlier requests
 *
 * onComplete: a callback which will be called with the results of the request
 */
function unknownLoginType(homeserverUrl, apiEndpoint, loginType, sessionID, onComplete) {
 var popupWindow;
 var eventListener = function(ev) {
 // check it's the right message from the right place.
 if (ev.data !== "authDone" || ev.origin !== homeserverUrl) {
 return;
 }
 // close the popup
 popupWindow.close();
 window.removeEventListener("message", eventListener);
 // repeat the request
 var requestBody = {
 auth: {
 session: sessionID,
 },
 };
 request({
 method:'POST', url:apiEndpint, json:requestBody,
 }, onComplete);
 };
 window.addEventListener("message", eventListener);
 var url = homeserverUrl +
 "/_matrix/client/r0/auth/" +
 encodeURIComponent(loginType) +
 "/fallback/web?session=" +
 encodeURIComponent(sessionID);
 popupWindow = window.open(url);
}
5.3.6 Identifier types
Some authentication mechanisms use a user identifier object to identify a user. The user identifier object has a type field to indicate the type of identifier being used, and depending on the type, has other fields giving the information required to identify the user as described below.
This specification defines the following identifier types:
 - m.id.user
 - m.id.thirdparty
 - m.id.phone
5.3.6.1 Matrix User ID
Type:m.id.user
Description:The user is identified by their Matrix ID.
A client can identify a user using their Matrix ID. This can either be the fully qualified Matrix user ID, or just the localpart of the user ID.
"identifier": {
 "type": "m.id.user",
 "user": "<user_id or user localpart>"
}
5.3.6.2 Third-party ID
Type:m.id.thirdparty
Description:The user is identified by a third-party identifier in canonicalised form.
A client can identify a user using a 3PID associated with the user's account on the homeserver, where the 3PID was previously associated using the /account/3pid API. See the 3PID Types Appendix for a list of Third-party ID media.
"identifier": {
 "type": "m.id.thirdparty",
 "medium": "<The medium of the third party identifier>",
 "address": "<The canonicalised third party address of the user>"
}
5.3.6.3 Phone number
Type:m.id.phone
Description:The user is identified by a phone number.
A client can identify a user using a phone number associated with the user's account, where the phone number was previously associated using the /account/3pid API. The phone number can be passed in as entered by the user; the homeserver will be responsible for canonicalising it. If the client wishes to canonicalise the phone number, then it can use the m.id.thirdparty identifier type with a medium of msisdn instead.
"identifier": {
 "type": "m.id.phone",
 "country": "<The country that the phone number is from>",
 "phone": "<The phone number>"
}
The country is the two-letter uppercase ISO-3166-1 alpha-2 country code that the number in phone should be parsed as if it were dialled from.
5.4 Login
A client can obtain access tokens using the /login API.
Note that this endpoint does not currently use the user-interactive authentication API.
For a simple username/password login, clients should submit a /login request as follows:
{
 "type": "m.login.password",
 "identifier": {
 "type": "m.id.user",
 "user": "<user_id or user localpart>"
 },
 "password": "<password>"
}
Alternatively, a client can use a 3PID bound to the user's account on the homeserver using the /account/3pid API rather then giving the user explicitly, as follows:
{
 "type": "m.login.password",
 "identifier": {
 "medium": "<The medium of the third party identifier>",
 "address": "<The canonicalised third party address of the user>"
 },
 "password": "<password>"
}
In the case that the homeserver does not know about the supplied 3PID, the homeserver must respond with 403 Forbidden.
To log in using a login token, clients should submit a /login request as follows:
{
 "type": "m.login.token",
 "token": "<login token>"
}
As with token-based interactive login, the token must encode the user ID. In the case that the token is not valid, the homeserver must respond with 403 Forbidden and an error code of M_FORBIDDEN.
If the homeserver advertises m.login.sso as a viable flow, and the client supports it, the client should redirect the user to the /redirect endpoint for Single Sign-On. After authentication is complete, the client will need to submit a /login request matching m.login.token.
5.4.1 GET /_matrix/client/r0/login
Gets the homeserver's supported login types to authenticate users. Clients should pick one of these and supply it as the type when logging in.
Rate-limited:Yes.
Requires auth:No.
Request format:
No parameters
Response format:
Parameter Type Description
flows [LoginFlow] The homeserver's supported login types
LoginFlow
Parameter Type Description
type string The login type. This is supplied as the type when logging in.
Example request:
GET /_matrix/client/r0/login HTTP/1.1
Responses:
Status code 200:
The login types the homeserver supports
Example
{
 "flows": [
 {
 "type": "m.login.password"
 }
 ]


text:
Everything you need to know about customising your accessories
Pump Pressure Vs Hose Length
How does it affect?
A plunger pump works by using a reciprocating plunger to move water through the pump and into the outlet hose. The pressure at the outlet of the pump is determined by the amount of force the plunger can generate, and this force can be affected by the length of the outlet hose.
Your length matters
When a plunger pump is pumping water through a longer hose, there is more resistance to the flow of water, which can cause a decrease in the pressure at the outlet. This is due to the frictional losses in the hose, which increase as the length of the hose increases. The pump must work harder to overcome the resistance created by the longer hose, which can result in a lower pressure output.
In addition, the diameter of the hose can also affect the pressure. A smaller diameter hose will have a greater resistance to flow than a larger diameter hose, which can cause a drop in pressure.
So, to maintain a specific pump pressure, it's important to consider the length and diameter of the hose being used. A shorter and wider diameter hose will cause less resistance and maintain a higher pump pressure, while a longer and narrower diameter hose will cause more resistance and result in a lower pump pressure.


text: Porthcurno was once the largest telegraph station in the world. The Grade II listed Eastern House was constructed in 1904 due to overcrowding in the original telegraph station. During World War Two, the strategic importance of the telegraph station meant that it needed protection from enemy bombers. The now Grade II* listed Tunnels were dug into the granite hillside and the station was moved underground in 1941. Above the beach sits the Grade II listed Cable House built in 1929. As the only remaining intact Cable House in the world, it houses the terminals for the 14 undersea cables the come into Porthcurno.


Take the 2-minute tour ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.
I am reading in a byte array/list from socket. I want Python to treat the first byte as an "unsigned 8 bit integer". How is it possible to get its integer value as an unsigned 8 bit integer?
share|improve this question
3 Answers 3
up vote 12 down vote accepted
Use the struct module.
import struct
value = struct.unpack('B', data[0])[0]
Note that unpack always returns a tuple, even if you're only unpacking one item.
Also, have a look at this SO question.
share|improve this answer

can you show how? – bbb Dec 11 '09 at 11:57

so what is stored in struct.unpack('B', data[0])[1]? – bbb Dec 11 '09 at 12:02

data[0] is the first byte that you receive. unpack("B", data[0]) treats that byte as a 8-bit unsigned integer (known as unsigned char in C) and returns a tuple containing that integer (had you passed two bytes to unpack you would do something like unpack("BB", data[0:2]) and get a 2-tuple back). The final [0] gets the first (and only) item in the tuple. – codeape Dec 11 '09 at 12:07
1
In this case, it's a tuple with one element, so struct.unpack('B', data[0])[1] will raise an IndexError. [stackoverflow.com/questions/_PHONE_/… is an example of a typical use of struct. – musicinmybrain Dec 11 '09 at 12:11
bytes/bytearray is a sequence of integers. If you just access an element by its index you'll have an integer:
>>> b'abc'
b'abc'
>>> _[0]
97
By their very definition, bytes and bytearrays contain integers in the range(0, 256). So they're "unsigned 8-bit integers".
share|improve this answer

for example, i have this in my server side code data = conn.recv(_PHONE_) as long as i understand i receive bytes... so i want data[0] to be treated as "unsigned 8 bit integer". how is this possible? – bbb Dec 11 '09 at 11:59

This only works in Python 3.x. Python 2.6 has the b'string literal' syntax, but it is merely an alias for str, and older versions will give you a SyntaxError. – musicinmybrain Dec 11 '09 at 12:14

@musicinmybrain: that's why this question is tagged as python-3.x I guess – SilentGhost Dec 11 '09 at 12:21
Another very reasonable and simple option, if you just need the first byte's integer value, would be something like the following:
value = ord(data[0])
If you want to unpack all of the elements of your received data at once (and they're not just a homogeneous array), or if you are dealing with multibyte objects like 32-bit integers, then you'll need to use something like the struct module.
share|improve this answer
Your Answer

discard
By posting your answer, you agree to the privacy policy and terms of service.
Not the answer you're looking for? Browse other questions tagged or ask your own question.


text:
How to extract youtube data in Python?
YouTube statistics of a YouTube channel can be used for analysis and it can also be extracted using python code. A lot of data like viewCount, subscriberCount, and videoCount can be retrieved. This article discusses 2 ways in which this can be done.
Method 1: Using YouTube API
First we need to generate an API key. You need a Google Account to access the Google API Console, request an API key, and register your application. You can use Google APIs page to do so.
To extract data we need the channel id of the YouTube channel whose stats we want to view. To get the channel id visit that particular YouTube channel and copy the last part of the URL (In the examples given below channel id of GeeksForGeeks channel are used).
- First create youtube_statistics.py
- In this file extract data using YTstats class and generate a json file will all the data extracted.
- Now create main.py
- In main import youtube_statistics.py
- Add API key and channel id
- Now using the first file data corresponding to the key given will be retrieved and saved to json file.
Code for main.py file :
Code for youtube_statistics.py file :
Method 2: Using BeautifulSoup
Beautiful Soup is a Python library for pulling data out of HTML and XML files. In this approach we will use BeautifulSoup and Selenium to scrape data from YouTube channels. This program will tell the views, time since posted, title and urls of the videos and print them using Python's formatting.
- Import module
- Provide url of the channel whose data is to be fetched
- Extract data
- Display data fetched.
Please Login to comment...


Other than those two key differences, the ZM6 performed identically to the ABIT BM6 in AnandTech's performance and stability tests. As taken from the BM6 review, the conclusion to the benefits of the ZM6 are identical to those of the BM6, including stability.
The argument has been made that bigger capacitors in greater quantities on a motherboard is not necessarily better, and the truth of the matter is, that it is not. The entire trend of assuming that bigger is better was actually brought about by an editorial written a few years back about a well-known motherboard manufacturer in which the company was praised for having such highly rated and stable products. In response to the question why their boards were so stable, the classic response from the company was "well, we have bigger capacitors." A statement that was backed up by the use of larger capacitors on their motherboards, a trait that continues to be seen on their products to date. In reality, the "praising" editorial was nothing more than an attempt to appease the motherboard manufacturer in question, and the stability issues were overly exaggerated, the truth of the matter was that the motherboard manufacturer produced well made boards, and that was that.
What is this brief story getting at? The key to the effective use of capacitors on a motherboard isn't the size nor the population, rather the location of the capacitors. The general rule of thumb is that so long as the signal present between any frequently "trafficked" components on a motherboard (those that are sensitive to fluctuations in voltage, etc...) retains its original strength, the operation of the board has a greater chance of being stable. In order to ensure this, motherboard manufacturers place capacitors to keep the signal between two points on a motherboard both clean and strong, improving the stability and reliability of the motherboard, and thus explaining any issues that come up during the tests that could possibly be capacitance related. ABIT's effective use of capacitors around the ATX power supply connector, Socket-370 interface, 443ZX controller chip, memory banks and AGP slot explain the results AnandTech's ZM6 sample exhibited during the stability tests. Comparatively speaking, when pitted against the other Socket-370 based motherboards AnandTech has reviewed thus far, the ABIT ZM6 is on par with Microstar's MS-6153, as it crashed but once during the stability tests.
The rest of the motherboard's features are fairly standard to ABIT motherboards, for those of you that aren't familiar, the description of the board's SoftMenu II Jumperless CPU Setup and it's other features have been taken from the AnandTech BX6 Revision 2 Review:
As we have all come to expect from ABIT, the ZM6 features the latest and greatest version of their SoftMenu II Jumperless CPU setup. With the BH6, ABIT introduced the ability to modify the SEL66/100# setting, enabling the user to effectively unlock the clock lock on 100MHz FSB processors running at the 100MHz FSB. For example, the original Pentium II 350 only allowed a 3.5x clock multiplier when using the 100MHz FSB, making 400MHz impossible, and anything greater than 350MHz impossible without the use of a higher FSB setting (i.e. 112MHz). Setting the SEL66/100# setting to "Low" allowed for the removal of this lock, giving many users the ability to run their 350MHz Pentium II processors at 100MHz x 4.0 or 100MHz x 4.5, and their 400MHz Pentium II's at 100 x 4.5. The SEL66/100# feature has made its way into the SoftMenu II setup of the ZM6, however with a Celeron CPU, the usefulness is absolutely nothing as there won't be a 100MHz FSB Celeron processor for quite some time.
The ZM6 would have little to offer over the competition if it weren't for a few more modifications to SoftMenu II, ABIT's sole reason for existence right now in the overclocking market. The ZM6's SoftMenu II brings a few new settings, such as the inclusion of the new higher frequency FSB settings (138MHz, 143MHz, 148MHz, 153MHz) as well as "in-between" settings such as the 110MHz and 120MHz options for those users that just can't seem to hit 112MHz or 124MHz with their systems. The board also supports the 1/4 PCI clock divider with all > 100MHz FSB settings to keep the PCI frequency as close to the specified 33MHz setting as possible, for those with extremely tolerant PCI peripherals.
ABIT's highly regarded User's Manual makes its presence felt in the box of the ZM6 giving users a step-by-step installation and a configuration guide for their system. The ABIT manual includes a fairly easy to read and useful explanation of the BIOS and CPU setup, and makes the overall experience with the new ZM6 (especially for first time system builders) a pleasant one.
The ZM6, as expected, also features ABIT's core voltage manipulation option which allows the user to select core voltage settings ranging from 1.30v to 2.30v in 0.5v increments, meaning the board will also support any upcoming Celeron processors based on the Katmai (Pentium III) core. Don't worry, those won't be around for quite some time however. Unfortunately, the overclockability of Celeron processors makes the usefulness of the 100MHz+ FSB settings on the ZM6 pretty useless, as there isn't a single Socket-370 Celeron processor (with the exception of the 300A) that even remotely has a chance of using the 100MHz FSB due to its locked clock multiplier, much less anything faster than 100MHz.
If it weren't for the fact that the ZM6 exhibited top notch stability (in comparison to other Socket-370 boards), ABIT would have been in a very bad position, with an overclocker's board, yet with nothing to overclock. Luckily, the ZM6 is quite stable, and it's easy to setup nature makes it the ideal Socket-370 board provided that you are in the market for one.
Index The Bad & Features
Log in
Don't have an account? Sign up now


text:
Are you a true outdoor enthusiast who enjoys wine tasting, hiking, biking, water sports, zipline-ing, and much more?! The Shawnee National Forest encompasses more than 270,000 acres in Southern Illinois and is home to outstanding natural areas which offer numerous outdoor activities. Bordered to the east and west by the Ohio and Mississippi Rivers, the Shawnee National Forest flourishes with vegetation, wildlife, and recreational opportunities. On your visit to the Shawnee Hills Wine Trail enjoy the abundant recreational amenities within your reach!
Shawnee Bluffs Canopy Tour: Illinois' first entirely tree-based, eco-friendly zip line canopy tour, located on 83 wooded acres surrounded by the Shawnee National Forest. Shawnee Bluffs Canopy Tour consists of eight zip lines, the longest stretching more than 1,100 feet, which will zig-zag across the property's bluffs and through the valley. The tour also includes 11 platforms high in the trees, three aerial suspension bridges, the longest stretching 180 feet, and two short ground hikes.A canopy tour is an exciting way to experience the flora, fauna, geology and history of the outdoors by safely traversing an established route of ziplines and aerial bridges between platforms built in the trees, and they are just plain Fun!
Bald Knob Cross of Peace: Officially known as the Bald Knob Cross of Peace, is a large white cross located in Alto Pass, Illinois, United States. The structure is 111 feet (34 m) tall and is visible, when lit at night, over an area of 7,500 square miles (19,000 km2). The base of the cross is 1,034 feet above sea level and overlooks the Shawnee National Forest. Originally completed in 1963, the cross itself stands 111 feet tall, is 22 feet square at the base, 16 feet square at the top and its arms extend 63 feet horizontally. The exterior white panels covering the cross are 4-inch architectural flat insulated metal panels while the base portion is covered in granite approximately 4-inches thick. The structure sits on a foundation of 730 tons of reinforced concrete that goes down 20 feet to bedrock. The steel framework weighs approximately 170 tons. Each of the four sides of the cross have a word inscribed into the granite: Peace, Hope, Faith, Charity.
Pomona Natural Bridge: The Pomona Natural Bridge located in Pomona Illinois is a great quick hike for all ages. This hidden hiking treasure is a 15-30 minute drive from several Southern Illinois towns such as Carbondale, Cobden, Alto Pass, Murphysboro and Anna.
Little Grand Canyon: Forget what you've heard about Illinois being nothing but flat prairie land. Tucked away along southern Illinois' scenic Wine Trail, the Little Grand Canyon offers a 365 foot climb from the canyon floor and a panoramic view of the Big Muddy River and the Mississippi floodplain.The 3.6 mile Little Grand Canyon Trail, which can take 3-4 hours to complete, starts off as an easy-going asphalt/gravel path along Hickory Ridge, the southern lip of the canyon. The ground drops off sharply on either side of the trail, allowing visitors to peer down on the oak and hickory forest from above. Several benches along the path give park-goers the opportunity to relax and enjoy the scenery at leisure.
Giant City Stables: The Stable maintains about 30 horses of different types and breeds and in 2007 we opened our new covered arena. Come enjoy the beauty of Giant City State Park on horseback. All rides are guided by our experienced wranglers. Our most popular ride last about one hour and is 3.2 miles long. You will be rididng through wooded trails in the park. Come experience the beauty of nature by a relaxing ride on our horses. The half hour ride is a short version of the hour ride and gives you a glimpse of the wooded terrain in the park. Reservations are recommended.
Tunnel Hill Bike Trail: Have a love for biking? Visit Tunnel Hill Bike Trail home of 9 - scenic trail options in length 16 - 95 miles.
Jackson Falls: Offers many opportunities for technical climbing and is a beautiful scenic area on the Shawnee National forest.
LaRue Pine Hills: LaRue Pine Hills is one of the most unique areas in the world. LaRue-Pine Hills is a protected area within the Shawnee National Forest. As the Big Muddy River flowed out from the uplands it was channelized between levees on it route to the Mississippi River. The channel that the river abandoned evolved into a swamp at the base of the Pine Hills Bluff, part of the Ozark Hills of Southern Illinois. Enough water made its way into the swamp to allow ash, red swamp maple, and cypress trees to take root. As with many places in the Shawnee National Forest,the beauty we see today is rooted in its geologic history. At LaRue-Pine Hills it took millions of years to form its bedrock before nature's erosive forces took over and created the 150-foot limestone bluffs that now rise out of the Mississippi floodplain. The rocks that make up the bluffs at LaRue-Pine Hills are Devonian age Bailey Limestone (over years these layers of shell deposits were pressed into rock. Once the sea receded, this bedrock was exposed to nature's erosive forces. Wind and water began to wear away the rock creating ridges and gullies, carving out the beautiful limestone rock formations of LaRue-Pine Hills and the 350-foot limestone bluffs that now rise out of the Mississippi floodplain. These massive bluffs extend roughly 5 miles along Highway 3 are as impressive today as they were to explorers Meriwether Lewis and William Clark in 1803.
Garden of the Gods: More than 320 million years ago, the wind and rain patiently started to chisel away at large deposits of sedimentary rock located in what is now, Shawnee National Forest . Over the years, the elements have sculpted some of the most stunning and extraordinary rock formations known to man. This garden of sandstone sculptures and vast untouched wilderness was fittingly named Garden of the Gods.
Little Grassy Lake Campground: Little Grassy Lake Campground & Marina sits on Little Grassy Lake, located inside Crab Orchard National Wildlife Refuge. It offers boating and fishing opportunities where the fisherman is king and the Bass and Crappie are his chief antagonist. Where 1,000 acres of crystal clear water , 4 miles long, 1 mile wide, up to 80 feet deep and 31 miles of wooded rocky shoreline create the most scenic lake in southern Illinois.
Cache River Wetlands: Making up only 1.5% of the land area in Illinois, the Cache basin harbors 11.5% of the State's high quality floodplain forests, 23% of its remaining high quality barrens habitat, and 91% of the State's high quality swamp/wetland communities. The area shelters 100 state threatened or endangered species and seven federally threatened or endangered species. The Cache River Wetlands are home to some of the oldest living trees east of the Mississippi River, includes three National Natural Landmarks, and has been designated a "Wetlands of International Importance", putting it in the same ecological league as Okefenokee Swamp and the Everglades.
Giant City State Park: With its breathtaking natural beauty and unlimited opportunities for outdoor recreation, a trip to Giant City State Park near Carbondale is sure to delight visitors of all ages. From camping and horseback riding to fishing and rappelling, it's an outdoor lover's paradise. Visitors will marvel at the many wilderness trails. Especially popular is a hike on Giant City Nature Trail, home of the Giant City Streets; huge bluffs of sandstone formed 12,000 years ago.
White Crain Canoe Rentals: White Crane Canoe Rentals: Explore Illinois' hidden bayou, the Lower Cache River Wetlands, from a canoe with an experienced guide or on your own.


text:
Escape Dynamics seeks regulatory approval for testing space launch vehicles using microwave RF energy
Clients Escape Dynamics, Inc.
Jones Day is assisting Escape Dynamics, Inc. in working with the federal government to secure the necessary approvals for testing space launch vehicles using microwave RF energy. Escape Dynamics is developing an electromagnetically-powered space launch and aerospace propulsion systems with the goal of enabling single-stage-to-orbit, fully and rapidly reusable space launch vehicles. Instead of the current approach, in which space launch vehicles carry large, heavy tanks of liquid fuel, Escape Dynamics would use microwave RF energy to transfer power to the launch vehicle through the air and space.
Because of the potential public safety issues related to its technology, Escape Dynamics will require substantial and numerous regulatory approvals from various federal agencies before it can conduct outdoor tests and demonstrations of its technology.
Earlier this year, Escape Dynamics secured an initial approval from the Federal Communications Commission to conduct horizontal outdoor tests in a remote desert environment. Once these tests are complete, Escape Dynamics will seek approvals to begin testing in a vertical direction. If Escape Dynamics is successful in demonstrating its technology, it could revolutionize the space transport industry.


Canopy Layer
Canopy Layer
The Canopy Layer is the second highest layer of the rainforest.
This is where most of the trees grow to, at around 30-45 metres high.
As most trees grow to this height in the rainforest, the leaves tend to overlap each other and the branches tend to wind around each other.
As the leaves of the trees in the Canopy Layer are so thick and big, and overlap each other so much, they block a lot of sunlight going down below.
However, these trees themselves get lots of sunlight.
This layer sees lots of fruit and nuts growing on them, which means lots of rainforest animals live her.
Image result for canopy layer rainforest


Şu sürüme ilişkin yardım içeriğini görüntülüyorsunuz:
Learn to create a custom theme, style individual components, and use web fonts in a theme
08-style_your_adaptiveformmain
This tutorial is a step in the Create Your First Adaptive Form series. It is recommended to follow the series in chronological sequence to understand, perform, and demonstrate the complete tutorial use case.
About the tutorial
You can use themes to provide a unique appearance and style to an adaptive form. You can apply out of the box themes provided with adaptive forms editor or create custom themes of your own. AEM Forms provide a theme editor to create custom themes. A single theme can provide the different appearance to the same adaptive form opened on mobile, tablet, or desktop. Any prior knowledge of CSS or LESS is not required to use theme editor but it is desired.
By the end of the tutorial, you will learn to:
 - Apply an out of the box theme to an adaptive form
 - Create a theme for adaptive form using the theme editor
 - Style individual components
 - Bonus Section: Use web fonts in a custom theme
The form will look similar to the following after you complete the tutorial:
Form with a custom theme
Before you start
Download the header-style and logo images, given below, on your local machine. The header of the shipping-address-add-update-form adaptive form uses the header-style and logo images. The header-style image appears on the right side of the header.
İndir
Step 1: Apply a theme to your adaptive form
Adaptive forms editor provides multiple out-of-the-box themes. If you plan not to use a custom style for your adaptive form, you can also publish your adaptive forms with an out-of-the-box theme. Themes are independent of adaptive forms. You can apply the same theme to multiple adaptive forms. To apply a theme to an adaptive form:
 1. Open properties of Adaptive Form container. In the properties browser, navigate to Basic > Adaptive Form Theme. The Adaptive Form Theme field lists all the out-of-the-box and custom themes. By default, the Canvas theme is applied.
 2. Select a theme from the Adaptive Form Theme field. For example, Survey theme. Tap to apply the selected theme.
Adaptive form with the default theme
Adaptive form with the default theme
Adaptive form with the Survey theme
Adaptive form with the Survey theme
Step 2: Update your adaptive form
The design displayed above requires changes in placeholder text and logo of your existing adaptive form. Perform the following steps to make the required changes:
 1. Change the existing logo and text of the header. To remove the logo:
 1. Open the form in form editor.
 http://localhost:4502/editor.html/content/forms/af/shipping-address-add-update-form.html
 2. Tap logo image in the header component and tap properties. In the image property, tap X to remove the existing logo image.
 3. Tap upload, select the logo.png, and tap to save the changes. The image was downloaded in the Before you start section.
 4. Tap header text, We.Retail, and tap edit. Change header text to we retail. Apply bold formatting only to we in we retail.
 we-retail-logo-text
 2. Remove title and add placeholder text:
 1. Tap the Customer ID field and tap properties.
 2. Copy the content of the Title field to the Placeholder Text field.
 3. Delete the content of the Title field and tap .
 4. Repeat the previous three steps for all the text boxes, numeric box, and email field in the form.
 updated-adaptive-form
Step 3: Create a custom theme for your adaptive form
You can use theme editor to create custom themes. The theme editor is an all-powerful WYSIWYG editor. It is a visual method to apply CSS to various components of an adaptive form. It provides finer controls to style components and panels of an adaptive form.
A theme is a separate entity like adaptive forms. It contains styles (CSS) for the components and panels of an adaptive form. Styles include CSS properties such as background colors, state colors, transparency, alignment, and size. When you apply a theme, the specified style is applied to the corresponding components of an adaptive form.
In this tutorial, you will style header and footer, text and numeric components, attachment component, and buttons. Let's start with creating a theme:
Create a theme
 1. Log in to the AEM author instance and navigate to Adobe Experience Manager > Forms > Themes. The default URL is http://localhost:4502/aem/forms.html/content/dam/formsanddocuments-themes.
 2. Tap Create and select Theme. The Create Theme page with the fields required to create a theme appears. The Title and Name fields are mandatory:
 - Title: Specify a title of the theme. For example, Global Theme. The title helps you identify the theme from the list of themes.
 - Name: Specify the name of the theme. For example, Global-Theme. A node with the specified name is created in the repository. As you start typing a title, value for the name field is automatically generated. You can change the suggested value. The name field can include only alphanumeric characters, hyphens, and underscores. All the invalid inputs are replaced with a hyphen.
 3. Tap Create. A theme is created and a dialog to open the form for editing appears. Tap Open to open the newly created theme in a new tab. The theme opens in theme editor. For styling, the theme editor uses an out-of-the-box adaptive form shipped with AEM Forms.
 For information about using theme editor UI, see About the theme editor.

 4. Tap Theme Options > Configure. In the Preview Form field, select the shipping-address-add-update-form adaptive form, tap , tap Save. Now, the theme editor is configured to use your own adaptive form instead of the default adaptive form. Tap Cancel to return to the theme editor.
 Adaptive form with the default form
 Adaptive form with the default form
 Theme editor with the shipping-address-add-update-form adaptive form
 Theme editor with the shipping-address-add-update-form adaptive form
Style header and footer
Header and footer provide a consistent and distinctive look to an adaptive form. Generally, the header contains logo and name of the organization, the footer contains copyright information, and these remain identical across multiple forms of an organization. To style header and footer of the shipping-address-add-update-form adaptive form:
 1. Navigate the Header > Text option in the Selectors panel. The Selectors panel is on the left of the theme editor. If the panel is not visible, tap Toggle Side Panel.
 2. Set the following properties in the Text accordion and tap .
 Property Value
 Font Family Arial
 Font Color FFFFFF
 Font Size 54px
 3. Tap the header widget and tap Header. The options to style the Header widget appear on the left. Expand the Dimensions & Position accordion, set the Height to 120px, and tap .
 4. Expand the Background accordion of the header widget, set the Background Color to F6921E.
 Hover over Image & Gradient > + Add, tap Image. Set the following properties and tap .
 Property Value
 image Upload the header-style.png. The image was downloaded in the Before you start section.
 Position Right Bottom
 Tiling No Repeat
 5. In the theme editor, tap the logo in the header and tap Header Logo. Expand the Dimensions & Position accordion, set the following properties and tap .
 Margin Value
 Margin
 - Top: 1.5rem
 - Bottom: -35px
 - Left: 1rem
 Tip: Tap the link icon to provide different value to each field.
 Height 4.75rem
 6. Tap the footer widget and tap Footer. Expand the Background accordion, set the Background Color to F6921E, and tap .
Style the data capture component and apply a background to the adaptive form
You can use multiple components in an adaptive form to capture data. For example, text box and numeric box. You can provide identical style to all the data capture components or separate style for each component. In this tutorial, an identical style is applied to numeric boxes (Customer ID, ZIP Code) and text boxes (Customer ID, Name, Shipping Address, State, Email). To style the data capture components:
 1. Tap the Customer ID field and tap the Field Widget option. Set the following properties and tap .
 Accordion Property Value
 Border Border Color A7A9AC
 Border Border Radius
 - Top: 7px
 - Right: 7px
 - Bottom: 7px
 - Left: 7px
 Text Font Family Arial
 Text Font Color 939598
 Text Font Size 18px
 Dimensions and Position Width 60%
 Dimensions and Position Margin
 - Left: 10rem
 2. Tap on the empty area above the Customer ID field and tap Responsive Panel Container. Set the Background > Background Color to F1F2F2. Tap .
 Responsive-panel-container
Style the buttons
You can use a custom theme to apply an identical style to all the buttons of the adaptive form and inline styling to apply a style to a specific button. To style the buttons:
 1. Tap the Submit button and tap the Button option. Set the following properties and tap .
 Accordion Property Value
 Background Background Color F6921E
 Border
 Border Color F6921E
 Border Border Radius
 - Top: 7px
 -


text:
A new study published in PlosOne provides evidence of a relationship between dietary patterns, fish intake or n-3 PUFA intake from seafood and symptoms of anxiety in pregnancy, and suggests that dietary interventions could be used to reduce high anxiety symptoms during pregnancy.
According to researchers who questioned 9,500 women about their diet, women who eat fish regularly are 50% less likely to have high anxiety levels at 32 weeks' gestation (than women who never eat fish).
Little is known about relationships between dietary patterns, n-3 polyunsaturated fatty acids (PUFA) intake and excessive anxiety during pregnancy.
To examine whether dietary patterns and n-3 PUFA intake from seafood are associated with high levels of anxiety during pregnancy.
Pregnant women enrolled from 1991–1992 in ALSPAC (n 9,530). Dietary patterns were established from a food frequency questionnaire using principal component analysis. Total intake of n-3 PUFA (grams/week) from seafood was also examined. Symptoms of anxiety were measured at 32 weeks of gestation with the Crown-Crisp Experiential Index; scores ≥9 corresponding to the 85th percentile was defined as high anxiety symptoms. Multivariate logistic regression models were used to estimate the OR and 95% CI, adjusted by socioeconomic and lifestyle variables.
Multivariate results showed that women in the highest tertile of the health-conscious (OR 0.77; 0.65–0.93) and the traditional (OR 0.84; 0.73–0.97) pattern scores were less likely to report high levels of anxiety symptoms. Women in the highest tertile of the vegetarian pattern score (OR 1.25; 1.08–1.44) were more likely to have high levels of anxiety, as well as those with no n-3 PUFA intake from seafood (OR 1.53; 1.25–1.87) when compared with those with intake of >1.5 grams/week.
The present study provides evidence of a relationship between dietary patterns, fish intake or n-3 PUFA intake from seafood and symptoms of anxiety in pregnancy, and suggests that dietary interventions could be used to reduce high anxiety symptoms during pregnancy.
- Read Eating fish 'could lower anxiety during pregnancy'
by Nick Collins, Science Correspondent, The Telegraph, 13 Jul 2013.
- Sources: Dietary Patterns, n-3 Fatty Acids Intake from Seafood and High Levels of Anxiety Symptoms during Pregnancy: Findings from the Avon Longitudinal Study of Parents and Children, PlosOne, 12 Jul 2013.
- Find out more about DES pregnancy risks.
- DES studies on fertility and pregnancy.


text:
Border rows are used in yield trials to negate the effect of neighboring plots. Border rows are often not thinned to a final stand as are the harvest rows and it is assumed differential density in the border rows has a trivial effect on harvest row yield. In this study, 10 corn (Zea mays L.) hybrids were planted in 1994, 1995, and 1996 at Urbana, IL, in a randomized complete block design with 10 replications. Experimental units were four row plots with the middle two harvest rows thinned to a final stand of 68 000 plants/ha while the outer two border rows were either thinned as the harvest rows or not thinned. Seed weight (g/100 seed) was significantly and negatively correlated with plants per row (R = -0.57, P > |R| = 0.0001) and significantly and positively correlated with grain yield (R = 0.16, P > |R| = 0.0062). Thinning border rows increased mean grain yield 0.2 Mg/ha and a significant hybrid x treatment interaction was detected. Thinning of border rows decreased the mean square error as much as 26%. Thinning of border rows affected the membership of the highest yielding (elite) group. This is particularly important because it is among this elite group that new hybrids are chosen. We conclude that both border rows and harvest rows should be thinned to a uniform final stand in corn yield trials and failure to do so may result in erroneous conclusions and wrong decisions.
ASJC Scopus subject areas
- Agronomy and Crop Science


text:
Remove All Display Ads
Definition of analcimesplural of analcime 1
The word "analcimes" uses 9 letters: A A C E I L M N S.
Direct anagrams of analcimes: calamines
Words formed by adding one letter before or after analcimes (in bold), or to aaceilmns in any order:b - imbalances misbalance p - campaniles t - semantical
List all words starting with analcimes, words containing analcimes or words ending with analcimes
All words formed from analcimes by changing one letter
Other words with the same letter pairs: an na al lc ci im me es
Browse words starting with analcimes by next letter
Previous word in list: analcime
Next word in list: analcite
Some random words: plea
This is not a dictionary, it's a word game wordfinder.
- Help and FAQ - Examples - Home
MoreWords.com - Z - words - 8.360mS


Google Cloud Bigtable C++ Client 1.15.0
A C++ Client Library for Google Cloud Bigtable
Google Cloud Platform Bigtable C++ Client Library
Overview
Cloud Bigtable is Google's NoSQL Big Data database service. It's the same database that powers many core Google services, including Search, Analytics, Maps, and Gmail.
The Cloud Bigtable C++ Client library offers types and functions to access Cloud Bigtable from C++11 applications (Read more about Cloud Bigtable). It offers access to the Cloud Bigtable API, including operations to list, read, write, and delete Instances and Clusters, Tables and Application Profiles.
Quickstart
The following instructions show you how to perform basic tasks in Cloud Bigtable using the C++ client library.
Before you begin
 1. Select or create a Google Cloud Platform (GCP) project using the manage resource page. Make a note of the project id, you will need to use it later.
 2. Make sure that billing is enabled for your project.
 3. Learn about key terms and concepts for Cloud Spanner.
 4. Setup the authentication for the examples:
Setting up your repo
In order to use the Cloud Bigtable C++ client library from your own code, you'll need to configure your build system how to fetch and compile the Cloud C++ client library. The Cloud C++ client library natively supports the Bazel and CMake build systems. We've created a minimal, "Hello world", [quickstart repo][quickstart-link] that includes detailed instructions on how to compile the library for use in your application. You can fetch the source from GitHub as normal:
git clone _URL_
cd google-cloud-cpp/google/cloud/bigtable/quickstart
Example: Quickstart
The following shows the code that you'll run in the google/cloud/bigtable/quickstart/ directory, which should give you a taste of the Cloud Bigtable C++ client library API.
// Copyright 2018 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// _URL_
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
int main(int argc, char* argv[]) try {
if (argc != 4) {
std::string const cmd = argv[0];
auto last_slash = std::string(cmd).find_last_of('/');
std::cerr << "Usage: " << cmd.substr(last_slash + 1)
<< " <project_id> <instance_id> <table_id>\n";
return 1;
}
std::string const project_id = argv[1];
std::string const instance_id = argv[2];
std::string const table_id = argv[3];
// Create a namespace alias to make the code easier to read.
cbt::Table table(cbt::CreateDefaultDataClient(project_id, instance_id,
cbt::ClientOptions()),
table_id);
std::string row_key = "r1";
std::string column_family = "cf1";
std::cout << "Getting a single row by row key:" << std::flush;
google::cloud::StatusOr<std::pair<bool, cbt::Row>> result =
table.ReadRow(row_key, cbt::Filter::FamilyRegex(column_family));
if (!result) throw std::runtime_error(result.status().message());
if (!result->first) {
std::cout << "Cannot find row " << row_key << " in the table: " << table_id
<< "\n";
return 0;
}
cbt::Cell const& cell = result->second.cells().front();
std::cout << cell.family_name() << ":" << cell.column_qualifier() << " @ "
<< cell.timestamp().count() << "us\n"
<< '"' << cell.value() << '"' << "\n";
return 0;
} catch (std::exception const& ex) {
std::cerr << "Standard C++ exception raised: " << ex.what() << "\n";
return 1;
}
API Notes
 - GOOGLE_CLOUD_CPP_ENABLE_CLOG=yes turns on logging in the library, basically the library always "logs" but the logging infrastructure has no backend to actually print anything until the application sets a backend or they set this environment variable.
 - GOOGLE_CLOUD_PROJECT=... is used in examples and integration tests to configure the GCP project.
 - BIGTABLE_EMULATOR_HOST=host:port tells the library to connect to the specified emulator rather than the default endpoint.
Next Steps


text:
sync command. This would be faster than performing a cdr repair
because the cdr repair must scan the data pages in primary key order while the sync does not. The cdr sync/repair features were introduced in 10.x which basically provided the ability to recognize the differences between tables, between multiple nodes within the replication domain, while ER running and take necessary action as instructed.Vijay Lolabattu
In IDS Cheetah release, you can encrypt communication between an HDR pair, to secure the transmission of data over unsecured networks, including the internet. After you enable encryption, the HDR primary encrypts the data before sending it to the HDR Secondary server. The HDR secondary server decrypts the data. Use new ONCONFIG parameter ENCRYPT_HDR to enable encryption between the HDR pair. You can also customized encryption using following parameters.
|Configuration Parameter ||Default value ||Comments/Description |
|ENCRYPT_HDR ||0 ||0 - disable, 1 - enable HDR encryption |
|ENCRYPT_CIPHERS ||allbut: || Defines ciphers and modes that can be used by the current database session. |
The following ciphers are currently supported:
- des (64-bit key), des3 (Triple DES), desx (Extended DES, 128-bit key)
- aes/aes128 (128-bit key), aes192 (192-bit key), aes256 (256-bit key)
- bf-1 Blowfish (64-bit key), bf-2 (128-bit key), bf-3 (192-bit key)
|ENCRYPT_MAC ||medium ||Controls the level of message authentication code (MAC) generation. |
- off - does not use MAC generation.
- low - uses XOR folding on all messages.
- medium - uses SHA1 MAC generation for all messages greater than 20 bytes long
and XOR folding on smaller messages.
- high - uses SHA1 MAC generation on all messages.
|ENCRYPT_MACFILE ||builtin ||A list of the full path names of MAC key files. |
|ENCRYPT_SWITCH ||60,60 ||Defines the frequency (in minutes) at which ciphers, secret keys are renegotiated. |
- To use your own MAC key file
- Execute the following command to generate MAC Key file.
$INFORMIXDIR/bin/GenMacKey -o /usr/informix/etc/MacKey1.dat
- Copy MacKey1.dat over to the paired server
- Update ENCRYPT_MACFILE configuration parameter on both the servers as shown below
- NOTE - HDR and Enterprise Replication (ER) share the same encryption configuration parameters: ENCRYPT_CIPHERS, ENCRYPT_MAC, ENCRYPT_MACFILE and ENCRYPT_SWITCH.
The latest Beta drop of IDS Cheetah
is now available, with some important new features integrated into the code line..
New features available in Beta drop 5 include:
- AIX 64-bit platform build available for download
- Web Feature Service for Spatial Data - Delivers spatial information as a web service for your Service Oriented Architecture
- Label Based Access Control (LBAC) - Control data access at a row and column level using security labels
- Continuous Availability with multiple HDR remote secondary servers
The following Infocenter page has a complete list of new features for each Beta drop: _URL_
From IDS 10.0x onwards, Enterprise Replication
(ER) supports alteroperations on a replicated table while replication is active however, RENAME
support was not one of them but that changes in Cheetah. IDS 11.x willstart supporting RENAME on ER columns, tables and databases. This featuresimplifies DBA tasks and increases data availability. Without this feature, theDBA would have to plan on a time in which ER could be removed from the objectso that the rename could be performed. This would require advanceplanning and scheduling during non-peek hoursfor performing the rename.
When a RENAME operation is performedaffected replicate definitions will be updated to reflect the impact of theRENAME and a control message will be sent to the other servers informing themof the rename. RENAME operation is allowed onlyon a mastered replicate
. It does not propagate the RENAME command itself, there are plans to implement that too inthe future. The user simply will issue a rename DDL statement on each of theservers that are affected by RENAME. If therename is a column or a table, then the replicate will be cycled (cdr stop/start replicate) in much thesame way that occurs with a table ALTER
. If a database rename occurs,however, ER will be cycled (cdr stop/start). This cycling will only occur if the renameaffects something on the local node. In all cases, the rename will causea control message to be sent to the other servers within the replication domainso that the syscdr database
is correctlyupdated.Vijay Lolabattu
Welcome to the IDS Experts Blog, an international team blog authored by IBM software engineers. These experts from the Informix Technical Support and R&D labs will be posting about a variety of topics related to Informix and IDS. A popular topic over the next few months is likely to be the 11.10 release of Informix Dynamic Server currently in Open Beta
If you have suggestions on articles you'd like to see from support or development engineers please add a comment to the blog. Your feedback to this blog goes directly to engineers working on Informix products.[Read More