text:
Potato starch is a valuable and affordable technical raw material for a number of industries. For selection of plants producing starch with optimal processing properties effective methods for physicochemical parameters evaluation of a large number of starch samples are needed. Thus, variability of phenotypic traits data are important both for fundamental works on identification of genomic loci responsible for a wide range of potato starch characteristics as well as for applied accelerated selection of new varieties for technical use. Estimating the morphology of starch granules by microscopy is one of the most accessible and therefore widespread methods of phenotyping. We developed a four-step approach to the estimation of the geometric parameters of starch granules. It includes an isolation of starch from the tuber (stage1), the preparation of micrographs of starch samples (stage 2), processing and analysis of the images obtained in the freely distributed ImageJ program (stage 3), and the construction of distribution curve for starch granules by geometric parameters (stage 4). It was shown that the starch granules of different varieties and hybrids of potato differ in morphology and can be differentiated by microscopy with obtaining data on the Feret's diameter and the circularity of the particles. Thus, typical values of the Feret's diameter of starch granules of "Alena" and "Nevsky" varieties and 785/8-5 hybrid are 5, 22 and 67 microns, respectively. The distributions on circularity of starch granules of these varieties and the hybrid have only minor differences. Light optical microscopy of starch granules followed by digital image analysis is an affordable, economical, simple and effective approach to phenotyping the varieties and hybrids of potato Solanum tuberosum L. on the physicochemical parameters of starch. The approach may be applied for accelerated analysis of a large number of samples on a limited amount of natural material in the field and countryside economic laboratories.
Предметные области OECD FOS+WOS
- 4 СЕЛЬСКОХОЗЯЙСТВЕННЫЕ НАУКИ
- 3 МЕДИЦИНСКИЕ НАУКИ И ЗДРАВООХРАНЕНИЕ
- 1.06 БИОЛОГИЧЕСКИЕ НАУКИ


text:
How Long Is One Crop Cycle Osrs
How long do allotments take Osrs?
API quota exceeded. You can make 500 requests per day.
How do you make plants grow faster Osrs?
A good way to jumpstart your farming is to do the quest Fairy Tale I – Growing Pains. The experience reward will raise level 1 Farming to level 17. By completing this quest, players will also receive a pair of magic secateurs which, when worn, will increase the yield of crops by 10% while harvesting.
Can farming be boosted Osrs?
Items that give temporary boosts Potions, such as the hunter potion which boosts a player's Hunter level by three. Food, such as the garden pie which boosts a player's Farming level by three.
Does Ultracompost increase yield Osrs?
Ultracompost does not increase the yield of trees, fruit trees, or bush patches; therefore, it is not recommended to treat those patches with ultracompost if you plan to pay a gardener to watch over them, since there is no benefit other than the extra 36 experience granted.
How fast can you get 99 farming Osrs?
It would take you roughly ~7 hours of farming to get 99.
Are maple trees worth it Osrs?
A maple tree is an amber-coloured tree that require level 45 Woodcutting to cut, granting 100 Woodcutting experience for each set of maple logs received. Maple trees have moderately high cut difficulty and maple logs only have moderate value, making cutting maple trees unfavourable for money making.
Do you need compost if you pay Osrs?
No. Do not use supercompost when paying for protection on trees. Protection only does not prevent disease. It only ensures that the farmer will cure it at the start of the next farming tick.
How long do potatoes take to grow Osrs?
Three potato seeds are needed per allotment. They take 40 minutes to grow, grant 8 Farming experience for planting and 9 Farming experience for harvesting. Up to 10 raw potatoes can be stored in a sack making a sack of potatoes, which can be used to pay a gardener to look after an onion patch.
Does compost affect Snape grass?
When placed in a compost bin, snape grass will create supercompost.
How do you get toadflax Ironman?
It can be acquired from Random events or grown with a Farming level of 38, by planting toadflax seeds in herb patches. It can also be acquired by trading in 3 tickets from the Brimhaven Agility Arena or as a reward from Temple Trekking.

source: m-a-p/FineFineWeb


Tag Archives: Kompromat meaning
Kompromat, and polezni durak
The Kremlin / Wikimedia Commons
The Kremlin / Wikimedia Commons
Kompromat (Russian: компромат; short for компрометирующий материал, literally "compromising material") is the Russian term for compromising materials about a politician or other public figure. Such materials can be used to create negative publicity, for blackmail, or for ensuring loyalty.
Will kompromat be 2017's word of the year?
And while we're on the subject of Russian turns-of-phrase: a "polezni durak" is how Michael Hayden, a former head of both the CIA and NSA, has described President-elect Donald Trump. Translation: a "useful fool." This term (полезный дурак, tr. polezni durak) has been attributed to Lenin by some Russian writers (e.g. Vladimir Bukovsky in 1984) and Western commentators. However, in 1987 American journalist William Safire noted that a Library of Congress librarian hadn't been able to find the phrase in Lenin's works. The book They Never Said It also suggests the attribution is false.


Export (0) Print
Expand All
Adding a Matrix (Reporting Services)
Use a matrix to display grouped data and summary information. You can group data by multiple fields or expressions in row and column groups. Matrices provide functionality similar to crosstabs and pivot tables. At run time, as the report data and data regions are combined, a matrix grows horizontally and vertically on the page. Values in matrix cells display aggregate values scoped to the intersection of the row and column groups to which the cell belongs. You can format the rows and columns to highlight the data you want to emphasize. You can also include drilldown toggles that initially hide detail data; the user can then click the toggles to display more or less detail as needed.
After your initial design, you can continue to develop a matrix to improve the viewing experience for the user. For more information, see Controlling the Tablix Data Region Display on a Report Page (Reporting Services).
To start working with a table data region right away, see Tutorial: Creating a Basic Matrix Report.
Add a matrix to the design surface from the Toolbox. The matrix initially has a row group, a column group, a corner cell, and a data cell, as shown in the following figure.
Blank Matrix with 1 row and 1 column group
When you select a matrix on the design surface, row and column handles appear, as shown in the following figure.
New Matrix added from Toolbox, selected
Add groups by dragging dataset fields to the Row Groups and Column Groups areas of the Grouping pane. The first field that you drag to the row groups or column groups pane replaces the initial empty default group. You can then apply formatting for each cell, depending on the data.
Matrix, Category row and Geography column group
In Preview, the matrix expands to show the row group and column group values. The cells display summary values, as shown in the following figure.
Preview for rendered matrix with expanded groups
The matrix you start with is a template based on the Tablix data region. You can continue to develop your matrix design by adding nested or adjacent row groups or column groups, or even adding detail rows. For more information, see Exploring the Flexibility of a Tablix Data Region.
To add a group based on a single dataset field, drag the field from the Report Data pane to the appropriate Row Groups or Column Groups area of the Grouping pane. Drop the field in the group hierarchy to set its relationship to existing groups. Drop it above an existing group to create a parent group, or drop it below an existing group to create a child group.
Several things happen when you drop a field in the Grouping pane:
 - A new group with a unique name based on the field name is automatically created. The group expression is set to the simple field name reference, for example [Category].
 - A new row or column appears in the corresponding row group or column group area.
 - In the new column, a row group cell appears for the default data rows from the report dataset. Cells in the Tablix body for this row are now members of the row group. If there are any column groups defined, cells that are in the columns are members of those column groups. Group indicators provide visual cues for the group membership of each cell.
To customize the group after it is created, use the Tablix Group dialog box. You can change the group name, and edit or add additional expressions to the group definition. To add or remove rows from the table, see How to: Insert or Delete a Row (Reporting Services).
When the report runs, dynamic column headers expand right (or left, if the Direction property of the matrix is set to RTL) for as many columns as there are unique group values. Dynamic rows expand down the page. The data that appears in the Tablix body cells are aggregates based on the intersections of row and column groups, as shown in the following figure.
Matrix, nested row and column groups with totals
In preview, the report displays as in the following figure.
Nested Groups in Preview
To write expressions that specify a scope other than the default scope, you must specify the name of a dataset, data region, or group in the aggregate function all. To calculate the percentage each subcategory contributes to the Clothing category group values, add a column inside the Category group next to the Total column, format the text box to show percentage, and add an expression that uses the default scope in the numerator, and the Category group scope in the denominator, as shown in the following example.
=SUM(Fields!Linetotal.Value)/SUM(Fields! Linetotal.Value,"Category")
For more information, see Calculating Totals and Other Aggregates (Reporting Services).
To add an adjacent group based on a single dataset field, use the shortcut menu in the Grouping pane. For more information, see How to: Add or Delete a Group in a Data Region (Reporting Services). The following figure shows a group based on geography and an adjacent group based on year.
Adjacent Column Groups for Geography and Year
In this example, the query has filtered data values to only include those values for Europe and for the years 2003 and 2004. However, you can set filters on each group independently. In preview, the report displays as in the following figure.
Preview of adjacent column groups
To add a total column for an adjacent column group, click in the column group definition cell and use the Add Total command. A new static column is added next to the column group, with a default aggregate sum for every numeric field in the existing rows. To change the expression, manually edit the default aggregate, for example, Avg([Sales]). For more information, see How to: Add a Total to a Group or Tablix Data Region (Reporting Services).
Community Additions
ADD
Show:
© 2014 Microsoft


09 Mar 2021
ESG seals of approval: navigating financial
sustainability labels
Not unlike the labelling of food products with 'organic' labels, financial investment products with sustainability objectives are now increasingly coming with ESG labels.
Lyxor ETF's Antonio Celeste, ESG Product Specialist, explains how these 'green' and 'ESG' labels can help investors navigate the crowded sustainable investments market with confidence.
How can investors navigate the crowded space of European SRI labels?
In recent years, there has been a strong proliferation of assets in the ESG market, which reflects growing investor sensitivity to ESG (Environment, Social and Governance).
Some European countries have created labels that provide clearer sustainability information for the benefit of investors who are keen to include sustainability factors in their portfolios.
These labels are a powerful tool for both asset managers and investors. Asset managers use them to reinforce their ESG credentials, while investors, who are often overwhelmed by the number of offers they have to screen, have more straightforward options.
Across France, Luxembourg, Belgium, Germany, Austria and Scandinavia, there are two main types of labels: "ESG" and "Green" labels, which focus on climate-related criteria.
The biggest European ESG label in terms of assets under management (at EUR 349 billion) is France's "Label ISR", which was created by the French Ministry for the Economy and Finance in 2016.
France also has the "Green" label – Greenfin (with EUR 14 billion AUM) – which requires funds to have a given percentage of assets directly linked to a set taxonomy of sustainable
activities, while specifically excluding fossil fuels and nuclear power. Greenfin-labelled funds must also have an inbuilt mechanism for avoiding ESG controversies, and must publish reporting and indicators to measure the environmental benefits of the invested assets.
What is the difference between the various European labels?
The French "Label ISR" is different from other European ESG labels. It is based on the ESG score improvement or the exclusion of ESG laggards, and requires that a fund performs better than its reference index on two ESG indicators (i.e. gender balance, carbon emissions, board independence etc…). However, product-related or controversy-related exclusions are not mandatory.
Labels in Germany, Austria and the Nordics do apply exclusions, for example for non-conventional fossil fuels, tobacco, weapons, and other criteria. These labels have a sliding-scale scoring system, showing the degree to which funds apply ESG criteria.
How are these labels evolving to meet growing investor expectations?
Asset managers are pushing for more harmonisation of the different national labels, given that the sustainability expectations of investors tend to be universal.
For example, 10 years ago sector exclusion in ESG funds was uncommon in France, while we now see more and more French asset managers (who tend to apply stricter criteria than demanded by labels) excluding tobacco, alcohol, and controversial fossil fuel-related activities such as coal, shale gas, tar sands and arctic drilling.
Labelled funds have grown significantly in AUM in recent years with the launch of new ESG funds, and will continue to do so. In 2020, the AUM of the French "Label ISR" grew by 153%, and we see similar levels of growth with the Belgian "Towards Sustainability" Label (+ 104%) and the German FNG Siegel Label (+97%).
Lyxor's labelling efforts
We're happy to report that two more ETFs in our ESG range recently received the official SRI Label:
This adds to our growing list of ESG credentials, including the SRI Label for our MSCI Europe ESG Leaders (DR) UCITS ETF and our MSCI EMU ESG Trend Leaders (DR) UCITS ETF, and the Greenfin Label for our flagship Green Bond (DR) UCITS ETF.
Watch this space as we continue with our ESG fund labelling programme throughout 2021 and beyond!
Risk Warning
Research disclaimer
Conflicts of interest


LP,HP FEEDWATER HEATERS IN THERMAL POWER PLANTS
Views:

Presentation Description
feedwater heater is a power plant component used to pre-heat water delivered to a steam generating boiler In a steam power plant (usually modeled as a Rankine cycle), feedwater heaters allow the feedwater to be brought up to the saturation temperature very gradually.
Comments
Presentation Transcript
LP,HP FEEDWATER HEATERS IN THERMAL POWER PLANTS:
LP,HP FEEDWATER HEATERS IN THERMAL POWER PLANTS SHIVAJI CHOUDHURY
FEEDWATER HEATERS:
FEEDWATER HEATERS A feedwater heater is a power plant component used to pre-heat water delivered to a steam generating boiler In a steam power plant (usually modeled as a Rankine cycle), feedwater heaters allow the feedwater to be brought up to the saturation temperature very gradually.
PURPOSE OF FEEDWATER HEATERS:
PURPOSE OF FEEDWATER HEATERS Feedwater heaters serve three purposes in the power plant. They provide efficiency gains in the steam cycle by increasing the initial water temperature to the boiler, so there is less sensible heat addition which must occur in the boiler, They provide efficiency gains by reducing the heat rejected in the condenser, and they minimize thermal effects in the boiler. Steam is extracted from selected stages in the turbine to shell and tube heat exchangers or to open feed water heaters where the steam and feed water are in direct contact.
FEEDWATER HEATERS IN POWER CYCLE:
FEEDWATER HEATERS IN POWER CYCLE
FEED WATER HEATERS:
FEED WATER HEATERS In shell and tube or closed type feedwater heaters the feedwater flows through the tubes and the extracted steam condenses on the shell side. The condensed steam from each feedwater heater drains successively to the next lower pressure heater and is returned to the feedwater through a heater drain pump or through the condenser.
FEEDWATER HEATER DESIGN:
FEEDWATER HEATER DESIGN
FEEDWATER HEATER:
FEEDWATER HEATER
PRESSURE CLASSIFICATION:
PRESSURE CLASSIFICATION Low Pressure Heater : A heater located (with regard to feedwater flow) between the condensate pump and either the boiler feed pump . It normally extracts steam from the low pressure turbine. High Pressure Heater : A heater located downstream of the boiler feed pump. Typically, the tube side design pressure is at least 100 KG/CM2, and the steam source is the high pressure turbine.
HEATERS TO POWER PLANT CYCLE:
HEATERS TO POWER PLANT CYCLE The heating process by means of extraction steam is referred to as being regenerative. The feedwater heaters are an integral portion of the power plant thermodynamic cycle. Normally, there are multiple stages of feedwater heating. Each stage corresponds to a turbine extraction point. These extraction points occur at various stages of the expansion of steam through the turbines. The presence of the heaters in the cycle enhances the thermal efficiency of the power plant; the greater the number of extraction stages, the lower the amount of thermal energy required to generate a given amount of electrical energy.
ORIENTATION:
ORIENTATION Horizontal: Most heaters are of this configuration. These are the most stable in regard to level control ,although they occupy more floor space. Disassembly is by means of either shell or bundle removal. Most are floor mounted, although some are mounted in the condenser exhaust neck. Vertical , Channel Down: Although these conserve floor space, the amount of control area available for liquid level fluctuation is less. Disassembly is by shell removal. Installation and removal may be more difficult than for horizontal heaters. Vertical , Channel Up. These are the least frequently used. Disassembly is by means of bundle removal. If a subcooling zone is present, it must extend the full length of the bundle, since the water must enter the bottom and exit at the top end of the heater.
ZONES:
ZONES Condensing Zone: All feedwaters have this zone. All of the steam is condensed in this area, and any remaining non condensable gases must be removed. A large percentage of the energy added by the heater occurs here. Subcooling Zone: The condensed steam enters this zone at the saturation temperature and is cooled by convective heat transfer from the incoming feedwater. Desuperheating Zone: The incoming steam enters this zone, giving up most of its superheat to the feedwater exiting from the heater.
TUBE MATERIAL:
TUBE MATERIAL Both copper alloys & non-ferrous alloys are used for the LP Heaters & HP Heaters tubes. Copper alloys are used extensively in the LP Heaters tubes. These alloys have got excellent thermal conductivity but on the other hand these alloys have problems of copper carry over & ammonia attack, which may require a complex boiler cleaning after short intervals. To avoid all the above problems, the stainless steel tubes are invariably used for LP Heaters. Stainless steel is unaffected at all operating conditions, except that, it is susceptible to chloride induced stress corrosion. Most common materials used for HP Heaters are carbon steel, stainless steel & monel metal.
TUBE MATERIAL- 500 MW:
TUBE MATERIAL- 500 MW TUBE :Stainless steel as per ASTM A 213 Gr. TP 304 for seamless tubes without circumferential joints and ASTM A 688 Gr. TP 304 for welded tubes. Tube sheet :carbon steel as per ASTM A 266 Class II or SA 350-LF-2 or SA 516 Gr- 70 welded to shell and water box.
HP HEATERS ( 500 MW) :
HP HEATERS ( 500 MW)
LP HEATERS -500 MW :
LP HEATERS -500 MW
LP HP FEEDWATER HEATERS:
LP HP FEEDWATER HEATERS
HEATERS IN CONDENSATE SYSTEM IN 210 MW :
HEATERS IN CONDENSATE SYSTEM IN 210 MW
FEEDWATER HEATER EFFICIENCY:
FEEDWATER HEATER EFFICIENCY Two variables are used to monitor a feedwater heaters efficiency. The heater Terminal Temperature Difference or TTD is a measure of how close the outlet feedwater temperature is to the feedwater heater saturation temperature. The heater Drain Cooler Approach or DCA is a measure of how close the heater drain outlet temperature is to the feedwater inlet temperature.
IMPACT ON THERMAL PERFORMANCE:
IMPACT ON THERMAL PERFORMANCE The impact of a 1°F (0.56°C) increase in the TTD of the top heater is approximately a 0.016% increase in heat rate. For the other feed water heaters, a 1°F (0.56°C) increase in TTD increases the heat rate by approximately 0.013. If there is a 1°F (0.56°C) Increase in DCA, the corresponding increase in heat rate is 0.005%. The impact can be less at part load.
ITEMS AFFECT PERFORMANCE OF FEEDWATER HEATERS:
ITEMS AFFECT PERFORMANCE OF FEEDWATER HEATERS x Improper heater level can cause flashing in the drain cooler section and tube damage. — Check operation of automatic controls and level instrumentation. — Check for possible tube leaks in feedwater heater. If a number of tube leaks have occurred in a feedwater heater tests should be run to verify proper level setpoint for optimum performance. — Vent valves may not be set up properly. x Improper extraction line pressure drops. — Possible problem with extraction line check valve. x Tube fouling due to corrosion affects the heat transfer in the heater and also increases the problem of deposition of oxides on heat transfer surfaces of boilers. This can lead to boiler leaks and turbine damage — Reduce the level of dissolved gases such as oxygen and carbon dioxide in feedwater and adjust pH of the feedwater. — Clean tube bundles x Continuous vent orifice plugging. x Channel pass partition/gasket leak.
Efficiency Improvement as an Emissions Control Strategy:
Efficiency Improvement as an Emissions Control Strategy Feedwater heaters are designed into the turbine cycle to improve efficiency (lower heat rate). As the heat rate decreases (heat rate improves), the amount of fuel for the same generation also goes down. Of course with less fuel burned, emissions are lowered.
BOILER OPERATION WITHOUT HP HEATERS:
BOILER OPERATION WITHOUT HP HEATERS Some plants have been designed for peaking by allowing the removal of HP heaters out of service but there is a significant heat rate penalty for this. Even if the boiler was designed for a low feedwater temperature condition,the increased gas temperature and weight through the superheater from higher firing to compensate for the lower feedwater heat input increases tube and support temperatures. The high temperature ferritic tubes are life limited by creep, as are ferritic to austenitic dissimilar welds and support or alignment casting attachment welds. Low feedwater temperature operation results in closer approach to tube "alarm" temperatures, and may require load reduction to stay within temperature limits.
Safety Issue during Tube Leaks:
Safety Issue during Tube Leaks As per HEI (14), section 6.1.2 (b), a feedwater heater shell-side safety valve shall be sized to pass the flow from a clean break in one tube resulting in the flow from two tubes. If a heater is not isolated promptly when a tube leak occurs, more tubes may be damaged resulting in a higher flow into the shell than the safety can relieve. Obviously as the heater becomes more susceptible to tube leaks, the risk of this scenario increases.
TUBE PLUGGING:
TUBE PLUGGING The majority of feedwater heaters are U-tube type. Consequently, it is very difficult to replace damaged tubes unless they are located on the periphery of the tube bundle. The most common practice is to plug both the inlets and outlets of damaged tubes. Once tube plugging begins, a feedwater heater's performance starts to decline.
AFFECTS OF TUBES


class for storing the images. This DeepZoomGenerator class is based on the work by Berend Engelbrecht, and is a stripped down version, as my goal was to create tiles for single images only. This class takes a large image, and creates the tiles required for creating the Deep Zoom image. It does, however, not support the more advanced stuff like image collections that the Deep Zoom technology provides and that Berend in his original class provided.
DeepZoomSilverlight Project
This Silverlight project consists of a single page that displays the Deep Zoom image and displays the available images from the database in a listbox. The question is, of course, how does the MultiScaleImage control display the tiles that are stored in the database? Usually, one would assign the Source property of that control the URI to an XML file, e.g., something like msi.Source="../GeneratedImages/dzc_output.xml". But, this property actually is of type MultiScaleTileSource.
So, what we have to do is create a class that inherits from MultiScaleTileSource and implement its interface. The main method of that class is called GetTileLayers, and is called from the MultiScaleImage control for every tile that is needed. Inside that method, you add each tile to a list, but not in the form of a bitmap, but in the form of an URI. The URI itself must then stream back the image, and that is why we use a HttpHandler in the web project.
C#
/// <summary>
/// Gets a collection of the tiles that comprise the Deep Zoom image.
/// </summary>
/// <param name="tileLevel">Level of the tile.</param>
/// <param name="tilePositionX">X-coordinate position of the tile.</param>
/// <param name="tilePositionY">Y-coordinate position of the tile.</param>
/// <param name="tileImageLayerSources">Source of the tile image layer.</param>
protected override void GetTileLayers(int tileLevel, int tilePositionX,
 int tilePositionY,
 IList<object> tileImageLayerSources)
{
 string source =
 string.Format(
 "TileHandler.ashx?tileLevel={0}&tilePositionX={1}&" +
 "tilePositionY={2}&imageId={3}&contentType={4}",
 tileLevel, tilePositionX, tilePositionY, imageId, mimeType);
 var uri = new Uri(HtmlPage.Document.DocumentUri, source);
 tileImageLayerSources.Add(uri);
}
The HttpHandler is not part of the Silverlight project, but of the ASP.NET application that hosts the Silverlight app. This kind of architecture is required because Silverlight itself is not capable of accessing the database as it runs in a secure sandbox environment.
DeepZoomSilverlight Web Project
This is the ASP.NET application that hosts the Silverlight control. This application also provides the Silverlight control with the data. There are two HttpHandlers in this application, one that returns the bitmap tiles, and one that returns a thumbnail for a specific image. Besides that, there is a WCF service defined that the Silverlight app uses to retrieve the information about the images.
C#
public void ProcessRequest(HttpContext context)
{
 if (context.Request.QueryString.HasKeys())
 {
 // Being lazy...
 int imageId = int.Parse(context.Request.QueryString.Get("imageId"));
 int tileLevel = int.Parse(context.Request.QueryString.Get("tileLevel"));
 int tilePosX = int.Parse(context.Request.QueryString.Get("tilePositionX"));
 int tilePosY = int.Parse(context.Request.QueryString.Get("tilePositionY"));
 string contentType = context.Request.QueryString.Get("contentType");
 context.Response.ContentType = contentType;
 System.Drawing.Bitmap bitmap = GetTile(imageId, tileLevel, tilePosX,
 tilePosY);
 if (bitmap != null)
 {
 System.IO.MemoryStream ms = new System.IO.MemoryStream();
 if (contentType.Contains("png"))
 bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
 else
 bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
 ms.WriteTo(context.Response.OutputStream);
 }
 }
}
private Bitmap GetTile(int imageId, int level, int x, int y)
{
 try
 {
 DzDbAccess accessDb = DeepZoomSilverlightWeb.Helper.GetAccessDb();
 Bitmap bmp = accessDb.GetImageTile(imageId, level, x, y);
 accessDb.DbConnection.Close();
 return bmp;
 }
 catch (Exception)
 {
 return null;
 }
}
Points of Interest
After having given an overview about the different projects involved in this solution and cleared the most important points, I would like to go deeper and give you additional insight on the code.
Deep Zoom File Format
Of course, this article would not be complete without some words about the Deep Zoom file format. But, I am not going to repeat what Microsoft has described in detail in MSDN.
Database Design
One of the questions I had to answer was the database structure that is needed to store the image tiles. It turned out that this is easier than I first thought after looking at all the files the Deep Zoom Composer generates. The database design consists of two tables. One table is needed to store information about the image, most importantly about the width and height, the tile size, and the overlap, as this information is required to correctly initialize the MultiScaleTileSource. The other table stores the generated tiles, and on which level and on which coordinates they are used.
Image 2
Storing the Bitmaps in the Microsoft Access Database
Even though I do quite a lot of database programming, I'm not storing bitmaps in a BLOB field every day. To achieve the goal, you have to use a parameterized command object. The parameter for the bitmap must be of type OleDbType.LongVarBinary, and you pass this parameter a byte array. To convert the bitmap into a byte array, you will serialize the bitmap into a memory stream using the BinaryFormatter.
C#
public override void SaveImageTile(int imageId, int level,
 int x, int y, Bitmap bitmap)
{
 // Create the SQL
 string sql = "INSERT INTO DeepZoomTile(imageId, [level], x, y,
 bitmap) values (?, ?, ?, ?, ?)";
 var cmd = new OleDbCommand(sql, dbConnection);
 //serialise the image
 byte[] bytes = BitmapToByteArray(bitmap);
 // Add the parameters
 cmd.Parameters.Add("@imageid", OleDbType.Integer).Value = imageId;
 cmd.Parameters.Add("@level", OleDbType.Integer).Value = level;
 cmd.Parameters.Add("@x", OleDbType.Integer).Value = x;
 cmd.Parameters.Add("@y", OleDbType.Integer).Value = y;
 cmd.Parameters.Add("@bitmap", OleDbType.LongVarBinary,
 bytes.Length).Value = bytes;
 // Execute it
 cmd.ExecuteNonQuery();
}
/// <summary>
/// Serializes a bitmap to an byte array
/// </summary>
/// <param name="bitmap">The bitmap.</param>
/// <returns></returns>
private static byte[] BitmapToByteArray(Bitmap bitmap)
{
 var memStream = new MemoryStream();
 var formatter = new BinaryFormatter();
 formatter.Serialize(memStream, bitmap);
 byte[] bytes = memStream.GetBuffer();
 memStream.Close();
 return bytes;
}
Returning the Information About Images from the Database to the Silverlight Listbox
The web front-end shows a listbox to the right of the Deep Zoom image. This listbox displays data from the database. As Silverlight cannot deal with DataTables or DataSets, we cannot pass one of those objects as we would normally do. Therefore, the database access class returns a list of ImageInfo objects. Here, LINQ does a great job in simplify


text:
Determination of operational parameters for an Electrocoagulation/Flotation (ECF) batch reactor used in the treatment of wastewater with cadmium ions
An Electrocoagulation/Flotation (ECF) reactor was built to treat wastewater with heavy metals. Cadmium chloride was the source of metallic ions. Solutions were prepared between 10 mg/L and 30 mg/L, pH values of 8.0, 9.5 and 10.5, using lime as the coagulant. The ECF reactor was able to achieve metal removal efficiencies between 90% and 99% for all the applied current levels, after 30 min. Summarised operational parameters for reactor are: applied current of three amperes, treatment time of 30 min, at a pH of 9.5. The studies demonstrated that the technology produces a photosludge that requires proper removal and disposal.
Keywords: cadmium chloride, steady state modelling, electrocoagulation, electroflotation, heavy metals, metal removal, physicochemical processes, wastewater treatment, flotation


text:
Date of this Version
Surveys in the Elkhorn River Basin between 1972 and 1994 documented a unionid fauna of 28 taxa. Two additional taxa were documented by museum records, bringing the total to 30 confirmed for the region. In recent collections only eleven species were found as live specimens or fresh shells, suggesting the possible loss of as much as 63% of the documented fauna of the Basin. Biological diversity was once greatest in the eastern portion of the Basin, reflecting the greater variety of habitats in this region. At present, the greatest diversity appears to be found in the western portion. This reversal of biologic diversity probably reflects the extent of habitat degradation in the eastern portion. Arcidens confragosus, Lampsilis teres f. teres, and Obovaria olivaria are newly reported for Nebraska.

source: HuggingFaceFW/fineweb-edu


Burnham Overy Staithe sea defences
Burnham Overy is a civil parish on the north coast of Norfolk, England. In modern times a distinction is often made between the two settlements of Burnham Overy Town, the original village adjacent to the parish church and now reduced to a handful of houses, and Burnham Overy Staithe, a rather larger hamlet about 1 mile (2 km) away and next to the creek-side harbour.
Burnham Overy lies between the larger village of Burnham Market, less than 1 mile (2 km) to the west, and Holkham, some 3 miles (5 km) to the east. Burnham Thorpe, the birthplace of Horatio Nelson, lies 1 mile (2 km) to the south-east. According to various letters and documents, Nelson learned to row and sail a dinghy at Burnham Overy Staithe, at the age of 10, two years before joining the Navy. The larger town of King's Lynn is 20 miles (30 km) to the south-west, whilst the city of Norwich is 30 miles (50 km) to the south-east.
The civil parish has an area of 8.92 km2 and in the 2001 census had a population of 311 in 167 households. For the purposes of local government, the parish falls within the district of King's Lynn and West Norfolk.


text: Although the measured amount of roof deformation associated with a given rollover crash test is often the residual or post test deformation, rollover crash test researchers are aware that roof deformation occurs dynamically throughout the rollover event with varying magnitude. The challenge to quantifying dynamic roof deformation has been the lack of a reliable method to measure and record the dynamic roof deformation during the rollover test. Researchers have explored various methods to measure dynamic roof deformation including the use of film analysis of external targets, accelerometers, string potentiometers, and 3D photogrammetry.This paper discusses a series of simulated curb trip rollover tests conducted to study and compare different methodologies to measure and record dynamic roof deformation. The tests involved midsize crossover utility vehicles instrumented with accelerometers on the roof rails at the A and B pillars and string potentiometer arrays at roof locations above the front driver and passenger seating locations. High speed digital motion cameras were rigidly mounted inside the vehicles to monitor the movement of the interior roof targets as the roof deformed during the rollover event. This paper discusses and compares the dynamic roof deformation data as measured by the roof string potentiometers and 3D photogrammetry as compared to post-test residual deformation measurements.


Möbius plane
From Encyclopedia of Mathematics
Jump to: navigation, search
circular plane, inversive plane
A plane whose elements form two disjoint sets: the set of points and the set of circles, and which is endowed with a symmetric incidence relation (relating points and circles). The incidence relation satisfies the following axioms:
1) any three distinct points are incident to one and only one circle;
2) given a point on a circle and a point not on, there is a unique circle through whose common point with is ;
3) there exist at least four distinct points not incident to a circle. Every circle is incident to at least three distinct points.
From a Möbius plane one can obtain an affine plane if one calls one of its points the ideal point, and calls the circles incident to this point straight lines.
In three-dimensional projective space the points of an ovoid and the planes that intersect the ovoid at more than one point form, with the incidence relation inherited from, a Möbius plane (see [1]). A Möbius plane is called egg-like if it is isomorphic to for some ovoid. Among the egg-like Möbius planes the best known is the model, where is the sphere in three-dimensional Euclidean space, i.e. the plane isomorphic to, where is a non-ruled quadric in three-dimensional projective space over the field of real numbers.
A Möbius plane is said to be finite if it has a finite number of points and circles. Each circle in a Möbius plane has the same number of points, and through each point of the plane pass the same number of circles. By definition, the order of the plane is the number of points on a circle minus one. A Möbius plane of order contains points and circles; through each point of the plane circles pass. The following model of the Möbius plane of order is the best known. The points of the plane are the elements of the Galois field and the ideal point ; the circles of the plane are the images of the set under the group of permutations of the form
A necessary condition for the existence of a Möbius plane of order is the existence of a finite affine plane of the same order. The uniqueness of the Möbius plane of order has been proven [5]. If a Möbius plane of order contains a proper subplane of order, then and (see [2]).
The classification of Möbius planes has been carried out (see [3], [4]). The planes are named after A. Möbius (1855), who laid the foundations of the theory of circles.
[1] R. Dembowski, "Finite geometries", Springer (1968) pp. 254
[2] P. Dembowski, D.R. Hughes, "On finite inversive planes" J. London Math. Soc., 40 (1965) pp. 171–182
[3] C.H. Hering, "Eine Klassifikation der Möbius-Ebenen" Math. Z., 87 (1965) pp. 252–262
[4] N. Krier, "The Hering classification of Möbius planes", Proc. Internat. Conf. Projective Planes, Washington State Univ. Press (1973) pp. 157–163
[5] L.I. Istomina, "Uniqueness of the circle plane of order 11" Perm Univ. Uchen. Zap., 156 (1976) pp. 81–83 (In Russian)
For more recent developments, see the chapters by I.M. Yaglom, J.F. Rigby, J.B. Wilker, and N.W. Johnson in [a1].
[a1] C. Davis (ed.) B. Grünbaum (ed.) F.A. Sherk (ed.), The geometric vein (Coxeter-Festschrift), Springer (1980)
How to Cite This Entry:
Möbius plane. Encyclopedia of Mathematics. URL:


text:
Kentucky Countryside in Transition
A Streetcar Suburb and the Origins of Middle-Class Louisville, 1850–1910
Kentucky Countryside in Transition charts the rise of the American middle class at the turn of the twentieth century by examining the migration from the Kentucky countryside to the city and subsequently the suburbs of Louisville. The formation of the middle class in Louisville was fostered by two factors: a boom in white collar employment and the electric streetcar, an innovation that fundamentally changed the urban landscape. Ultimately a narrative of industrialization and modernity, this study focuses on a group of forty-two families who lived at the end of the Broadway Trolley line in an area that came to be known as the Cherokee Triangle. This suburban neighborhood was dominated by white collar commuters who were driven to Louisville by a desire to get ahead but continued to embrace a nostalgia for country life. In this meticulous three generation study, Stephanie Bower follows this group of families as they make the transition from rural farmers and cultivators to city laborers and white collar workers. By mining census records, city directories, and county records, Bower carefully reconstructs the biographical details of residents in an effort to paint a picture of life in this streetcar suburb during this important period of transformation. Regional studies of the middle class during this pivotal era are often overlooked in contemporary scholarship. Consequently, this analysis will be of interest to those researching Louisville, middle class formation, and suburbanization, as well as to local genealogists tracing their family histories.

source: openbmb/Ultra-FineWeb


text:
Algorithm for Reconstruction of Neurite Outgrowth Images
central nervous system has long been suggested as a system of the body
that might be particularly sensitive to the passage of highly ionizing
particles found in the galactic cosmic rays. To assess the neurotoxicity
of high-energy iron particles, we used an in vitro model in which neuronal
differentiation and neurite extension occur under controlled conditions.
The model uses chick embryo explants to study the effects of iron ions
The imaging problem is to observe the neurite outgrowth regenerated
from an explant, and to quantify the extent of growth. We have developed
an algorithm to reconstruct the neurite outgrowth which has automated
the quantification process.
In this talk we describe our algorithm, discuss the quantification measures
we obtain, and present preliminary results from our image analysis.


text:
Painting Lines for Football
Date: 6/3/96 at 18:16:4 From: George Dickenson Subject: Painting a field A football field is 120 yards long with 10 yards at each end zone, and 60 yards wide with lines marked 5 yards apart except for the end zones. One can of paint will stripe 300 linear feet. How many cans would it take to stripe a football field?
Date: 6/14/96 at 0:56:23 From: Doctor Brian Subject: Re: math problems There are two sidelines 120 yards long. Or is it 140 - that is, does the 120 include the end zones or not? There are then either 23 or 27 stripes for yard lines, depending on whether the field is 120 or 140 yards long. To determine the total length of the lines we either have: (2*140) + (27*60) = 280 + 1620 = 1900 yards or (2*120) + (23*60) = 240 + 1380 = 1620 yards. Since each can paints 100 yards, divide into the total number of yards to get either 19 or 16.2 cans. -Doctor Brian, The Math Forum Check out our web site! _URL_
Search the Dr. Math Library:
Ask Dr. MathTM
© _PHONE_ The Math Forum


Memory Alpha
Ferengi language
37,204pages on
this wiki
Classroom alphabet 2
The Ferengi alphabet (center)
The Ferengi language is the spoken and written language of the Ferengi, from Ferenginar.
Written language Edit
Ferengi script
Ferengi script
Ferengi writing looks much like a flowchart, with many 60 degree angles. Text radiates from the center outward, which would indicate the direction of writing as well. Ferengi text can be written with or without a central hexagon, radiating from one side of a hexagon only and in single horizontal lines on signs and short notes. (TNG: "Ménage à Troi"; DS9: "Body Parts").
Keiko O'Brien's classroom featured a chart depicting the English, the Bajoran, the Cardassian, and the Ferengi alphabet. The chart listed some sixty plus Ferengi language symbols (DS9: "The Nagus", "In the Hands of the Prophets", "Cardassians")
Ferengi Lexis Edit
 - Nagus - title of authority; esp. Grand Nagus, leader of the Ferengi Alliance. This is, presumably, an English translation, as certain Earth leaders (i.e. those of Ethiopia) have also borne the title of Nagus. (DS9: "The Nagus")
Established words Edit
Ferengi written message
Yop : "I"
Yop-im too : "I'm sorry"
Gren : "You"
Neep-gren : "Thank you"
Yoba : Brother
Rain Edit
There are 178 different Ferengi words for rain.
glebben - an especially severe rainstorm
Established Dialogue Edit
This sequence is an in-joke making reference to the Anime series "Dirty Pair". Kei and Yuri are characters that appear in the series, and in Japanese the names Kei and Yuri and Dirty Pair would be pronounced ke-i yu-ri dah-te-i pe-ah. The names of Kei and Yuri also appear written in Japanese in the Iconian written language.
Yop im too, yoba. Yop sko ta yop ma.
I'm sorry, brother. I did the best I could
 Listenfile info
Goss uff wok ton. Goss uff wok ton.
Let us out of here. Let us out of here
Brik yop tal hopdrew, ki los hoem bog?
Gren fatarik oo-mox?
Ya ta fa?
Unknown, may mean "Is that a yes?"
Gren fa hoe loth pex-pil?
Haven't you got that translator fixed yet?
Vo yop toe pah?
Can I have that?
Yop triska gleep do-sta gren-la.
I need that metal thing you're holding
Thank you
Irr zoun nagool ahsp
They're not responding to hails
Cucht eeta ekrajhn-voy?
What do [your/the] scans say?
Irr gnales, nohm setron. Quetsivoo!
They're alive, but unconscious. It worked!
Take us in
Tenda sout bazul, ningor!
It's not on this deck. Let's go!
Konah see-oh-mahj irr zoon
The fools never knew what they were hit by
Oooh, gar-dey latinum sou-tah
Oooh, this is worth its weight in latinum
External link Edit
Around Wikia's network
Random Wiki


text:
Return to Vignettes of Ancient Mathematics
Definition of faster (Physics Z 2.232a23-7)
Since every magnitude is divisible into magnitudes (for it was proved that it is impossible for a continuous magnitude to be from indivisible ones, but every magnitude is continuoous), then it is necessary that (a) the faster traverse a greater distance in the equal time and (b) an equal distance in the lesser time and (c) more distance in the lesser time, just as some define the faster.
Argument for a (Physics Z 2.232a27-31):
(figure 1: moving) or (figure 2: still)
For let A be faster than B. Then
since that which changes first is faster, in the time in which A has changed
from to, e.g. ZH, B will not yet be at, but it will fall short, so that
in the equal time the faster will traverse more in an equal time.
Argument for c (Physics Z 2.232a31-b5):
1) In fact, it will also move more in less time. For in the
time in which A has come to be at, let
B be at E, since it is the slower. (figure
2) Accordingly since A has come to be at in
the whole time ZH, it will be at in
a smaller time than this. (figure
3) And let it be in time ZK. And so, which A has traversed is
larger than E, and time ZK
is smaller than the whole time ZH, so that it will traverse a
larger amount in a smaller time.
Argument 1 for b (Physics Z 2.232b5-14):
1) It is also obvious from these that the faster traverses
an equal amount in a smaller time. For since it traverses a greater
in less time than the slower, while taken by itself it will traverse
more than the lesser amount in more time, e.g. M larger
than, the
time P in which it traverses
M would be more than, the
time in which it traverses. (figure
2) Thus if the time P is
smaller than X, the time in which the slower traverses, and will be smaller than X,
since it is smaller than P, as
that which is smaller than a smaller is itself smaller. Thus it
will move the equal amount in less time.
Argument 2 for b (Physics Z 2.232b14-29):
Furthermore, if everything must move in equal or less or in more time, then that which moves in more is slower, that in equal equally fast, while the faster is neither equally fast nor slower, the faster neither move in equal nor in more time. And so, it remains that it moves in less time, so that it is also necessary that the faster traverse an equal magnitude in less time.


Oracle 8i | Oracle 9i | Oracle 10g | Oracle 11g | Oracle 12c | Miscellaneous | PL/SQL | SQL | Oracle RAC | Oracle Apps | Linux
DBMS_SESSION : Managing Sessions From a Connection Pool in Oracle Databases
Amongst other things, the DBMS_SESSION package contains procedures to help manage sessions being used as part of a connection pool. Depending on the software managing the connection pool, some of these issues may already be handled.
Related articles.
Client Identifier (SET_IDENTIFIER and CLEAR_IDENTIFIER)
In many client-server applications it was common to allocate a different database user for each real user of the system. This made it simple to identify and audit the users at the database level. If applications used a single database user and managed security internally, this made identifying the real users of the system difficult. The issue was complicated further by multi-tier architectures that used connection pooling.
To counter this, Oracle 9iR1 introduced the SET_IDENTIFIER and CLEAR_IDENTIFIER procedures to allow the real user to be associated with a session, regardless of what database user was being used for the connection. The procedures amend the content of the CLIENT_IDENTIFIER column in the V$SESSION view. When a connection is taken from the connection pool the application should call the SET_IDENTIFIER procedure, passing the real user information as a parameter.
CONN test/test
EXEC DBMS_SESSION.set_identifier('tim_hall');
COLUMN username FORMAT A20
COLUMN client_identifier FORMAT A20
SELECT USER AS username, SYS_CONTEXT('userenv', 'client_identifier') AS client_identifier FROM dual;
USERNAME CLIENT_IDENTIFIER
-------------------- --------------------
TEST tim_hall
SQL>
The information is visible in the V$SESSION view when queried from privileged user in another session.
-- Start a new session, leaving the existing session running.
CONN / AS SYSDBA
COLUMN username FORMAT A20
COLUMN client_identifier FORMAT A20
SELECT username, client_identifier FROM v$session WHERE username = 'TEST';
USERNAME CLIENT_IDENTIFIER
-------------------- --------------------
TEST tim_hall
SQL>
Before the session is released back into the connection pool, the application should call the CLEAR_IDENTIFIER procedure.
-- Back in the original session.
EXEC DBMS_SESSION.clear_identifier;
SELECT USER AS username, SYS_CONTEXT('userenv', 'client_identifier') AS client_identifier FROM dual;
USERNAME CLIENT_IDENTIFIER
-------------------- --------------------
TEST
SQL>
The CLIENT_IDENTIFIER column of the V$SESSION view is blanked for the session.
-- Back in the privileged session.
SELECT username, client_identifier FROM v$session WHERE username = 'TEST';
USERNAME CLIENT_IDENTIFIER
-------------------- --------------------
TEST
SQL>
Later releases of Oracle included the CLIENT_IDENTIFIER information in the audit trail, SQL trace files and performance tuning tools, making it even more useful.
Contexts (CLEAR_CONTEXT and CLEAR_ALL_CONTEXT)
Contexts are namespaces used to store name-value pairs. Although contexts were available in Oracle 8i, the CLEAR_CONTEXT procedure was not introduced until 9iR1, while the CLEAR_ALL_CONTEXT procedure was introduced in 10gR1. If a session is being used as part of a connection pool and the state of its contexts are not reinitialized, this can lead to unexpected behavior.
CONN / AS SYSDBA
GRANT CREATE ANY CONTEXT TO test;
CONN test/test
-- Create the context.
CREATE OR REPLACE CONTEXT parameter_ctx USING context_api;
-- Create the package to manage the context.
CREATE OR REPLACE PACKAGE context_api AS
 PROCEDURE set_parameter(p_name IN VARCHAR2,
 p_value IN VARCHAR2);
 PROCEDURE clear_context (p_name IN VARCHAR2);
 PROCEDURE clear_all_context;
END context_api;
/
CREATE OR REPLACE PACKAGE BODY context_api IS
 PROCEDURE set_parameter (p_name IN VARCHAR2,
 p_value IN VARCHAR2) IS
 BEGIN
 DBMS_SESSION.set_context('parameter_ctx', p_name, p_value);
 END set_parameter;
 PROCEDURE clear_context (p_name IN VARCHAR2) IS
 BEGIN
 DBMS_SESSION.clear_context('parameter_ctx', attribute => p_name);
 END clear_context;
 PROCEDURE clear_all_context IS
 BEGIN
 DBMS_SESSION.clear_all_context('parameter_ctx');
 END clear_all_context;
END context_api;
/
-- Set two values in the context and check them.
EXEC context_api.set_parameter('variable1', 'one');
EXEC context_api.set_parameter('variable2', 'two');
COLUMN variable1 FORMAT A20
COLUMN variable2 FORMAT A20
SELECT SYS_CONTEXT('parameter_ctx', 'variable1') AS variable1,
 SYS_CONTEXT('parameter_ctx', 'variable2') AS variable2
FROM dual;
VARIABLE1 VARIABLE2
-------------------- --------------------
one two
SQL>
-- Clear one of the name-value pairs and retest.
EXEC context_api.clear_context('variable1');
SELECT SYS_CONTEXT('parameter_ctx', 'variable1') AS variable1,
 SYS_CONTEXT('parameter_ctx', 'variable2') AS variable2
FROM dual;
VARIABLE1 VARIABLE2
-------------------- --------------------
 two
SQL>
-- Clear all name-value pairs and retest.
EXEC context_api.clear_all_context;
SELECT SYS_CONTEXT('parameter_ctx', 'variable1') AS variable1,
 SYS_CONTEXT('parameter_ctx', 'variable2') AS variable2
FROM dual;
VARIABLE1 VARIABLE2
-------------------- --------------------
SQL>
Note. Calling CLEAR_CONTEXT with the ATTRIBUTE parameter set to NULL is similar to calling the CLEAR_ALL_CONTEXT procedure.
Packages (RESET_PACKAGE)
Sessions have the ability to alter package state by amending the values of package variables. If a session is being used as part of a connection pool and the state of its packages are not reinitialized, this can lead to unexpected behavior. To solve this, the RESET_PACKAGE procedure, available since Oracle 7, can be called to reinitialize all packages.
-- Create a package with a package variable and GET/SET methods.
CREATE OR REPLACE PACKAGE p1 AS
 FUNCTION get_value RETURN NUMBER;
 PROCEDURE set_value (p_value IN NUMBER);
END p1;
/
CREATE OR REPLACE PACKAGE BODY p1 AS
 g_number NUMBER := 1;
 FUNCTION get_value RETURN NUMBER AS
 BEGIN
 RETURN g_number;
 END get_value;
 PROCEDURE set_value (p_value IN NUMBER) AS
 BEGIN
 g_number := p_value;
 END set_value;
END p1;
/
-- Check the current value.
SELECT p1.get_value FROM dual;
 GET_VALUE
----------
 1
SQL>
-- Alter the value and retest.
EXEC p1.set_value(2);
SELECT p1.get_value FROM dual;
 GET_VALUE
----------
 2
SQL>
-- Reset the package state and retest.
EXEC DBMS_SESSION.reset_package;
SELECT p1.get_value FROM dual;
 GET_VALUE
----------
 1
SQL>
Memory (FREE_UNUSED_USER_MEMORY)
If a session performs operations that cause it to allocate a large amount of memory in the PGA or UGA, this memory will not be reclaimed until the session disconnects. For sessions in the connection pool this can present a problem unless they are managed properly. As the name suggests, the FREE_UNUSED_USER_MEMORY procedure, available since Oracle 7, frees up unused memory in the session.
CONN / AS SYSDBA
GRANT SELECT ON v_$mystat


See also: cardinal-number
cardinal number (plural cardinal numbers)
 1. A number used to denote quantity; a counting number.
 The smallest cardinal numbers are 0, 1, 2, and 3.
 The cardinal number "three" can be represented as "3" or "three".
 2. (mathematics) A generalized kind of number used to denote the size of a set, including infinite sets.
 - 1920, Bertrand Russell, Introduction to Mathematical Philosophy, page 83
 This cardinal number is the smallest of the infinite cardinal numbers; it is the one to which Cantor has appropriated the Hebrew Aleph with the suffix 0, to distinguish it from larger infinite cardinals. Thus the name of the smallest of infinite cardinals is ℵ0.
 3. (grammar) A word that expresses a countable quantity; a cardinal numeral.
 "Three" is a cardinal number, while "third" is an ordinal number.
See alsoEdit
External linksEdit


cout << endl;
return 1;
}
}
The SetAccountActive() function is a Medium Layer function which sets an account to 'ACTIVE' state, or more
precisely, updates the 'accountactivestatus' column to a boolean value of TRUE(1) of the specified account
number. This function plays one of the roles where the money withdrawal and account activity is allowed or
not. Refer to the given SQL Create Table queries provided earlier to better understand the given columns of the
database tables.
void SetAccountActive(string accountNumber)
{
string createCommand;
createCommand = "UPDATE accountdatabase SET accountactivestatus = '1' WHERE
accountnumber = ";
createCommand += accountNumber;
//cout << createCommand << endl;
commandSQL(accountDB, createCommand);
}
The SetAccountInactive() is a Medium Later function which does exactly the opposite of what was described
earlier regarding the SetAccountActive() function. It updates the 'accountactivestatus' column to a boolean
value of FALSE(0). For better understanding of the database schema, refer to the given SQL create table
queries given at the beginning of this tutorial.
void SetAccountInactive(string accountNumber)
{
string createCommand;
createCommand = "UPDATE accountdatabase SET accountactivestatus = '0' WHERE
accountnumber = ";
createCommand += accountNumber;
//cout << createCommand << endl;
commandSQL(accountDB, createCommand);
}
The IsAccountActive() is a Medium Level function which returns TRUE(0) if the specified bank account is
active or returns FALSE(1) if the bank account is not activated. Upon receiving its single parameter, the account
number, it checks whether that account number exists. If the account exists, an SELECT SQL Query is
assembled to select the 'accountactivestatus' column from the account database and check whether it is active
or inactive based on the boolean value. Upon receiving the query result, the function returns the boolean value.
bool IsAccountActive(string accountNumber)
{
string createCommand;
if(AccountExists(accountNumber))
{
createCommand = "SELECT accountactivestatus FROM accountdatabase WHERE
accountnumber = ";
createCommand += accountNumber;
createCommand += " LIMIT 1";
PGresult *result;
result = PQexec(accountDB, createCommand.c_str());
int nrows = PQntuples(result);
int mynumber;
string mystring;
mystring = string(PQgetvalue(result,0,0)); //return PQgetvalue in string type
mynumber = atoi(mystring.c_str()); // First convert string object to C
string then convert to integer
if(mynumber)
{
return 1;
}
else
{
return 0;
}
}
else
{
return 0;
}
}
The DepositToAccount() is a Medium Level function which receives two parameters; the account number and
the amount to be deposited. Upon receiving the two parameters it assembles an UPDATE SQL Query which adds
the deposit amount to the current balance amount.
void DepositToAccount(string accountNumber, double depositAmount)
{
string createCommand;
double currentBalance;
double newBalance;
PGresult *result;
currentBalance = GetAccountBalance(accountNumber);
newBalance = currentBalance + depositAmount;
createCommand = "UPDATE accountdatabase SET accountbalance = ";
createCommand += doubleToString(newBalance);
createCommand += " WHERE accountnumber = ";
createCommand += accountNumber;
result = PQexec(accountDB, createCommand.c_str());
}
The WithdrawFromAccount() Medium Level function receives two parameters; the account number and the
withdrawal amount, as opposed to the DepositToAccount() function described previously. The
WithdrawFromAccount() function assembles an UPDATE SQL Query which deducts the specified withdrawal
amount from the current account balance.
bool WithdrawFromAccount(string accountNumber, double withdrawalAmount)
{
string createCommand;
double currentBalance;
double newBalance;
PGresult *result;
currentBalance = GetAccountBalance(accountNumber);
newBalance = currentBalance - withdrawalAmount;
if(currentBalance > MIN_REQUIRED_BALANCE && withdrawalAmount < currentBalance)
{
createCommand = "UPDATE accountdatabase SET accountbalance = ";
createCommand += doubleToString(newBalance);
createCommand += " WHERE accountnumber = ";
createCommand += accountNumber;
result = PQexec(accountDB, createCommand.c_str());
return 1;
}
else
{
return 0;
}
}
The GetAccountBalance() is a Medium Level function that returns the account balance of a specified account
number, which is the single parameter of the function. Upon receiving the parameter value, it assembles a
SELECT SQL Query which selects the account balance and returns it as a float data type. This function plays a
major role throughout the ATM machine software examples.
double GetAccountBalance(string accountNumber)
{
string createCommand;
double balance;
char *s;
createCommand = "SELECT accountbalance FROM accountdatabase WHERE accountnumber = ";
createCommand += accountNumber;
createCommand += " LIMIT 1";
PGresult *result;
result = PQexec(accountDB, createCommand.c_str());
int nrows = PQntuples(result);
string mystring;
if(nrows > 0)
{
if(!PQgetisnull(result, 0, 0))
{
switch(PQresultStatus(result))
{
case PGRES_TUPLES_OK:
/*************************************************************
* To get single value from result that is readable, must use *
* PQgetvalue(result, 0, 0) parameters!!! *
*************************************************************/
mystring = string(PQgetvalue(result,0,0)); /* return PQgetvalue in
string type */
s = const_cast<char*>(mystring.c_str());
balance = atof(s);
break;
}
}
}
PQclear(result);
return balance;
}
The AccountExists() is a Medium Level function that returns a Boolean value determining whether the
specified account number (as a parameter) is exists. It queries the database for the specified number, if the
query result returns the number of rows more than 0, then the account exists, otherwise if the query returns 0
rows, the account number does not exist. This function is commonly throughout the ATM software example to
prompt inform the user that the account doesn't exist or that the wrong account number has been entered.
bool AccountExists(string accountNumber)
{
string createCommand;
bool exists;
createCommand = "SELECT accountnumber FROM accountdatabase WHERE accountnumber = ";
createCommand += accountNumber;
createCommand += " LIMIT 1";
PGresult *result;
result = PQexec(accountDB, createCommand.c_str());
int nrows = PQntuples(result);
string mystring;
if(nrows > 0)
{
if(!PQgetisnull(result, 0, 0))
{
switch(PQresultStatus(result))
{
case PGRES_TUPLES_OK:
/*************************************************************
* To get single value from result that is readable, must use *
* PQgetvalue(result, 0, 0) parameters!!! *
***********************************************


students abilitiesPTE Academic writing sample essay
Admittedly, mixed ability classes provide a better environment for children's all-round development. In such classes, children with different abilities study together and in turn, they can learn from one another. For example, a student, who is good at the academic study but weak in dancing or painting, can learn how to dance or paint form his peers. In this sense, mixed ability classes allow students to develop their abilities in different subjects instead of only academic abilities.
Despite the argument above, I believe streaming students bring more benefits to teachers and students. As for teachers, separating children with better academic abilities from others facilitates effective teaching. This practice helps teachers to control their students more conveniently and easily. Compared with mixed ability in which a teacher should consider students' differences when they are using teaching methodologies, streaming makes this situation simpler. To be more specific, students are at the same level of academic ability in a class, and in turn, teachers can use the same methodologies for them all. In this way, the narrower the spread of ability in the class, the more convenient the teaching can be.
On top of this, steaming enables students to learn in an effective way. According to students' different abilities, they are taught in different ways that are more suitable for them. In the top streams, students use more difficult materials, therefore, they can learn more. In sharp contrast, teachers can explain the material more slowly to those in bottom streams. Under this circumstance, children with different academic abilities can study effectively and efficiently.
Please Like and share on Facebook
PTE exam questions from recent test-PTE exam memories
PTE essays scoring
In many countries, children are engaged in different kinds of paid work. Some people regard this as completely wrong, while others consider it a valuable work experience, important for learning and taking responsibility. What is your opinion?
PTE describe image questions with sample answers | real exam questions


text:
What you eat directly impacts your body and brain. So be very specific about the food you eat before or in the flight. Experts also say that what you eat before or during the flight impacts how you feel during and after the flight. So avoid these food disasters while boarding in a flight to India
Fried or Fast Food
Health experts always advise you to avoid fried fast food. Above 35000 feet above the ground, digestion is tough. And eating saturated fats can restrict blood flow inside your body that causes blood clotting. It leads to DVT (Deep Vein Thrombosis).
Alcohol! But it's not a food technically. Yes, you are right but it is something that will impact your body. This is the reason you are advised to avoid to drink in access, it can lead to dehydration. It is not that you are prohibited to have any alcoholic drink on the airplane but you should take care of your body yourself in the flight.
Stay away from cauliflower, broccoli and cruciferous vegetables when you are travelling in the air. You might know that the airplane cabin is pressurized but it is not same on the ground. When you take off the air pressure decreases and air expands by 30 per cent in the cabin. This causes swelling in the stomach. This leads to an expansion in the small intestine and produces a blot feeling within your body.
Carbonated beverages are also a contributor in blotting. So avoid beverages like soda, coke and beer. Just imagine that air bubbles in your stomach! They will expand in your stomach with pressure changes. This is surely not a comfortable feeling. Keep this thing in your mind and rather than buying a carbonated beverage go for simple water.
Sugar-Free Gum and Candy
Sugar-free gum and candies are like a boon for diabetes patients. But eating them before you fly is a bad idea. Because it contains artificial sweetener and our body is not designed to digest these kinds of things. It can cause blotting, gas and other laxative effects on your body.
The food contains garlic is delicious but you should avoid it. It will linger on your breath. The reason is that it includes a sulfuric component and whenever you inhale oxygen it will be there even after brushing your teeth. Besides that, you will not smell good and it may also bother your seatmates. So avoid everything which contains garlic inside it.
Airplane provided water
It is advised to carry your water bottle along with you rather than using airplane provided water. It is the report of a test done by EPA (Environmental Protection Agency) one out of every 7 airplanes one does not meet federal standards. And there are chances that the bottle you will get from an airplane is refilled by that tank water. So keep your bottle, keep yourself hydrated and make your journey easy and healthy. Furthermore, it is only not the water but coffee and tea also that could be made of that water. So pass them also.
Avoid having beans and Legumes before you fly or in your journey. These are not easy to digest and are considered as major gas culprits. Many other types of legumes and beans contain indigestible complex sugar. So eating legumes can cause on-board blotting.
These are some food items that you should avoid to have before flying. Otherwise, you will have problems with your digestion and your long journey can be quite uncomfortable.


Grange in Borrowdale
Grange in Borrowdale
Grange is a lovely village at the head of Borrowdale, popular as a centre for walking and outdoor activities. Nearby is the natural feature known as the Bowder Stone, a huge boulder tipped up on one end.
Grange, more often called 'Grange in Borrowdale', is at the entrance to the 'Jaws of Borrowdale', where the valley narrows, bounded on either side by Castle Crag and Grange Fell. The village is entered over a picturesque double-arched bridge, built in 1675.
The origins of Grange go back to at least the early medieval period. In 1209 Alice de Rumelli sold estates here to the monks of Furness Abbey. The monks cleared the land and established an outlying farm, or grange, in the valley.
The monk's grange gave its name to the hamlet that grew up at the northern end of the valley. The monks harvested oats, barley, and rye, and produced charcoal, but their main focus was wool. They established trade routes, leading packhorses east and south over the surrounding fells.
Most of the picturesque cluster of cottages are built of grey local stone, but one building stands out from the rest for its whitewashed walls. This is the parish church, dedicated to the Holy Trinity and built in 1861 by Miss Margaret Heathcote so that villagers did not have to make the long trek up the valley to the parish church.
Miss Heathcote was notoriously hard to please, and went through 7 curates in just 11 years! There is also a small Methodist church, built nearby in 1878.
Though it seems small and remote, Grange has royal connections. In 1910 Princess Louise, sister of King Edward VII, wanted to create a suitable memorial to her brother on his death. She bought Grange Fell and erected a memorial stone to the king on top of the fell.
Princess Louise also officially presided at the opening ceremony for Brandlehow Wood. one of the first properties purchased by the National Trust. Another very local celebrity was author Hugh Walpole, who lived at Brackenburn, just a mile from Grange, between 1924 and 1941.
Like so much of the Lake District, Grange is a centre for walking. At almost any time of year the village is crammed with walkers, and in the summer it can be very difficult to drive through the narrow lanes through the village. Parking is very much a haphazard business, especially on sunny summer days.
But with those caveats, it's worth repeating just what a fantastically scenic area this is; the village is absurdly pretty, in an area that writer Alfred Wainwright called one of the prettiest square miles in Cumbria. And he's right.
Because the village is so popular as a walking centre there are a wide variety of bed and breakfasts and self-catering options, and the Lodore Hotel is just a short distance away on the main road from Keswick.


Gateway Contracts
Purpose
Gateway contracts are essential components that enable different blockchains to communicate with each other. They handle the secure and efficient transfer of data and messages between networks, making cross-chain interactions possible.
Functionality
 - Automated Setup: These contracts are pre-deployed and configured automatically by the system, so users don't need to set them up manually.
 - Seamless Communication: They ensure that messages and data are correctly routed and processed between different blockchains.
For users, gateway contracts work behind the scenes to manage cross-chain communication. You don't need to worry about setting them up or configuring them; they are handled by the system to ensure everything runs smoothly.
For more a list of contracts, please see the Developer Documentation.
Last updated


text:
State Sen. Randy Gardner (R., Bowling Green) sponsored Senate Bill 229, which lowers the mandatory student achievement component for rating teachers in school districts from 50 to 35.
COLUMBUS — Ohio's new formula for deciding whether teachers make the grade has yet to be fully tested, but the state Senate is looking at loosening what some say may be too burdensome a mandate on schools.
A vote could come as early as Wednesday.
This school year would be the first that all public schools would have to evaluate their teachers on an annual basis using a formula weighted 50 percent on student academic improvement on standardized tests.
Senate Bill 229, sponsored by Sen. Randy Gardner (R., Bowling Green), would reduce that mandatory component to 35 percent, leaving it to school districts to decide whether they would prefer a higher standard.
The bill would also give schools the option of going through the full evaluation process less often with higher-performing teachers while keeping the mandatory annual evaluations for teachers considered most in need of improvement.
Mr. Gardner, a former teacher, said he recently met with teachers in Bowling Green and found them supportive of meaningful evaluations of their performance.
"They make the good point that we need consistent and ongoing evaluations," he said. "But I think it's also important to acknowledge that some districts have had to hire additional principals and evaluators. Not only is the evaluation important, but what we do with the evaluation is important."
The Senate had previously backed the lower 35 percent student growth component during budget debate earlier this year, but ultimately went along with the House's 50 percent academic performance in the final bill. Even if Mr. Gardner's bill clears the Senate, it remains to be seen whether it will get past the House or Gov. John Kasich.
Mr. Kasich has frequently held up the work of Michelle Rhee, former Washington, D.C., public schools chancellor, when talking about education reform. She now leads the lobbying organization StudentsFirst, which opposes what it sees as a watering down of the evaluation process.
"It is absolutely reasonable that a third of a school leader's time is spent on evaluating his faculty," said Greg Harris, Ohio director of StudentsFirst. "They see this as administratively cumbersome, but this is the first time in Ohio history that teachers will be evaluated based on their impact on students. School leaders need to adjust to that reality."
He said StudentsFirst is less concerned about reducing the mandated student achievement component to 35 percent as it is about a reduction in the frequency of evaluations for some teachers.
As currently written, the bill would allow schools to evaluate teachers who've been rated as "accomplished" on their most recent evaluations to be fully evaluated once every three years instead of two. It would permit those who've been rated "skilled" to be evaluated every two years instead of annually. All others would continue to be evaluated each year.
Mr. Gardner said the Senate Education Committee is expected to amend the bill on Wednesday to still require some form of observation of and interaction with the higher-performing teachers each year without having to go through the full scoring process.
He said teachers generally welcome the idea of classroom, in-person observations as an alternative to too much weight being placed on the results of standardized academic achievement tests.
School districts that received federal Race to the Top funding, including Toledo Public Schools, have already been through a variation of this process. But this year would mark the first in which all public schools would have to participate using this specific formula.
"None of us has a problem with an evaluation system because we believe in a strong accountability system," said Melissa Cropper, president of the Ohio Federation of Teachers. "The problem is that, if we have to evaluate every teacher every year, there will not be enough time to do the evaluations in a real, authentic way. We'd be short-cutting the process and become compliance-driven instead of results-driven."
Contact Jim Provance at: _EMAIL_ or _PHONE_.
Guidelines: Please keep your comments smart and civil. Don't attack other readers personally, and keep your language decent. Comments that violate these standards, or our privacy statement or visitor's agreement, are subject to being removed and commenters are subject to being banned. To post comments, you must be a registered user on toledoblade.com. To find out more, please visit the FAQ.


text:
you are here: Home / News / Simulation of person flows
Simulation of person flows
ifp consulting simulates person flows on the factory premises of a pharmaceutical group
In the context of the development of a holistical logistics concept for a pharmaceutical group in Switzerland the different person flows are being simulated and analysed.
The simulation's purpose consists of the permanent guarantee of a sufficient level of security for the staff during the different construction phases as well as for the future factory layout. For that purpose all traffic participants are being considered, areas of intensive pedestrian traffic are being identified and appropriate actions are being initiated.
The following focuses are being worked on:
Identification and preparation of all person flow data
Modelling of the relevant scenarios
Analysis of the pedestrian traffic peaks on the factory premises
Realization of the simulation runs with the software SimWalk
Visualization of the different person traffic intensities in heat maps with following analysis
Deduction of suitable actions
Development of a future concept for the implementation of the actions


UI design with Tiles and Struts
Several solutions for organizing your HTML and JSP view components
Typically during Web application development, the user interface (UI) group creates the site's look and feel. Based on that look and feel, the group creates HTML pages that represent the application's functionality and navigation. With a servlets and JavaServer Pages (JSPs)-based implementation, where HTML pages are converted into servlets and JSPs, UI developers identify common HTML and JSP view components, such as header, footer, body, menu, and search. This article presents various solutions to effectively and efficiently organize HTML and JSP view components. I evaluate each solution using specific criteria, such as page number, code repetition, and layout control.
To explore templating and layout solutions, we will use the Tiles framework. The Tiles framework's view components are known as tiles. The framework uses an XML configuration file to organize those tiles. This framework not only enables you to reuse tiles, but also the layouts that organize them.
To explore the more powerful and flexible solutions, we will investigate the synergy between the Tiles and Struts frameworks. Struts is an open source framework for developing Web applications using the popular Model-View-Controller (MVC) or Model 2 architectural pattern. Struts comes with a large set of reusable tags for which the Tiles tag library makes an excellent enhancement.
Evaluation criteria
I will evaluate each solution based on the criteria below. The criteria are not mutually exclusive. For a specific situation and particular application, you must always balance between the strengths and weaknesses of each solution with respect to these factors.
Page number
A solution should strive to minimize the number of HTML and JSP pages. As the page number increases, the complexity of developing, managing, and maintaining an application increases drastically.
Code repetition
Under most circumstances, repetition is bad. The more repeated HTML and JSP code, the more difficult it is to develop and maintain an application. A simple change can result in a cascade of changes in many different pages with unpredictable consequences. A concrete and practical way of attaining reuse is to avoid code repetition.
Layout control
While code repetition is bad, repetition of layout logic and code can be worse. Spreading the logic and behavior of view component organization over several JSPs can be a recipe for disaster. Attaining reuse of templating and layout logic is a better form of reuse than only reusing view components. Thus, you can achieve a higher level of reuse with effective layout control.
Coupling
Coupling is the degree of interactivity between entities. Software engineers are taught again and again to minimize coupling between unrelated classes, packages, and so on. We can apply the same principle to view components. Even though there are distinct view components from a user perspective, in the JSP implementation, the components might be intricately coupled. A solution should reduce coupling between unrelated view components.
Complexity
Complexity brings increased development and maintenance costs, making a more complex solution less suitable. Complexity grows fast as well, and what might originally look simple and innocuous can quickly turn into a big mess as you add more pieces.
Solutions
I'll evaluate several solutions using a basic example of JSPs with common view components, like header and footer. I'll present these solutions in order of increasing complexity, and then I'll measure in detail each one against the evaluation criteria.
Solution 1: Basic JSP
Consider the following JSP for
a.jsp
:

Header

a's body...

Footer

Consider the following JSP for b.jsp:

Header

b's body...

Footer

In many cases, the developers obtain the code from the UI group and literally convert it into a JSP as necessary. As shown above, each JSP has a duplicate header and footer. Solution 1 is undesirable because changes in common view components, like header and footer, require changes in all relevant pages, as each page is responsible for laying out the view components. This simple solution lacks foresight. With so much HTML and JSP code duplication, we minimize the number of pages but at a heavy maintenance cost. There is strong coupling between the different view components, which, as I explained earlier, is undesirable.
Solution 2: JSP include
Consider the following JSP for
a.jsp
:

<%-- include header --%>
<jsp:include page="/header.jsp" />
a's body...

<%-- include footer --%>
<jsp:include page="/footer.jsp" />

Consider the following JSP for b.jsp:

<%-- include header --%>
<jsp:include page="/header.jsp" />
b's body...

<%-- include footer --%>
<jsp:include page="/footer.jsp" />

Note that common view components, like header and footer, are split up using the JSP include mechanism.
Consider this header.jsp:
Header

Consider this footer.jsp:
Footer

Solution 2 nicely addresses some of Solution 1's major shortcomings. You only need to change common view components once. Hence, this solution greatly eliminates HTML and JSP code repetition, significantly improving application maintainability. It increases the page number a bit, but drastically reduces the tight coupling between common view components and other pages. On the complexity scale, this solution is simple and readily implemented on many real-world applications. However, it has one major drawback: if you change how and where you organize the view components (i.e., by changing the component layout), then you would need to update every page -- resulting in an expensive and prohibitive change. Solution 2 achieves view component reuse, but does not achieve the reuse of layout and templating logic.
Solution 3: Tiles insert
Consider this JSP for a.jsp:
<%@ taglib uri="/WEB-INF/tiles.tld" prefix="tiles" %>

<%-- include header --%>
<tiles:insert page="/header.jsp" flush="true"/>
a's body...

<%-- include footer --%>
<tiles:insert page="/footer.jsp" flush="true"/>

Consider this JSP for b.jsp:
<%@ taglib uri="/WEB-INF/tiles.tld" prefix="tiles" %>

<%-- include header --%>
<tiles:insert page="/header.jsp" flush="true"/>
b's body...

<%-- include footer --%>
<tiles:insert page="/footer.jsp" flush="true"/>

Instead of using the JSP include mechanism, Solution 3 uses the Tiles insert mechanism. Using the Tiles insert tag, you include the view components in the appropriate positions. In all other aspects, the solution mirrors the JSP include solution (Solution 2) exactly, with the same advantages and disadvantages.
Solution 4: Splitting bodies
Consider this a.jsp:
<%@ taglib uri="/WEB-INF/tiles.tld" prefix="tiles" %>

<%-- include header --%>
<tiles:insert page="/header.jsp" flush="true"/>
<%-- include body --%>
<tiles:insert page="aBody.jsp" flush="true"/>
<%-- include footer --%>
<tiles:insert page="/footer.jsp" flush="true"/>

Consider this b.jsp:
<%@ taglib uri="/WEB-INF/tiles.tld" prefix="tiles" %>

<%-- include header --%>
<tiles:insert page="/header.jsp" flush="true"/>
<%-- include body --%>
<tiles:insert page="bBody.jsp" flush="true"/>
<%-- include footer --%>
<tiles:insert page="/footer.jsp" flush="true"/>

Solution 4 differs slightly from the Tiles insert solution. Solution 4 separates the core bodies into their individual pages, like aBody.jsp and bBody.jsp.
Consider the following JSP for aBody.jsp:
a's body...

Consider the following JSP for bBody.jsp:
b's body...

Solution 4'


the speed of the computer and the network, you can change the parameters with practically no problem at frequencies of hundreds of ms or more. However, if you need to change such values periodically, you should use the data port.
(G)Timing of update
The configuration parameters can be updated at any time from tools such as RTSystemEditor and rtshell. However, actually changed parameters are reflected in actual variables at a certain timing before being referenced in functions used in functions such as onExecute and onActivated. The update timing is as follows.
At initialization Immediately after onInitialize ()
When activated Just before onActivated() is called
On error Immediately after onError()
Active state Immediately after onStateUpdate() ≒ After onExecute, immediately before the next onExecute()
(G)Is it data or parameters?
For example, consider a system that periodically sends data from a remote sensor to a central server. Data is sent only once per hour, and the server logs it. Should this data be sent using the data port? Or should I use the service port or should I use the configuration?
Since what is sent is data of the sensor, it can be said that it is best to send using the data port. Since the configuration is a mechanism to set the parameters from the outside, even if the update frequency is once per hour, it is inappropriate to communicate this data to the components in the configuration . However, if you want to realize complicated interactions (such as transactions) between the client and the server that can be realized with the data port, the service port may be used.
(G)Is it a service or parameter?
Whether it should be a data port or a configuration, in practice it will not get lost much. On the other hand, I think that there are many situations where you are at a loss as to whether you should change the parameters in the RTC logic from the service port or as configuration parameters.
If a component provides some sort of typical and somewhat comprehensive functionality, that functionality is provided externally through the interface of the service port. The service interface provides operations to acquire the target state and change the setting · mode · parameters. Apart from acquiring the state, the function of setting up and changing the mode parameter is very similar to the configuration.
As it turns out, it does not matter much which way you set it, but the function of the target RTC has already been defined as a service interface, and it is necessary to acquire and set the state, etc., to provide a somewhat complicated function In that case, it can be said that operation via the service interface is suitable. It is a good idea to use the configuration for setting other simple parameters and modes.
(G)Summary
In this theory, I explained how to define and how to use the configuration function. Parameters in the logic should be externalized using this function as much as possible to improve the reusability of the component. You also need to pay attention to what you should or should not do for the configuration parameters. If you use the configuration function effectively, the components you create will also be highly reusable.
Configuration file and command line options (Basic)
Configuration file (rtc.conf)
The component manager reads the configuration file rtc.conf at startup. A configuration file is normally created with the name rtc.conf, but you can pass a configuration file created with any name.
Location of rtc.conf
rtc.conf is usually placed in the same directory as the RTC executable file (standalone component: xxxComp, xxxComp.exe executable RTC etc.) and its settings are loaded automatically. Alternatively, you can use the -f option to load a configuration file of arbitrary name. If rtc.conf is not in the same directory as the executable file or if it is not specified with the -f option, it reads rtc.conf placed on the system instead.
Reading priority of rtc.conf is set as follows.
On Linux / Unix
 1. Command line option "-f"
 2. Environment variable "RTC_MANAGER_CONFIG"
 3. Default configuration file "./rtc.conf"
 4. Default configuration file "/etc/rtc.conf"
 5. Default configuration file "/etc/rtc/rtc.conf"
 6. Default configuration file "/usr/local/etc/rtc.conf"
 7. Default configuration file "/usr/local/etc/rtc/rtc.conf"
 8. Embedded configuration value
For Windows
 1. Command line option "-f"
 2. Environment variable "RTC_MANAGER_CONFIG"
 3. Default configuration file "./rtc.conf"
 4. Default configuration file "%RTM_ROOT%/%RTM_VC_VERSION%/rtc.conf"
In Windows, rtc.conf (usually C:\Program Files\OpenRTM-aist\(version number)\(Version of VC) placed under the directory specified by the environment variables "RTM_ROOT" and RTM_VC_VERSION )) Is loaded.
Main setting items
Below are the setting options of rtc.conf which is often used. In addition to the following options, various options can be specified in rtc.conf. For details rtc.conf setting item list.
Settings related to name service
Items related to the setting of the naming service are as follows.
corba.nameservers
It is specified by host_name: port_number, the default port is 2809 (omniORB default).
Multiple servers can be specified, and server name delimiter is comma ",".
naming.formats
%h.host_cxt/%n.rtc →host.host_cxt/MyComp.rtc
Multiple designation possible.
If you want to be compatible with 0.2.0,
%h.host_cxt/%M.mgr_cxt/%c.cat_cxt/%m.mod_cxt/%n.rtc
naming.update.enable
"YES" or "NO"
Automatic update setting of registration to the naming service.
Register the name again when the name service starts up after starting the component.
naming.update.interval
Update cycle [s]. The default is 10 seconds.
timer.enable
"YES" or "NO"
Manager timer valid/invalid. It must be valid to use naming.update.
timer.tick
Resolution of timer [s]. The default is 100 ms.
Setting related to log output
logger.enable
"YES" or "NO"
Enable/Disable log output.
logger.file_name
Log file name.
%h: Host name, %M: Manager name, %p: Process ID usable
logger.date_format
Date format. It conforms to the notation of strftime (3).
Default : %b %d %H:%M:%S → Apr 24 01: 02: 04 |
logger.log_level
Log level： SILENT, ERROR, WARN, INFO, DEBUG, TRACE, VERBOSE, PARANOID.
Do not output anything (SILENT)~All output (PARANOID)
(*) Previously it could be used in RTC, but it can not be used now.
Settings related to execution context
exec_cxt.periodic.type
Specify the execution context to use.
at present, PeriodicExecutionContext, ExtTrigExecutionContext Can be used.
The default is PeriodicExecutionContext.
exec_cxt.periodic.rate
Specify the frequency [Hz] of the execution context.
Effective range: (0, _PHONE_).
Default: 1000.
Other settings
corba.endpoint
IP_Addr: Specified by Port. When there are multiple NICs, it specifies the ORB to listen on.
: Is required even if Port is not specified.
Example: corba.endpoint: 192.168.0.12
Please specify when there are two NICs. (It may happen by chance even if not specified.)
corba.args
Argument for CORBA. For details, refer to omniORB manual.
[Category name].[Component name].config_file | [Category name].[Instance name].config_file | Component configuration file Category name: manipulator, component name: myarm, instance name myarm 0, 1, 2 ...
 manipulator.myarm.config_file: arm.conf
 Or
 manipulator.myarm0.config.file: arm0.conf
It is possible to specify it like.
Command line option
For standalone components, or RTC daemon (rtcd), you can specify several options on the command line. The following table shows the command line options that can be specified.
option meaning
-a Manager service OFF
-f <file name> Specify configuration file
-o <option> option specification
- p <port number> port number specification
-d Master manager designation
show the detailed meaning of these options.
-a: Manager service off
Normally, to start RTC, the internal component manager instantiates or deletes the RTC. (To manage lifecycle) By default the server (servant) is started so that this manager can be controlled remotely. However, if you do not need to start the same RTC in the same process, start another RTC by loading


text:
Favorite Music App for November
Is your child a fan of Star Wars? If so, I encourage you to check out our favorite app for November. This app combines adventure and learning into one experience. As they travel to a galaxy far, far, away, students practice naming notes on the musical staff. In keeping with the Star Wars theme, students aim their fighter plane at the correct note on the staff to match the given note name.
The Staff Wars app is great for Star Wars fan. With visual graphics and sound effects reflecting the Star Wars theme, students find new enjoyment in what can often become mundane theory practice of naming notes. Students can customize the settings as they "Select a Mission" to practice reading treble clef notes, bass clef notes, or even alto clef notes. There are adjustable levels of practice to reflect the learner's ability level. The game records student's progress by keeping score of how many notes the student named correctly.
Benefits of Technology
Technology has a wonderful way of engaging students of all ages. Students often enjoy the animation and interactive features. As a teacher, I value the immediate feedback that students receive. Instead of waiting until next week's piano lesson for me to check their theory homework, students receive immediate feedback. The Staff Wars app indicates the correct answer to students, so they can learn from their mistakes. As they continue to practice, they improve their note reading skills.
Importance of Reading Music
Learning to read music is an important skill for developing musicians. Students develop confidence as they learn to read music fluently,. Reading music also expands a student's opportunities to play new music. By developing this skill, students gain new appreciation for the beauty of music.


Linux Blog
ppmtoacad
Section: User Commands (1)
Updated: 10 October 1991
Index Return to Main Contents

NAME
ppmtoacad - convert portable pixmap to AutoCAD database or slide
SYNOPSIS
ppmtoacad [-dxb] [-poly] [-background colour] [-white] [-aspect ratio] [-8] [ppmfile]
DESCRIPTION
Reads a portable pixmap as input. Produces an AutoCAD® slide file or binary database import (.dxb) file as output. If no ppmfile is specified, input is read from standard input.
OPTIONS
-dxb
An AutoCAD binary database import (.dxb) file is written. This file is read with the DXBIN command and, once loaded, becomes part of the AutoCAD geometrical database and can be viewed and edited like any other object. Each sequence of identical pixels becomes a separate object in the database; this can result in very large AutoCAD drawing files. However, if you want to trace over a bitmap, it lets you zoom and pan around the bitmap as you wish.
-poly
If the -dxb option is not specified, the output of ppmtoacad is an AutoCAD slide file. Normally each row of pixels is represented by an AutoCAD line entity. If -poly is selected, the pixels are rendered as filled polygons. If the slide is viewed on a display with higher resolution than the source pixmap, this will cause the pixels to expand instead of appearing as discrete lines against the screen background colour. Regrettably, this representation yields slide files which occupy more disc space and take longer to display.
-background colour
Most AutoCAD display drivers can be configured to use any available colour as the screen background. Some users perfer a black screen background, others white, while splinter groups advocate burnt ocher, tawny puce, and shocking grey. Discarding pixels whose closest AutoCAD colour representation is equal to the background colour can substantially reduce the size of the AutoCAD database or slide file needed to represent a bitmap. If no -background colour is specified, the screen background colour is assumed to be black. Any AutoCAD colour number may be specified as the screen background; colour numbers are assumed to specify the hues defined in the standard AutoCAD 256 colour palette.
-white
Since many AutoCAD users choose a white screen background, this option is provided as a short-cut. Specifying -white is identical in effect to -background 7.
-aspect ratio
If the source pixmap had non-square pixels, the ratio of the pixel width to pixel height should be specified as ratio. The resulting slide or .dxb file will be corrected so that pixels on the AutoCAD screen will be square. For example, to correct an image made for a 320x200 VGA/MCGA screen, specify -aspect 0.8333.
-8
Restricts the colours in the output file to the 8 RGB shades.
All flags can be abbreviated to their shortest unique prefix.
BUGS
AutoCAD has a fixed palette of 256 colours, distributed along the hue, lightness, and saturation axes. Pixmaps which contain many nearly-identical colours, or colours not closely approximated by AutoCAD's palette, may be poorly rendered.
ppmtoacad works best if the system displaying its output supports the full 256 colour AutoCAD palette. Monochrome, 8 colour, and 16 colour configurations will produce less than optimal results.
When creating a .dxb file or a slide file with the -poly option, ppmtoacad finds both vertical and horizontal runs of identical pixels and consolidates them into rectangular regions to reduce the size of the output file. This is effective for images with large areas of constant colour but it's no substitute for true raster to vector conversion. In particular, thin diagonal lines are not optimised at all by this process.
Output files can be huge.
SEE ALSO
AutoCAD Reference Manual: Slide File Format and Binary Drawing Interchange (DXB) Files, ppm(5)
AUTHOR
John Walker
Autodesk SA
Avenue des Champs-Montants 14b
CH-2074 MARIN
Suisse/Schweiz/Svizzera/Svizra/Switzerland
Usenet:
_EMAIL_
Fax:
038/33 88 15
Voice:
038/33 76 33
Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, without any conditions or restrictions. This software is provided ''as is'' without express or implied warranty.
AutoCAD and Autodesk are registered trademarks of Autodesk, Inc.

Index
NAME
SYNOPSIS
DESCRIPTION
OPTIONS
BUGS
SEE ALSO
AUTHOR
Random Man Pages:
exit_group
greynetic
nv
fiberlamp