Article on political violence executed in the Aleppo province during 2013
Killing the dispensables: massacres perpetrated in the villages of Eastern Aleppo Province in 2013
Author: Josepha Wessels (Malmö University)
April, 2021
British Journal of Middle Eastern Studies
In 2013, Aleppo province was engulfed in violence. The Syrian Arab Army (SAA) and affiliated Shi'a militias executed a campaign of massacres in the rural areas located on the eastern fringes of the province. The violence caused an exodus from this region, eventually dissipating local rural communities entirely. What can explain such extreme and brutal political violence perpetrated at a local level in the east Aleppo countryside throughout 2013? To find an answer, I analyse the personal accounts of those who witnessed the violence and YouTube videos.
Taken together, these sources provide a visceral description of the massacres—in particular the summary executions in the village of Rasm al-Nafl, as a case study of extreme violence in one of the poorest rural areas of Syria. Problematizing mono-causal sectarian explanations, I argue that a deeper non-sectarian complex of rurality and a process of subaltern othering in combination with opportunism, governmental retribution, and strategic military concern for territorial control in order to secure alternative supply routes to Aleppo, ultimately led to the eradication of life and cultural genocide in these rural areas.


Special transportation-assisting trolley for cutting off single crystal silicon rods
单晶硅棒截断专用运送辅助小车
Abstract
The invention relates to a special transportation-assisting trolley for cutting off single crystal silicon rods. The trolley comprises an underframe and a working platform, wherein a lifting device which is used for adjusting the height of the working platform is installed on the underframe, a pair of silicon rod supporting frames is fixed on two sides of the working platform, a silicon rod transmission is arranged between silicon rod supporting frames, and wheels are installed at the bottom of the underframe. By the aid of the technical scheme, the labor intensity of operators can be reduced greatly, losses of edge breakage during cutting of single crystal rods can be reduced or avoided, and particularly, losses caused by the fact that rods slip out of the hand and fall due to crystal rod collisions which often occur during transportation and cutting of large-diameter heavy-weight single crystal silicon rods can be avoided. The trolley has the advantages of being capable of greatly reducing the labor intensity of operators, reducing or avoiding losses of edge breakage during cutting of single crystal rods and particularly avoiding losses caused by the fact that rods slip out of the hand and fall due to crystal rod collisions which often occur during transportation and cutting of large-diameter heavy single crystal silicon rods.
本发明涉及一种单晶硅棒截断专用运送辅助小车，包括底架和工作平台，底架上安装有用于调节工作平台高度的升降装置，工作平台的两侧上固定有一对硅棒支撑架，硅棒支撑架之间设置有硅棒传动装置，底架底部安装有车轮。本技术方案能够能大幅度减轻操作工的劳动强度，减少或避免单晶园棒在截断时发生崩边的损失，尤其是避免大直径、大重量单晶硅棒在搬运、被截断时经常发生的晶棒碰撞，脱手掉棒造成的损失。本发明的有益效果是，能大幅度减轻操作工的劳动强度，减少或避免单晶园棒在截断时发生崩边的损失，尤其是避免大直径、大重量单晶硅棒在搬运、被截断时经常发生的晶棒碰撞，脱手掉棒造成的损失。
Claims
Description
Topics
Download Full PDF Version (Non-Commercial Use)
Patent Citations (0)
 Publication numberPublication dateAssigneeTitle
NO-Patent Citations (0)
 Title
Cited By (1)
 Publication numberPublication dateAssigneeTitle
 CN-104441287-AMarch 25, 2015太仓协鑫光伏科技有限公司一种用于装卸太阳能级硅棒的小车


text:
Adding VR titles from your device
If you have VR titles on your Android device, you can add them to VIVE Business Training.
- In VIVE Business Training, tap Add/Edit.
- Under Add/Edit VR Title, tap Confirm.
Add VR title from this device.
- Tap the Category field, and then select or create a category.
- Tap the Upload file field, and then select the APK file for the VR title.
- Tap the Cover image field, and then select the image to use as the cover thumbnail.
Title name and
About fields, enter a name and description for the VR title.
If you have screenshots of the VR title, tap
Advanced, and then do the following to add them to the title:
a) Tap Add. A new thumbnail will be created.
b) Tap. Tap Upload image, and then select the image you want to add. You can also enter a description for the image.
Repeat the above steps to add more screenshots.
- When done, tap Confirm to add your VR title.
- After you've added a VR title, VIVE Business Training automatically pushes it to the headsets.
- To edit a VR title, repeat steps 1 and 2, tap the VR title, and then tap Edit VR title. After making your changes, tap Confirm.

source: openbmb/Ultra-FineWeb


Socket 370
Definition - What does Socket 370 mean?
Socket 370 is the receptacle (CPU socket) for the 370-pin Intel Pentium III, Intel Celeron and VIA Cyrix III processor. The 370 replaced the more expensive slot 1 Pentium II CPU interface on personal computers. It is designed for ease of manufacture and allows users to easily upgrade microprocessors.
Socket 370 is also known as the PGA370 socket.
Techopedia explains Socket 370
The socket 370 is the same size as the socket 7, but with a different voltage and number of pins. The 370 has a zero insertion force socket, which includes a lever opening and closing to secure the processor.
Mechanical load limits on the socket 370 processor interface with the motherboard are critical during heat sink assembly, shipping conditions or standard use. If loads are exceeded, the processor die may crack, making it unusable. Maximums on the die surface are 200 lbf (pound-force) dynamic and 50 lbf static. The maximums on the die edge are 100 lbf dynamic and 12 lbf static. These are quite small compared to the mechanical load limits on the socket 478 processors.
Share this:


text:
A preliminary study on biology of Liriomyza sativae.
Laboratory studies showed that Liriomyza sativae had 13-14 generations each year. In field studies conducted in Wenzhou, Zhejiang, China, larvae overwintered on broad beans [faba beans], and tomatoes and eggplants [aubergines] in sheltered areas. Pupae began diapause in mid-November which lasted for ∼ 110 days. Faba beans, Chinese cabbages, lettuces, aubergines and melons were the main food plants during the summer. The starting temperature for the growth of L. sativae was 7.53°C.

source: m-a-p/FineFineWeb


Nuclear Pools
How does Nuclear Insurance work?
To best address the unique insurance needs of the civil nuclear industry, NRI's model centres on the 'pooling', or grouping, of capacity by many insurers to allow a joint underwriting of risks.
Nuclear pools, established in the mid-1950s, were formed to insure civil nuclear risks within their national market, and to provide interpool reinsurance (reciprocation). Reciprocation is arranged on a 'net' of Treaty or Facultative reinsurance basis given that nuclear is a general exclusion within the insurance market. Net capacity is pooled from insurers and reinsurers who are willing to expose their balance sheet to civil nuclear risks.
Pools were established in the spirit of a bilateral relationship between the newly forming sector, governments and the insurance market.
A pool is a mechanism whereby a number of insurers, through association, jointly underwrite a technically challenging type of risk. Pools are typically formed when a risk is high in severity and low in frequency and other examples include terrorism and natural catastrophe. Pools are further categorised by insufficient capacity being attracted to a class of business (from individual insurance companies), due to risk appetite, technical underwriting challenges and costs of doing business.
A pool in Country A insures a civil nuclear risk domestically and then via reciprocation shares that risk with other nuclear insurance pools B and C etc. within the international pooling system thereby spreading and diversifying the potentially catastrophic risk.
Nuclear Insurance Business Flow
As one of the most internationally diversified pools in the world, NRI writes risks in all nuclear countries, with the exception of countries where sanctions apply.
Nuclear Pools
Many international nuclear pools of insurance have been modelled along similar lines to NRI structure.
Today, over 300 insurance companies in 31 countries pool their net capacity in this way, which is then used to insure domestic civil nuclear risks and to provide interpool reinsurance (reciprocation).
In the absence of nuclear pools, the finite insurance capacity that exists could not be accessed efficiently or at all. Consequently, nuclear pools provide an essential service to civil nuclear operators and are an enabler to the operators' 'social licence' by satisfying their complex insurance needs.


Limiting Class Instances in C# with Private Constructor
Remember how we can create tons of instances of our classes, like making copies of blueprints? Pretty cool, right?
But what if we wanted to limit the number of copies we can make, kinda like having a production cap? Is that even possible?
Absolutely! There is an idea, sirji.
Imagine a counter inside the class, keeping track of how many instances have been created. Whenever someone tries to make a new one, the counter goes up. But if it reaches the limit we set, bam! The gate slams shut, and no more instances can be born.
Okay, we can create a counter inside a class, but how to make this shut to create instances? You know the power of classes with a private constructor. Just think, if a class has a private constructor, how can we create an instance of it? We cannot even inherit it, so it seems useless, right? But nah, still, we can create instances and access them.
If you want to ensure that your class can be instantiated only a limited number of times, such as two times in your case, you can use a combination of a private constructor and a counter variable to track the number of instances created.
Here's an example in C#.
public class LimitedInstancesClass
{
 private static int instanceCount = 0;
 private static readonly int maxInstances = 2;
 // Private constructor
 private LimitedInstancesClass()
 {
 // Increment the instance count
 when an instance is created
 instanceCount++;
 }
 // Public method to create an instance
 public static LimitedInstancesClass CreateInstance()
 {
 // Check if the maximum number of instances has been reached
 if (instanceCount < maxInstances)
 {
 // If not, create a new instance
 return new LimitedInstancesClass();
 }
 else
 {
 // If the maximum number of instances has been reached, return null or throw an exception
 // You can choose the appropriate behavior based on your requirements
 return null;
 // Alternatively, you can throw an exception to
 // indicate that no more instances can be created.
 // throw new InvalidOperationException
 // ("Maximum number of instances reached.");
 }
 }
}
In this example.
 - The constructor is private, so instances can only be created from within the class.
 - The Create Instance method is a public method that checks if the maximum number of instances (maxInstances) has been reached before creating a new instance.
 - The instanceCount variable keeps track of the number of instances created.
You can use this class as follows.
LimitedInstancesClass instance1 = LimitedInstancesClass.CreateInstance();
LimitedInstancesClass instance2 = LimitedInstancesClass.CreateInstance();
LimitedInstancesClass instance3 = LimitedInstancesClass.CreateInstance();
// This will return null or throw an exception after the maximum number of instances is reached
This approach allows you to control the number of instances created and enforce the limitation you specified.
Recommended Free Ebook
Similar Articles


How to Organize Email Inboxes for Lawyers Without Assistants - Technologist
Technologist - The FindLaw Legal Technology Blog
How to Organize Email Inboxes for Lawyers Without Assistants
Assistants and paralegals can make life as a lawyer much easier. And sometimes they can also help make you rich. But for the little things, like organizing your email inbox, assistants can prove invaluable.
Unfortunately, not every firm or solo practitioner can afford one. Sometimes you have to do everything on your own. As a result, organization can occasionally fall to the wayside. And email inboxes are usually the first casualty.
If this sounds like you, try taking the following steps to free yourself from the nightmare of a cluttered inbox.
Step 1: Purge Your Email Inbox
One thing that inboxes in disarray usually all have in common is an obscene amount of unread emails. The first step is to go through and sort the keepers from the ones destined for your recycling bin. It's not a quick job, but it's a necessary one. Set aside a few hours or a weekend (if it's really bad) and go through everything.
Step 2: Ponder and Create Folder Categories
You can't leave all your emails just in your inbox. All email systems, whether free or paid, have folder options. Think about all the areas of law and work that you do and create files that reflect them. It can be a daunting task, but one suggestion is to make it an ongoing project.
You can create a new folder for each new case. You can then add subfolders within each case folder for party information, discovery, responses, case facts, and so forth. Think about what folders would best fit your practice and add them to your inbox.
Step 3: Implement a Priority System
Having tons of folders mean nothing if you can't tell what you should be doing next. Implementing a priority system can solve this problem. Many email clients, like Outlook, allow you to mark emails and set due date alarms.
But if the notion of constant warnings popping up on your screen is too much, try using folders instead. A good rule is to not make more than three of these "priority" folders. Have one for emails that need to be address by the end of the day, one for end of the week, and one for long-term deadlines. And when you're done with an email, delete it or file it.
Step 4: Follow Through
Now that you've cleaned out everything and set up your new filing system, the most important last step is keeping it all together. It's easy to fall back into old habits. Don't start jamming everything into one folder or neglect your filing duties. Yes, you're a lawyer, but you also need to keep your email inbox organized. So set aside at least 10 or 20 minutes at the beginning or end of your day to file.
Related Resources:


text:
Although relationship quality is recognized as a central construct in the relationship marketing literature, relatively little attention has been paid to the issues of: the dimensions of relationship quality, and the directional relationship between relationship quality and related service evaluation outcomes. This study seeks to provide alternative conceptualization of business‐to‐business relationship quality based on the well‐established IMP interaction model and to clarify the relationship between relationship quality and service quality. The findings from an empirical study, support the hypothesis that relationship quality, defined as a higher‐order construct of cooperation, adaptation, and atmosphere, has a positive impact on service quality.
Woo, K. and Ennew, C.T. (2004), "Business‐to‐business relationship quality: An IMP interaction‐based conceptualization and measurement", European Journal of Marketing, Vol. 38 No. 9/10, pp. _PHONE_. _URL_
Emerald Group Publishing Limited
Copyright © 2004, Emerald Group Publishing Limited


text: Multiple independent spanning trees (ISTs) have applications to fault-tolerant and data broadcasting in interconnections. Thus the designs of multiple ISTs in several classes of networks have been widely investigated. There are two versions of the n ISTs conjecture. The vertex (edge) conjecture is that any n-connected (n-edge-connected) graph has n vertex-ISTs (edge-ISTs) rooted at an arbitrary vertex r. Note that the vertex conjecture implies the edge conjecture. Recently, Hsieh and Tu proposed an algorithm to construct n edge-ISTs rooted at vertex 0 for the n-dimensional locally twisted cube (LTQn), which is a variant of the n-dimensional hypercube (Q n). Since LTQn is not vertex-transitive, Hsieh and Tu's result does not solve the edge conjecture for LTQn. In the paper, we confirm the vertex conjecture (and hence also the edge conjecture) for LTQ n by proposing an algorithm to construct n vertex-ISTs rooted at any vertex. We also confirm the vertex (and also the edge) conjecture for Q n. To the best of our knowledge, our algorithm is the first algorithm that can construct n vertex-ISTs rooted at any vertex for both LTQn and Qn.


text:
Effects of soil packing on seed germination and seedling response
Djokoto, Israel Kofi
MetadataShow full item record
The purpose of this study was to determine the methods of post-seeding packing which would be beneficial to wheat seedlings and consequently to suggest the types of packers which could be used to the best advantage on the farm. The experiments were conducted in a humidity controlled chamber with Manitou wheat seeded in clay loam soil. After seeding, the soil samples contained in cylinders were compacted with a flat surface at seed level or above the seed. In some cases loose soil was spread on the soil surface. The control was uncompacted soil sample. In two experiments two layers of soil with different moisture contents were used; wet consolidated soil at the bottom and dry loose soil on top. The depth of seeding was about 6 cm. Kernel moisture absorption, germination emergence and the heights of seedlings were determined. Statistical analyses were carried out on the data. Packing at seed level only, promoted early emergence. This called for an introduction of a packer which would pack the soil at seed level and leave the soil above the seed loose. However packing above the seed was useful when there was enough moisture below while the moisture content of the soil at the seed level was not enough to sustain the seedling up to emergence. In this circumstance, packers on the farm could be usefully employed. Initial moisture absorption rate and germination of the wheat seed was independent of packing for the soil conditions considered.


text:
The gate is one of the first examples of architectural recycling, in fact the two arches were not originally part of the city walls but belonged to an aqueduct that Emperor Claudius had built in 52 CE where Via Labincana and Via Prenestina met. Later, the two arches were incorporated into the city walls and were given the name Porta Prenestina. Only later did it become known as Porta Maggiore as a result of its proximity to the church of Santa Maria Maggiore. Today the square in front of the gate has become a focal point of Roman traffic. Buses and trams stop here and the upper part of the gate is used as a railway bridge for trains on their way to and from Termini.
Attractions & Landmarks
- Credit Cards Accepted: mastercard, visa
- Nearest Train: Piazza Di Porta Maggiore

source: HuggingFaceFW/fineweb-edu


text:
Really, Really Old Chinese Wine
Fancy drinking some really, really old Chinese wine?
Archaeologists say they may have discovered the oldest wine ever uncovered in Chinese history. Scientists recently unearthed six wine vessels dating back to West Zhou Dynasty of 1046 BC – 771 BC. and they say they can hear a liquid sloshing around inside.
So far scientists haven't come up with a safe way to extract the liquid because they say the vessel contains an anti-drinking device that was common to the time it was created. The prohibition device was attached to the wine vessel as a way to encourage drinking in moderation.


text:
Work preferences represent the extent to which an individual derives satisfaction from engaging in different tasks. For example, some people are more satisfied working outdoors, while others are happy to sit at a desk.
Research indicates that job satisfaction is directly influenced by the degree of match between individual vocational preferences and specific job requirements (i.e. job fit).
Hiring people whose work preferences match a job's requirements can significantly:
The Revelian Work Preferences Profile assesses individual work preferences across the following eight areas, encompassing tasks that occur across a broad scope of occupational roles:
People completing the Revelian Work Preferences Profile are asked to indicate their preference for one of two tasks in a series of questions. Analysis across all items is conducted to identify their job preferences.
Each individual's job preferences are compared to a position profile, completed online by a supervisor or the position incumbent, and an overall match classification is calculated. The higher the percentage match, the more likely the individual will 'fit' the requirements of the job and be satisfied at work.


text:
This phenomenon is called Bathochromic Shift – which is the change in the ability of a liquid to absorb light of longer wavelengths(red light) caused by the substitution or changes in the molecules of the liquid.
So something happens to the tea molecules when you add lemon, that changes its ability to absorb red light. (That's my plain English definition).
Why does it happen, let me see if I can keep the explanation simple and interesting.
When tea leaves are picked they are green. Like all leaves, when you pluck them, they start to wilt because they lose water. This is the start of the natural oxidation process. To make our household regular tea, oxidation has to happen at a controlled and specific rate, plus its heated. Oxidation means that water is driven out of the leaf and the chlorophyll (the pigment that make it green) slowly breaks down by the action of the enzymes naturally present in the leaves. Oxidation of the leaves, creates a tannin called Thearubigins – that's what gives the tea its brown colour and slightly bitter taste.
Now when you add lemon juice to your tea, the citric acid in the lemon reacts with the tannin (thearubigins). The acid doesn't allow the tannin to get ionized (ionization= converting a molecule to ions). This changes the nature of the liquid to absorb low frequency light.
I hope I got it right. Enjoy the resulting brownish orange chemical solution.
Heres what Everything.com has to say:
Adding a squeeze of lemon juice to black tea has the effect of clearing the liquid; it transforms it from a dark, nearly-opaque brown to a transparent orangey yellow in a matter of seconds. This is because the hydogen ions produced by the acid in the lemon juice suppress the ionisation of thearubigins (tannins), the polyphenols that otherwise give tea its brown colour, an effect known as the bathochromic shift - it's a fun chemistry demonstration as well as a tasty hot drink!* The reaction makes the thearubigins lose not just their brown colour but also their astringency, so strong black tea can be made drinkable this way - especially with the addition of a little sugar to take the edge off the bitterness. Unlike milky tea, lemon tea made this way remains tasty at any temperature, and many recipes for iced tea call for the addition of lemon. Incidentally, orange juice is also acid enough to remove most of black tea's astringency, as well as sweetening it; it sounds weird, but it's actually pretty good.
Just to remind you of the chem lab days, I used to love titrations


Take the 2-minute tour ×
The following essentially implies the equivalence of Anantharaman-Delaroche's compact approximation property (page 337 of _URL_ and the Haagerup approximation property.
Let $M$ be a type $II_{1}$ factor with trace $\tau$. Let $\Omega$ denote the standard unit cyclic trace vector in $L^{2}(M)$ (associated to the element $1\in M$). If $\phi:M \rightarrow M$ is a normal completely positive map, we naturally associate an operator $T_{\phi}\in B(L^{2}(M))$ extending $T_{\phi}(x\Omega)=\phi(x)\Omega$.
If the map $x\mapsto \phi(x) \Omega$ is a compact linear map from $M$ with the operator norm into $L^{2}(M)$, is the operator $T_{\phi}$ compact?
share|improve this question
1 Answer 1
up vote 4 down vote accepted
(I removed my first answer as it contained an egregious mistake, pointed out by Yemon; here's a second attempt)
I think that $T_\phi$ may fail to be compact.
Fix a sequence of projections $\{p_k\}$ in $M$, pairwise orthogonal, with $\tau(p_k)=2^{-k}$ ($\tau$ the trace in $M$) and sum 1. Now define \[ \phi:M\to M,\ \ \ \mbox{ given by } \phi(x)=\sum_k 2^k\tau(xp_k)p_k. \] (the series converges strongly because all of its terms are positive and any partial sum is bounded by $\|x\|$). This map is ucp (it is an infinite sum of cp), and since it commutes with $\tau$, it is normal. Let us also define the maps \[ \phi_n=\sum_{k=1}^n 2^k\tau(xp_k)p_k. \] The maps $x\mapsto \phi_n(x)\Omega$ are all finite-rank.
If $\|x\|\leq1$, we have, using that the set $\{p_k\}$ is orthogonal in $L^2(M)$, \[ \left\|\phi(x)-\phi_n(x)\right\|_2^2=\left\|\sum_{k>n}2^k\tau(xp_k)p_k\right\|_2^2 =\sum_{k>n}|\tau(xp_k)|^2\leq\sum_{k>n}\tau(p_k)^2\leq\frac1{3\times 4^n} \] This shows that $\|\phi-\phi_n\|<4^{-n}$ in $B(L^2(M))$: so the map $x\mapsto \phi(x)\Omega$ is compact.
Now consider the orthonormal set $\{2^kp_k\}$ in the unit ball of $L^2(M)$. Since $\phi(p_k)=p_k$, we get that $T_\phi(2^kp_k)=2^kp_k$; so the range of $T_\phi$ contains an orthonormal set: $T_\phi$ is not compact.
share|improve this answer
I don't think that the unit ball of L^\infty[0,1] is pre-compact as a subset of L^2[0,1] -- consider the sequence $e_n(t) =\exp(2\pi int)$. (This was pointed out to me, after a talk I gave, when I was momentarily hung up on an example of a non-compact map from $L^\infty[0,1]$ to $L^2[0,1]$. The map is completely continuous and weakly compact, though.) – Yemon Choi Oct 9 '10 at 5:00
Yeah, I could have thought of that example. Thanks, Yemon! – Martin Argerami Oct 9 '10 at 5:20
Excellent! Thank you! – Jon Bannon Oct 10 '10 at 0:32
You are welcome! – Martin Argerami Oct 10 '10 at 4:45
Your Answer


Gunning Family CrestThe Irish surname Gunning is an anglicized form of the Gaelic name Ó Conaing meaning "descendant of Conaing," a personal name, a borrowing of the Anglo-Saxon term cyning meaning "king." The Gunning's were a sept of the Dál gCais tribe, located at Caisleán Ó gConaing (now Castleconnell) in county Limerick on the border of counties Clare and Tipperary and on the banks of the river Shannon. The Annals of Lough Ce list Edmund O'Conaing as the "royal heir of Munster" in 1032." Dermot O'Conaing (died1195), was Bishop of Killaloe. Today the name is most frequently found in counties Down, Tyrone, Galway and Roscommon.
Take Pride
Start a free consultation
How it works?


text:
Nilwande, Maharashtra 422604, India
Nilwande Dam refers to two associated gravity dams built using roller-compacted concrete, the first use in India. They are situated in Ghatghar village in Ahmednagar district Maharashtra, India. Both dams create a lower and upper reservoir for the 250 MW pumped-storage hydroelectric power station.
Location of Nilwande Dam


text:
Electrostatic Precipitator Monitoring System Based on CAN Bus
The hardware and software design are introduced about electrostatic precipitator control system. And this monitoring and control system is based on CAN bus. In this system the basic data acquisition and control functions can be achieved. The work status of precipitator can be collected in real time and fed back to the computer control interface, in order to provide reliable data support for the fault diagnosis of the ESP, so information integration level can be improved and the monitoring system can be optimized. Simple structure, high reliability, communication speed are the characteristics, and it have a wide range of application prospects.
Z. S. Zhang et al., "Electrostatic Precipitator Monitoring System Based on CAN Bus", Advanced Materials Research, Vols. 443-444, pp. 395-400, 2012


text:
Recently, saving the cooling power in servers by controlling the fan speed has attracted considerable attention because of the increasing demand for high-density servers. This paper presents an optimal self-tuning proportional-integral-derivative (PID) controller, combining a PID neural network (PIDNN) with fan-power-based optimization in the transient-state temperature response in the time domain, for a server fan cooling system. Because the thermal model of the cooling system is nonlinear and complex, a server mockup system simulating a 1U rack server was constructed and a fan power model was created using a third-order nonlinear curve fit to determine the cooling power consumption by the fan speed control. PIDNN with a time domain criterion is used to tune all online and optimized PID gains. The proposed controller was validated through experiments of step response when the server operated from the low to high power state. The results show that up to 14% of a server's fan cooling power can be saved if the fan control permits a slight temperature response overshoot in the electronic components, which may provide a time-saving strategy for tuning the PID controller to control the server fan speed during low fan power consumption.
This is an open access article distributed under the Creative Commons Attribution License
which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited


text:
On Monday, the Surface Transportation Policy Partnership (STPP) released a new report on pedestrian safety in 360 metro areas — and they found that the top four most dangerous walking cities are in Florida. The top ten deadliest cities are all in the South.
The New York and San Francisco Bay areas ranked first and second for the absolute number of pedestrian traffic deaths — but both are also high-population, high-density areas that ranked first and second for the number of people who walk to work. More people are killed by cars because more people are out on the streets.
"Not many people walk to work in Florida," says John Classe, an engineer and vice president of the massive PBSJ corporation, which manages construction projects around the world.
"One big reason is that it is hot for a long period of time," he says. "Weather patterns are also difficult in the summer. Plus, there is not much residential within walking distance of employment." These conditions prevail across the South, which probably explains the rankings in the STPP report.
Perhaps as a result, cities in Florida (where I lived for nine years) are not usually designed for walking or biking — and according to eRedux.com, Florida is the fourth most polluting state in the US. Each Florida resident produces 15 tons of carbon dioxide per year, compared to 11 tons in California and New York (which is nothing to brag about, by the way).
When the STPP divided pedestrian deaths per 100,000 people by the number of people walking to work in the metro area, it turned out that you are most likely to be killed on foot in the Orlando, Tampa-St. Pete, Miami, and Jacksonville areas.
Classe lives in Orlando; I met him last week at the Urban Land Institute meeting in San Francisco, introduced by our mutual friend Daniel Delisi, a planning consultant in South Florida. Classe directed the planning, design, and construction of Baldwin Park, just outside of Orlando, which has won numerous awards for its energy efficiency and walkable design. (See photo at left.) The planned community features 15 parks, more than 200 acres of lakes, and more than 50 miles of walking paths.
Classe started off our conversation by describing how Baldwin Park was built along a major corridor for people commuting to downtown Orlando for work. Most neighborhoods in Florida, he and Delisi explained to me, are designed with two ways in and out (as a teenager in Ormond Beach, Florida, I actually lived in a development designed in exactly that way). As a result, residents must often drive long, roundabout distances in order to reach their strip malls and supermarkets. This is why Floridians often object to dense development — they fear the traffic.
Not so at Baldwin Park. The development is relatively dense and walkable, Classe proudly told me, and residents have 32 points of ingress and egress with their cars. This disperses the traffic and also reduces the amount of driving that residents must do — they can get in and out of the neighborhood more quickly.
But when I asked Classe about light rail (thinking that a neighborhood where everyone commutes downtown would need it), his eyebrows rose as though I had posed an odd question. "There was an effort to establish light rail in the Orlando area several years ago," he said, "but it was killed."
A week later, I described Baldwin Park's design to a transportation engineer for the city of San Francisco–and she also looked at me strangely. "How does that help reduce the carbon footprint?" she asked. "That's crazy. It's better than nothing, but I wouldn't call it 'sustainable.'"
Those two reactions reveal the disparities in perspective between places like San Francisco and cities like Orlando.
"Maybe I have my head in the ground, maybe I spend too much time on the two coasts, but it does feel to me like this country is beginning to reshape or modulate its consumerism, and that is the first step toward sharing," Zipcar founder Robin Chase told me in our Shareable Q&A. I share Chase's hopes, but conversations with folks like Classe and Delisi remind us that word of the sharing revolution hasn't yet reached places like North Central Florida. They judge their efforts toward sustainability by a different standard than does a transportation engineer in San Francisco.
Delisi and I met as students working on environmental issues in Boston. He's taken those values with him as a planner to Florida, hoping to make a difference, but over the years he's had to content himself with small victories. "Success for me in South Florida is building a strip mall that people can walk to," he told me. But why should those people walk, the STPP report suggests, if they are so likely to be hit by cars?
Florida doesn't necessarily lack money for pedestrian and bike safety; it lacks the political and cultural will. It's not alone among the states.
Since 1992, the Transportation Enhancements (TE) program has set aside 10 percent of each state's federal aid for green transport. But the authors of the STPP report (fittingly titled "Dangerous by Design") found that most states have spent only 80 percent of the nearly $9.4 billion made available through the TE program, and only 35 percent of the Safe Routes to Schools program since 2005.
What's the solution?
Developments like Baldwin Park may not be perfect, but they suggest that Florida can take steps in a more sustainable direction. State and federal policy changes would help: The report recommends requiring that federal safety money be spent in an amount proportional to the risk facing pedestrians and that we adopt a national "complete streets" policy that would require cities and counties to accommodate all road users. But in the end, that's not enough.
"There still is a long way to go to repair the damage done to communities in the past, even as we begin to shift policies and design philosophy to build streets that are safer for pedestrians and motorists alike," says the STPP.
However, there are a growing number of excellent models to build on and thousands of communities eager to move forward. The forthcoming rewrite of the nation's transportation policy presents a once-in-a-generation opportunity to create safer streets that will be critical to keeping our neighborhoods livable, our population more fit and our nation less dependent on foreign oil.


text:
The format of a panorama is defined in broad terms by the projection used to map the full or partial 3D scene onto a 2 dimensional print or screen. There are several types of projections in use:
Full Spherical Formats
There are two main spherical formats: Equirectangular and Cubic. Both are able to display the whole sphere that surrounds as - 360� along the horizon, 90� up and 90� down. Specialized viewers are needed to view spherical panoramas.
|The equirectangular format is widely used by a couple of Panorama Viewers as for example PTViewer and SPi-V. It consists of a single image with an aspect ratio of 2:1 (that is, the width must be exactly twice the hight).|
The cubic format uses 6 cube faces to fill the whole sphere around us. The image is remapped to the cubefaces which fit seamlessly.
One very wide spread cubic format is QuickTime VR. It consists of one file containing the 6 faces as JPEG compressed images together with a header giving basic information how the panorama should be displayed.
There is a number of possibilities to display partial panoramas - these are panoramas that don't fill the whole sphere in one or the other way. Partial panoramas can be displayed directly if they don't cover more than approximately 120� along the shorter side (that is they can be 360� in one direction but must be 120� or less in the other direction). The main formats are Cylindrical and Rectilinear, but partial spherical panoramas are possible, too.
Cylindrical panoramas can show a full circle along the horizon or a part of it. They are very popular for landscape panoramas. If used for architectural subjects it might bother that horizontal lines (except the horizon itself) are bend.
Rectilinear panoramas display the subject just like an ordinary (non-fisheye) lens would do. The horizontal and vertical field of view are limited to about 120�. Straight lines stay straight, hence they are good for architectural subjects. But if either field of view is too large they suffer from unnatural looking distortions in the corners.
To partial spherical panoramas applies basically the same as to full sphericals (see above). In most cases they are used to cut off Zenith or Nadir. Vertical field of view has to be limited in this case to prevent the viewer from misinterpreting the source images.


Category:
What is the Difference Between a Flathead and Phillips Screwdriver?
Article Details
 - Written By: Michael Pollick
 - Edited By: Niki Foster
 - Last Modified Date: 23 March 2018
 - Copyright Protected:
 2003-2018
 Conjecture Corporation
 - Print this Article
Free Widgets for your Site/Blog
To understand puns, both hemispheres of the brain must work together because of the unusual nature of the humor. more...
April 23 , : William Shakespeare was born and died. (1564, 1616) more...
At first glance, the main difference between a flathead screwdriver, or more properly called a slotted or flat blade screwdriver, and a Phillips screwdriver should be patently obvious. A flathead has a single blade, and a Phillips has two blades in the shape of a cross. Attempts to use a flathead tool on a screw designed for a Phillips usually won't be successful, and a Phillips screwdriver could never be used on a slotted screw. Both are considered "driver" tools, which means they are used to force bolts or screws through various types of material.
There are differences beyond the blade shapes, however. The flathead has been in use far longer than the Phillips. When screws began to replace hammer-driven nails in the manufacturing process, the single slot screwhead was almost universal. A flathead screwdriver became an indispensable tool for woodworkers and other commercial artists. This version is still considered the default model to this day, even with its inherent problems.
The Phillips screwdriver, by comparison, is still a rather new tool option. Invented by Henry Phillips, a tool company owner working in the 1930s, the screwdriver and accompanying screws were intended to provide a safer alternative to the traditional flathead. Henry Phillips wanted a screwdriver that would prevent a damaging process called overtorquing.
Ad
Traditional screwdrivers at the time often allowed the user to put too much twisting force, or torque, on the slotted screws. By designing a cross-shaped blade and corresponding cross-shaped screws with a slight depression, Phillips could apply more torque than with a flathead. This mechanical advantage allows users to use their twisting strength more efficiently. The depressions in the screws, however, forced the blades of the Phillips to slip out before any damaging overtorquing could occur.
One flaw in the flathead design is the relative strength of the blade, or bit. When a flathead bit is attached to a powered driver, the added force can cause a weaker blade to snap off. In addition, the slotted screw may become stripped if too much torque is applied. This is why the use of the flathead screwdriver is generally limited to woodworking and other light-to-medium industrial applications. Only the strongest flathead driving bits are used for high-torque manufacturing processes.
By comparison, a Phillips screwdriver is very well-suited for industrial processes. Once the Phillips bit is seated securely in the Phillips head screw, the operator can apply much more torque for fastening. Since the screw will force out the bit at the first sign of overtorquing, there is less risk of damage to the product or the bit.
Some modern screws accept both flathead and Phillips screwdrivers, although some experts suggest using a Phillips for tightening and a flathead for loosening the screw. One advantage a flathead has over a Phillips, however, is universality. In case of emergency, a number of other flat metal objects, such as coins, butter knives or keys, can be used to tighten or loosen a screw. It is much more difficult to duplicate the fit of a Phillips head.
Ad
You might also Like
Recommended
Discuss this Article
LisaLou
Post 11
In my kitchen junk drawer I keep one screwdriver. This has several different kinds of screwdriver bits stored inside the handle. This way you only have one screwdriver to keep track of, but yet have the correct bit to use for the job you need to get done. All you have to do is unscrew the bit that is on there and choose the one you need. Being able to store the additional bits in the handle is nice because you always know where they are.
myharley
Post 10
@honeybees -- That is really not a bad idea what your husband did. Especially if you are setting up housekeeping, you will probably need both a flathead and Phillips screwdriver. That would be one less thing they would have to go out and buy.
I think a hammer and a screwdriver set is a must for just about anyone. My dad always liked to give flashlights for a Christmas present. This wasn't a very exciting gift, but he encouraged us to keep it in our car because you never know when you might need one.
honeybees
Post 9
My husband loves his tools, and always says that the proper tool makes the job a whole lot easier. When our kids would move out on their own, he would give each of them a screwdriver set. I think the boys appreciated this more than our daughter did, but nevertheless, it was his way of helping them prepare for life on their own.
sunshined
Post 8
It seems like no matter how many screwdrivers I have around, I never have the right one handy when I need it. If I need to use a flathead screwdriver, all I can find is a Phillips, or it is the other way around. It would probably help if I was more organized with my tools, but both of them are essential to have.
I must admit, I have often tried to use things like coins or a knife to tighten something without using a screwdriver. While it may get the job done, I don't think it ever gets it as tight as it would have been if I had used the proper screwdriver.
anon291029
Post 7
There a lot of different types of torque screwdrivers. So it's better to know the difference about them. The star screwdriver is what we commonly use at home. A flat screwdriver is also know as a turnscrew.
anon262901
Post 6
Stop calling it a "flat head" screw driver instead of validating ignorant terms. If you refuse to call it a "flat head" and call it what it is, a slotted screwdriver, maybe it will get beaten into their brains what it is called!
anon231154
Post 5
The Philips self centers the torque through the center axis of the screw, while the flathead (slotted) does not self center the torque through the center axis of the screw. Much more inefficient.
anon159595
Post 4
@FireBird - I think because there's more surface area between the screw driver and the screw there is more mechanical advantage with the Phillips Screw. I don't think the distance between the axis or hand gives any advantage.
Another thing, when it comes to advantages is that theoretically it takes half the time to align a Phillips Screw as opposed to a slotted screw (because the Philips Screw is tapered and has 2 perpendicular slots so you don't really have to aim to make the screw driver lock in to the screw). This might not seem like a big deal but if you have 10,000 screws to put into an assembly line that makes some huge time savings.
anon45580
Post 3
What you are calling a flathead screw is instead a slotted screw. A flathead screw is one made to go into a countersunk hole so that the top of the screw is flush, that is, flat, to the surface.
Moderator's reply: Thanks for your comments! You're absolutely right that "flathead screwdriver" is a bit of a misnomer. They are also called slotted screwdrivers but these terms tend to refer to the shape on the screw rather than the screwdriver itself. Their most appropriate name is probably "flat blade screwdriver." Still, since many people refer to this kind of screwdriver as a "flathead" versus a "Phillips" and since we aim to answer common questions, we took that route. Thanks again for your additional information!
FireBird
Post 1
How does the Phillips allow for more mechanical advantage if the distance between the axis and the screwthread, and that between the axis and the hand are the same as with flatheads?
Post your comments
Post Anonymously
Login
username
password
forgot password?
Register
username
password
confirm
email


text:
Canadian researchers at the University of Montreal have revealed that active mothers will beget smarter kids. The researchers say that animal studies already prove this, but they have now undertaken a project to prove this is true in humans as well.
"Our hypothesis is that mothers who exercise during pregnancy will have newborns with more mature cognitive functions, particularly long-term memory," said researcher Elise Labonte-Lemoyne, who is coordinating the study with neuropsychologist Dave Ellemberg.
The study will involve 60 newly pregnant women aged between 20 and 35 years. The women will be divided into two groups - one group will remain inactive during pregnancy, while the other will be asked to undertake 20 minutes of physical activity three times per week.
The cerebral activity of newborns will be measured 10 days after birth by placing a small sensor on their heads. "The procedure is painless and lasts no more than 15 minutes. We can even do it as the babies sleep," Ellemberg said.


kent place names - s
St Margarets at Cliffe was mentioned in the Domesday Book in the Latin form of Sancta Margarita. The implication is of a church dedicated to St Margaret at a place previously called simply Cliffe, which is the same word as English cliff and goes back to the Old English clif.
St Marys Hoo is an Old English hoh or spur of land, and this is how it appears in its earliest form, as Hoge right back in 687. By 1272 it had become Ho St. Mary, having acquired an affix from the dedication of its church.
St Peters takes its name from the dedication of its eleventh-century church, and was first recorded in 1254 as Borgha sancti Petri, the Borough of St Peter.
Sandwich is an Old English name, Sandwicæ, which literally meant a sandy harbour or sandy trading centre.
Sevenoaks.No surprises with Sevenoaks, which indicates seven oak-trees. It is interesting, though, that unlike many place-names its spelling has changed with the language to make continually clear its meaning. The Old English roots, seofon and ac, are more apparent in the first recorded mention of the town, in about 1100, as Seouenaca.
Shorne is literally a steep place, from the Old English scoren, taking its name from what is now called Shorne Hill. Its was first mentioned in about 1100 as Scorene.
Smarden. From an etymological point of view, one would expect to go to Smarden for the butter, since that is what its name indicates. The Old English smeoru means butter, and the -den is the Old English denn or woodland pasture. It was first recorded in about 1100 as Smeredaenne.
Smeeth is etymologically the same word as smithy and derives from the Old English smiththe. It was recorded as early as 1018 as Smitha.


as they can easily cut through it without cracking the material.
 - Titanium Drill Bits – These drill bits are made of titanium and offer superior cutting performance when drilling Lexan.
 - High-Speed Steel Drill Bits – These drill bits are made of high-speed steel and provide an excellent cutting performance when drilling Lexan.
It is important to note that these types of drill bits should only be used in a drill press, as they are not suitable for hand drills. Moreover, the drill should be set to the correct speed to ensure a clean cut and prevent cracking the material.
Are there any safety precautions to take when working with Lexan?
Yes. Taking safety precautions when working with Lexan is important to ensure you do not damage the material or injure yourself. Here are some safety tips to keep in mind:
 - Wear protective gear, such as safety glasses, gloves, and a dust mask.
 - Work in a well-ventilated area.
 - Ensure the area is clean and free of any debris or objects that could become a hazard.
 - Mark the area you are going to cut or drill to prevent mistakes.
 - Secure the Lexan to a stable surface before cutting or drilling.
 - Use sharp blades and drills to ensure a clean cut or hole.
 - Check the blades and drills regularly and replace them when they become dull.
 - Use clamps to secure the Lexan while cutting or drilling.
 - Start slowly and increase the speed gradually.
 - Do not allow the drill or saw to overheat.
Conclusion
Cutting and drilling Lexan requires patience, precision and the right tools. Following the steps outlined in this guide, you should be able to successfully cut and drill Lexan without compromising its structural integrity. Remember to use a cutting fluid to reduce friction and heat buildup and to be sure to wear the appropriate safety gear. With the right tools and techniques, you can get the job done safely and effectively.
References

About John Gibbs
Hello everyone! My name is John Gibbs. I am 60 years old and have been in the family construction business all my adult life. Construction is not only my profession but also my passion. I know everything about building and repair materials, tools, advanced methods, techniques, and approaches. I will share the same knowledge with you in my articles.
Leave a Comment
Solve : *
28 ⁄ 14 =


text:
The solution for stabilizing and improving bleach plant performance
Control stabilization with BrainWave
ANDRITZ BrainWave is a patented advanced controller that outperforms traditional Proportional-Integral-Derivative (PID) control because of its two main components: an adaptive model and a predictive controller. BrainWave builds its own live models during normal plant operations, a powerful feature not offered by traditional Model Predictive Control (MPC) systems.
BrainWave's predictive controller accurately forecasts process responses and accounts for multiple objectives. It adapts to process conditions, such as changes in production rate, keeping the process on target. BrainWave can also accept measured disturbance inputs, like raw materials properties, and takes corrective action before the process is pushed off target (PID, by comparison, must wait for the error to occur and then react).
BrainWave easily integrates with existing control systems and its patented Laguerre technology means an average implementation time of just a few weeks. Best of all, the plant's own staff can support and deploy BrainWave.
Control stabilization for bleach plants
BrainWave stabilizes process variables such as brightness and pH by accurately controlling them in each stage of the bleach plants. BrainWave automatically manages changes in grade, production, and pulp quality, greatly reducing the chance of error or excessive chemical use.
BrainWave uses a percentage applied ratio scheme for chemical addition. The percentage applied scheme includes stock flow and stock consistency measurements to ensure that the correct amount of chemical is added to achieve the desired pH and product brightness as stock flow and consistency changes occur. Stock consistency can be determined from an online measurement or can be estimated by the plant based on mass balance. The actual pH or stock brightness is used to adjust the percentage applied factors to correct for changes in pulp properties and reaction efficiency.
When the product brightness variability is reduced at each stage, the target brightness can be lowered to remove any previous over-bleaching to ensure that minimum brightness targets are met. Optimal brightness targets can then be determined by making small shifts in the target brightness at each stage to determine the overall bleach profile that will minimize the total bleach used in the plant.


Thursday, March 16, 2017
CCP Its Time - Structure Changes for the Overview
I really really like a lot of things about the new structures (i.e. Citadels and Engineering Complexes).
Look at the image above. Prior to Citadels, there were two dockable celestials on my overview. Upwell structures appear on the overview if you have permission to dock at them OR you are on the same space grid with them. But in both cases they look on the same on the overview so you can get into the situation where two structures are on the overview and one you can dock at and one you can't and you need to look at the name and know which is which or you need to warp to each one and see what happens.
On top of that, even if every structure on the overview are ones you have access to, there is no easy way to distinguish at a glace or with a tab preset any of them of the same size in any manner except reading the names. For example, look again at the image above and find the Astrahus owned by my corporation Aideron Robotics. While its easy to distinguish the Azbel and Fortizar from the Raitaru and Astrahuses, one needs to scan every one of the former and know the name to find the Kirith's Grand Emproium Astrahus. And to complicate matters every structure automatically gets the system name pre-pended so you can't even scan the column's first letter/word easily. There has to be a better way.
I have several proposals.
1. Apply corporate standings tags to structures just like we do to pilots in the overview. This would quickly distinguish corporate structures from alliance structure from friendly structures from neutral and hostile ones. Yes, this does not mean you have access to docking at that structure but it would simply looking at a glance on the overview. And besides, someone blue on the overview doesn't mean that they won't shoot you either.
2. Indicate accessibility in a new column. Either a new overlay icon on the regular icon (like a tiny green check mark) or a new column (with check mark). This would be an optional column and could be placed anywhere is the column order.
3. Grey out structures not accessible when on grid with them. Yes, you can see them and everything, but some sort of indication that they are not accessible would simplify life immensely.
4. Provide option to see ALL structures in overview. Right now you jump into a system there is a second you see all structures before the ones you don't have access too and are not on grid get greyed out and removed from overview. It would be nice for scouting purposes (and home defense) to be able to bring them up.
CCP its time - make the overview great again!
1 comment:
 1. Let me get in with the default response question that comes to mind: was the overview ever great in the first place?
 But good suggestions. So presumably with the patch after the next one some of these suggestiosn will be implemented by a dev with 5 minutes of spare time.
AddThis button


During these uncertain times, how can we help?
Read More
Big Brothers Big Sisters Mercer County
Cause Area
 - Children & Youth
535 East Franklin StreetTrenton, NJ 08610 United States
Organization Information
Mission Statement
Volunteers (Bigs) cultivate relationships that provide children with skills to manage every day challenges. Through simple friendship, Bigs experience the joy of helping children discover a world of possibilities and opportunities.
Bigs provide Littles with one-to-one time and attention in their communities, typically four hours or more per month. During these unstructured outings, Bigs provide opportunities for Littles to enjoy the companionship of a caring adult outside of the home and school in various community, sporting, cultural, and educational activities.
This is just like a "Traditional Community-Based Match" except a child is matched with a couple.
School-based mentoring is a way for busy individuals to volunteer and for companies to give back to the community. In the school-based program, companies typically allow their employees to volunteer one hour of their work week during the academic school year, by providing Littles with one-to-one time and attention in their school.
Would you recommend Big Brothers Big Sisters Mercer County?
1 review Write a review
by De'Avion S. from Trenton, NJ (August 23, 2014)
I would recommend this organization to a friend or colleague because it seem as if it would be a gray organization to learn from and also set examples to younger peers.
Report this organization


text:
Develop hands up fast hands and excellent passing accuracy.
- Teaches hands up when passing and catching to develop fast ball movement across your body.
- The adjustable webbing and padded wrist straps restrict hands from dropping down when catching and passing.
- Dropping hands very low after catching the ball slows ball movement and reduces passing accuracy.
- Suits all levels but particularly good for juniors to develop good habits.
- Fully adjustable to suit all ages and sizes.
FREE Online Video
FREE eDrill Cards


text:
Much has been written about the challenges churches faced in maintaining corporate worship during the pandemic, but little has been reported on the changes brought about in religious education.
Yet a new national study from Hartford Institute for Religion Research shows key elements of church-based religious education suffered greatly and have not rebounded to pre-pandemic levels.
While these challenges affected all age levels, the greatest changes appear to have been in programming for preschoolers, children and youth. As one indicator, vacation Bible school took a severe hit and even this year will not return to its pre-pandemic levels.
Prior to the pandemic, 36% of churches offered VBS or some similar form of church day camps during the summer. In 2020, the first year of the pandemic, only 17% of congregations offered VBS. That number rebounded back to 36% in summer 2021, but this year, only 31% of churches say they plan to offer VBS in 2022.
Across the board, however, churches responded with creativity to the limitations on in-person gatherings created by COVID-19.
"Religious education leaders showed considerable originality using online tools, strengthening at-home DIY efforts, hosting intergenerational activities with COVID precautions, and creating novel approaches like Pizza Church or Dungeons and Dragons clubs," said principal investigator Scott Thumma.
The new study, Exploring the Pandemic Impact on Congregations: Innovation Amidst and Beyond Covid-19 study is a collaborative, five-year research project funded by Lilly Endowment and led by the Hartford Institute for Religion Research at Hartford International University for Religion and Peace.
While most U.S. churches shut down all in-person religious education and worship events during the first months of the pandemic, worship came back online much sooner than religious education, the study found. One reason is that worship services are more easily offered in an online or hybrid format than children's Sunday school, for example.
"Our earlier studies from summer and winter 2021 provided an indication that although worship was being held in person in at least 90% of churches, religious education was still far from normal," the researchers noted. "It is precisely these types of religious educational programs and activities for children and youth that dramatically shape the next generations of church participants, suggesting that these pandemic challenges and adaptations will have much longer-term consequences for religious communities."
In short, the researchers said: "It is clear that religious educational programming has been slow to adapt and recover from the pandemic. Our initial survey of the study conducted in summer 2021 showed that the participation of children and youth had decreased for 60% of churches and adult involvement in religious education dropped in 51% of congregations. As the most recent March 2022 survey shows, while 46% of congregations surveyed agreed that their education programming had continued without major disruption, half had faced major disruption."
But as with nearly every other pandemic-related trend, these challenges were not felt equally by all congregations: "Smaller churches, those in the mainline tradition, and churches that did not quickly return to a modified in-person education program suffered more during the past two years. It is also clear that virtual religious education did not work well for younger children and youth, though it has benefited adult education efforts. Based on open-ended comments, religious education is being reconceptualized for a significant group of churches, discontinued for a smaller percentage, and is back to 'business as usual' for the remaining congregations."
The net effect, two years later, is that the number of congregations reporting a "strong emphasis" on children's religious education has dropped from 57% before the pandemic to 43%.
Notably, nationwide involvement in children's programming at U.S. churches has dropped 30%, while involvement in youth education has declined 40%.
Among multiple factors, a key driver is less availability of volunteers to teach or lead these classes.
"Overall volunteering has been significantly down since the pandemic, from roughly 40% of the membership in early 2020 to 20% in March 2022."
"Throughout the pandemic, many congregations have struggled to cultivate consistent and reliable volunteers for ministry programming," the report explains. "Overall volunteering has been significantly down since the pandemic, from roughly 40% of the membership in early 2020 to 20% in March 2022.
"Given this pattern and the fact that lay volunteers make up the bulk of children's and youth education programming, it is not surprising that 57% of churches agreed they had volunteer challenges in the education program during the past two years."
Again, the situation has been more severe in smaller churches than in larger churches, which have a larger pool of potential volunteers.
Adult religious education has proved more flexible and has endured the storm better, researchers found.
"In our pre-pandemic 2020 survey, all but 4% of congregations reported offering religious education for adults and 60% of faith communities gave this activity 'a lot of emphasis.' Based on our most recent survey, churches were better equipped to carry this support of adult education into a COVID situation than the aforementioned programming for younger audiences. Fewer churches put their adult education programs on pause compared to their children's programs, with roughly two-thirds of congregations moving classes online or to a hybrid context.
"By the summer of 2021, adult religious education participation had declined for about half (51%) of the churches surveyed, but only 18% stopped outright. Sixteen percent of programs even saw an increase in participation. In our November 2021 survey, adult programs looked relatively the same as they had six months before, with 17% growing and 50% having decreased.
"Our March 2022 survey showed that adult education participation as a whole had the smallest losses compared to pre-pandemic levels, and many churches' adult programs remained even (23%) or grew (25%) since 2019."
Most comprehensive study yet of COVID's impact on churches finds uneven results
In a world of haves and have-nots, America's churches should capitalize on their strengths, religion researcher says
Another major study confirms: Most American congregations are small, but most churchgoers attend large congregations


#MonthOfJulia Day 24: Graphs
Julia
If you're not too familiar Graph Theory, then it might be an idea to take a moment to get the basics. Graphs are an extremely versatile data structure for storing data consisting of linked entities. I'm going to look at two packages for managing graphs in Julia: LightGraphs and Graphs.
LightGraphs
As usual, the first step is to load the package.
julia> using LightGraphs
LightGraphs has methods which generate a selection of standard graphs like StarGraph(), WheelGraph() and FruchtGraph(). There are also functions for random graphs, for example, erdos_renyi() and watts_strogatz(). We'll start off by creating two small graphs. One will have 10 nodes connected by 20 random edges. The other will be a directed star graph consisting of four nodes, the central node being connected to every other node.
julia> g1 = Graph(10, 20)
{10, 20} undirected graph
julia> g2 = StarDiGraph(4)
{4, 3} directed graph
julia> edges(g2)
Set{Pair{Int64,Int64}}({edge 1 - 2,edge 1 - 4,edge 1 - 3})
It's simple to find the degree and neighbours of a given node.
julia> degree(g1, 4) # How many neighbours for vertex 4?
6
julia> neighbors(g1, 4) # Find neighbours of vertex 4
6-element Array{Int64,1}:
 1
 3
 6
 2
 9
 7
There's a straightforward means to add and remove edges from the graph.
julia> add_edge!(g1, 4, 8) # Add edge between vertices 4 and 8
edge 4 - 8
julia> rem_edge!(g1, 4, 6) # Remove edge between vertices 4 and 6
edge 6 - 4
The package has functionality for performing high level tests on the graph (checking, for instance, whether it is cyclic or connected). There's also support for path based algorithms, but we'll dig into those when we look at the Graphs package.
Graphs
Before we get started with the Graphs package you might want to restart your Julia session to purge all of that LightGraphs goodness. Take a moment to browse the Graphs.jl documentation, which is very comprehensive.
julia> using Graphs
As with LightGraphs, there are numerous options for generating standard graphs.
julia> g1a = simple\_frucht\_graph()
Undirected Graph (20 vertices, 18 edges)
julia> g1b = simple\_star\_graph(8)
Directed Graph (8 vertices, 7 edges)
julia> g1c = simple\_wheel\_graph(8)
Directed Graph (8 vertices, 14 edges)
Graphs uses the GraphViz library to generate plots.
julia> plot(g1a)
Of course, a graph can also be constructed manually.
julia> g2 = simple_graph(4)
Directed Graph (4 vertices, 0 edges)
julia> add_edge!(g2, 1, 2)
edge [1]: 1 - 2
julia> add_edge!(g2, 1, 3)
edge [2]: 1 - 3
julia> add_edge!(g2, 2, 3)
edge [3]: 2 - 3
Individual vertices (a vertex is the same as a node) can be interrogated. Since we are considering a directed graph we look separately at the edges exiting and entering a node.
julia> num_vertices(g2)
4
julia> vertices(g2)
1:4
julia> out_degree(1, g2)
2
julia> out_edges(1, g2)
2-element Array{Edge{Int64},1}:
 edge [1]: 1 - 2
 edge [2]: 1 - 3
julia> in_degree(2, g2)
1
julia> in_edges(2, g2)
1-element Array{Edge{Int64},1}:
 edge [1]: 1 - 2
Vertices can be created with labels and attributes.
julia> V1 = ExVertex(1, "V1");
julia> V1.attributes["size"] = 5.0
5.0
julia> V2 = ExVertex(2, "V2");
julia> V2.attributes["size"] = 3.0
3.0
julia> V3 = ExVertex(3, "V3")
vertex [3] "V3"
Those vertices can then be used to define edges, which in turn can have labels and attributes.
julia> E1 = ExEdge(1, V1, V2)
edge [1]: vertex [1] "V1" - vertex [2] "V2"
julia> E1.attributes["distance"] = 50
50
julia> E1.attributes["color"] = "green"
"green"
Finally the collection of vertices and edges can be gathered into a graph.
julia> g3 = edgelist([V1, V2], [E1], is_directed = true)
Directed Graph (2 vertices, 1 edges)
It's possible to systematically visit all connected vertices in a graph, applying an operation at every vertex. traverse_graph() performs the graph traversal using either a depth first or breadth first algorithm. In the sample code below the operation applied at each vertex is LogGraphVisitor(), which is a simple logger.
julia> traverse_graph(g1c, DepthFirst(), 1, LogGraphVisitor(STDOUT))
discover vertex: 1
examine neighbor: 1 -> 2 (vertexcolor = 0, edgecolor= 0)
discover vertex: 2
open vertex: 2
examine neighbor: 2 -> 3 (vertexcolor = 0, edgecolor= 0)
discover vertex: 3
open vertex: 3
examine neighbor: 3 -> 4 (vertexcolor = 0, edgecolor= 0)
discover vertex: 4
open vertex: 4
examine neighbor: 4 -> 5 (vertexcolor = 0, edgecolor= 0)
discover vertex: 5
open vertex: 5
examine neighbor: 5 -> 6 (vertexcolor = 0, edgecolor= 0)
discover vertex: 6
open vertex: 6
examine neighbor: 6 -> 7 (vertexcolor = 0, edgecolor= 0)
discover vertex: 7
open vertex: 7
examine neighbor: 7 -> 8 (vertexcolor = 0, edgecolor= 0)
discover vertex: 8
open vertex: 8
examine neighbor: 8 -> 2 (vertexcolor = 1, edgecolor= 0)
close vertex: 8
close vertex: 7
close vertex: 6
close vertex: 5
close vertex: 4
close vertex: 3
close vertex: 2
examine neighbor: 1 -> 3 (vertexcolor = 2, edgecolor= 0)
examine neighbor: 1 -> 4 (vertexcolor = 2, edgecolor= 0)
examine neighbor: 1 -> 5 (vertexcolor = 2, edgecolor= 0)
examine neighbor: 1 -> 6 (vertexcolor = 2, edgecolor= 0)
examine neighbor: 1 -> 7 (vertexcolor = 2, edgecolor= 0)
examine neighbor: 1 -> 8 (vertexcolor = 2, edgecolor= 0)
close vertex: 1
We can use Dijkstra's Algorithm to calculate the distance from a given vertex to all other vertices in the graph. We see, for instance, that the distance from vertex 1 to vertex 4 is three steps. Since vertex 1 and vertex 20 are not connected, the distance between them is infinite. There are a couple of other algorithms available for calculating shortest paths.
julia> distances = ones(num_edges(g1a)); # Assign distance of 1 to each edge.
julia> d = dijkstra\_shortest\_paths(g1a, distances, 1);
julia> d.dists # Vector of distances to all other vertices.
20-element Array{Float64,1}:
 0.0
 1.0
 2.0
 3.0
 3.0
 2.0
 1.0
 1.0
 3.0
 4.0
 2.0
 2.0
 Inf
 Inf
 Inf
 Inf
 Inf
 Inf
 Inf
 Inf
As with the most of the packages that I have looked at already, the functionality summarised above is just a small subset of what's available. Have a look at the home pages for these packages and check out the full code for today (which looks at a number of other features) on github. Some time in the future I plan on looking at the EvolvingGraphs which caters for graphs where the structure changes with time.
Categorically Variable


text:
This chapter provides general information about writing trigger functions. Trigger functions can be written in most of the available procedural languages, including PL/pgSQL (Chapter 36), PL/Tcl (Chapter 37), PL/Perl (Chapter 38), and PL/Python (Chapter 39). After reading this chapter, you should consult the chapter for your favorite procedural language to find out the language-specific details of writing a trigger in it.
It is also possible to write a trigger function in C, although most people find it easier to use one of the procedural languages. It is not currently possible to write a trigger function in the plain SQL function language.
A trigger is a specification that the database should automatically execute a particular function whenever a certain type of operation is performed. Triggers can be defined to execute either before or after any INSERT, UPDATE, or DELETE operation, either once per modified row, or once per SQL statement. If a trigger event occurs, the trigger's function is called at the appropriate time to handle the event.
The trigger function must be defined before the trigger itself can be created. The trigger function must be declared as a function taking no arguments and returning type trigger. (The trigger function receives its input through a specially-passed TriggerData structure, not in the form of ordinary function arguments.)
Once a suitable trigger function has been created, the trigger is established with CREATE TRIGGER. The same trigger function can be used for multiple triggers.
PostgreSQL offers both per-row triggers and per-statement triggers. With a per-row trigger, the trigger function is invoked once for each row that is affected by the statement that fired the trigger. In contrast, a per-statement trigger is invoked only once when an appropriate statement is executed, regardless of the number of rows affected by that statement. In particular, a statement that affects zero rows will still result in the execution of any applicable per-statement triggers. These two types of triggers are sometimes called row-level triggers and statement-level triggers, respectively.
Triggers are also classified as before triggers and after triggers. Statement-level before triggers naturally fire before the statement starts to do anything, while statement-level after triggers fire at the very end of the statement. Row-level before triggers fire immediately before a particular row is operated on, while row-level after triggers fire at the end of the statement (but before any statement-level after triggers).
Trigger functions invoked by per-statement triggers should always return NULL. Trigger functions invoked by per-row triggers can return a table row (a value of type HeapTuple) to the calling executor, if they choose. A row-level trigger fired before an operation has the following choices:
It can return NULL to skip the operation for the current row. This instructs the executor to not perform the row-level operation that invoked the trigger (the insertion or modification of a particular table row).
For row-level INSERT and UPDATE triggers only, the returned row becomes the row that will be inserted or will replace the row being updated. This allows the trigger function to modify the row being inserted or updated.
A row-level before trigger that does not intend to cause either of these behaviors must be careful to return as its result the same row that was passed in (that is, the NEW row for INSERT and UPDATE triggers, the OLD row for DELETE triggers).
The return value is ignored for row-level triggers fired after an operation, and so they may as well return NULL.
If more than one trigger is defined for the same event on the same relation, the triggers will be fired in alphabetical order by trigger name. In the case of before triggers, the possibly-modified row returned by each trigger becomes the input to the next trigger. If any before trigger returns NULL, the operation is abandoned for that row and subsequent triggers are not fired.
Typically, row before triggers are used for checking or modifying the data that will be inserted or updated. For example, a before trigger might be used to insert the current time into a timestamp column, or to check that two elements of the row are consistent. Row after triggers are most sensibly used to propagate the updates to other tables, or make consistency checks against other tables. The reason for this division of labor is that an after trigger can be certain it is seeing the final value of the row, while a before trigger cannot; there might be other before triggers firing after it. If you have no specific reason to make a trigger before or after, the before case is more efficient, since the information about the operation doesn't have to be saved until end of statement.
If a trigger function executes SQL commands then these commands may fire triggers again. This is known as cascading triggers. There is no direct limitation on the number of cascade levels. It is possible for cascades to cause a recursive invocation of the same trigger; for example, an INSERT trigger might execute a command that inserts an additional row into the same table, causing the INSERT trigger to be fired again. It is the trigger programmer's responsibility to avoid infinite recursion in such scenarios.
When a trigger is being defined, arguments can be specified for it. The purpose of including arguments in the trigger definition is to allow different triggers with similar requirements to call the same function. As an example, there could be a generalized trigger function that takes as its arguments two column names and puts the current user in one and the current time stamp in the other. Properly written, this trigger function would be independent of the specific table it is triggering on. So the same function could be used for INSERT events on any table with suitable columns, to automatically track creation of records in a transaction table for example. It could also be used to track last-update events if defined as an UPDATE trigger.
Each programming language that supports triggers has its own method for making the trigger input data available to the trigger function. This input data includes the type of trigger event (e.g., INSERT or UPDATE) as well as any arguments that were listed in CREATE TRIGGER. For a row-level trigger, the input data also includes the NEW row for INSERT and UPDATE triggers, and/or the OLD row for UPDATE and DELETE triggers. Statement-level triggers do not currently have any way to examine the individual row(s) modified by the statement.
We have table child inherited from table parent.
One could think when inserting|updating into child.col1 that the trigger on parent insert|update will trigger.
That is not the case.
if you want such a behaviour you have to have the trigger on both tables.
"It is also possible to write a trigger function in C, although most people find it easier to use one of the procedural languages."
However, the only immediate example is a trigger based on a C function. Suggest that we add a simple example OR move the example under 36.10 to this chapter. Alternatively, adding a page that links to various examples would be pretty effective.
Consider this example, using PG/psql: You want to monitor price changes, so you create a table to record the barcode, the new price and when it changed:
CREATE TABLE price_change (
apn CHARACTER(15) NOT NULL,
effective TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
UNIQUE (apn, effective)
Next you write a trigger function to insert records as required:
CREATE OR REPLACE FUNCTION insert_price_change() RETURNS trigger AS '
IF tg_op = ''DELETE'' THEN
INSERT INTO price_change(apn, effective, price)
VALUES (old.barcode, CURRENT_TIMESTAMP, NULL);
IF tg_op = ''INSERT'' THEN
changed := TRUE;
changed := new.price IS NULL!= old.price IS NULL OR new.price!= old.price;
IF changed THEN
INSERT INTO price_change(apn, effective, price)
VALUES (new.barcode, CURRENT_TIMESTAMP, new.price);
' LANGUAGE plpgsql;
Finally you create a trigger on the table or tables you wish to monitor:
CREATE TRIGGER insert_price_change AFTER INSERT OR DELETE OR UPDATE ON stock
FOR EACH ROW EXECUTE PROCEDURE insert_price_change();
Row-level before triggers fire immediately before a particular row is operated on, while row-level after triggers fire at the end of the statement (after all rows have been operated on but before any statement-level after triggers).


to ensure that their application is rendering at the 'native' size for the device. To do this the developer can query the scale factor that should be passed during layer creation with the XRWebGLLayer.getNativeFramebufferScaleFactor() function. (Note that in some cases the native scale may actually be less than the recommended scale of 1.0 if the system is configured to render "superscaled" by default.)
function setupNativeScaleWebGLLayer() {
 return gl.makeXRCompatible().then(() => {
 // Create a WebGL layer that matches the device's native resolution.
 let nativeScaleFactor = XRWebGLLayer.getNativeFramebufferScaleFactor(xrSession);
 let glLayer = new XRWebGLLayer(xrSession, gl, { framebufferScaleFactor: nativeScaleFactor });
 xrSession.updateRenderState({ baseLayer: glLayer });
This technique should be used carefully, since the native resolution on some headsets may be higher than the system is capable of rendering at a stable framerate without use of additional techniques such as foveated rendering. Also note that the UA's scale clamping is allowed to prevent the allocation of native resolution framebuffers if it deems it necessary to maintain acceptable performance.
Framebuffer scaling is typically configured once per session, but can be changed during a session by creating a new XRWebGLLayer and updating the render state to apply that on the next frame:
function rescaleWebGLLayer(scale) {
 let glLayer = new XRWebGLLayer(xrSession, gl, { framebufferScaleFactor: scale });
 xrSession.updateRenderState({ baseLayer: glLayer });
Rescaling the framebuffer may involve reallocating render buffers and should only be done rarely, for example when transitioning from a game mode to a text-heavy menu mode or similar. See Dynamic viewport scaling for an alternative if your application needs more frequent adjustments.
Dynamic viewport scaling
Dynamic viewport scaling allows applications to only use a subset of the available framebuffer. This is intended for fine-grained performance tuning where the desired render resolution changes frequently, and can be adjusted on a frame-by-frame basis. A typical use case would be rendering scenes with highly variable complexity, for example where the user may move their viewpoint to closely examine a model with a complex shader. (If an application wanted to keep this constant for a session, it should use framebufferScaleFactor instead, see Controlling rendering quality.)
This is an opt-in feature for applications, it is activated by calling requestViewportScale(scale) on an XRView, followed by a call to getViewport() which applies the change and returns the updated viewport:
for (let view of pose.views) {
 let viewport = glLayer.getViewport(view);
 gl.viewport(viewport.x, viewport.y, viewport.width, viewport.height);
NOTE: Dynamic viewport scaling is a recent addition to WebXR, and implementations may not provide the API yet. For compatibility, consider adding a if (view.requestViewportScale) check to ensure that the API exists.
The feature may not be available on all systems since it depends on driver support. If it is unsupported, the system will ignore the requested scale and continue using the full-sized viewport. If necessary, the application can compare the sizes returned by getViewport() across animation frames to confirm if the feature is active, for example if it would want to use an alternate performance tuning method such as reducing scene complexity as a fallback.
For consistency, the getViewport() result for any given view is always fixed for the duration of an animation frame. If requestViewportScale() is used before the first getViewport() call, the change applies immediately for the current animation frame. Otherwise, the change is deferred until getViewport() is called again in a future animation frame.
User agents can optionally provide a recommendedViewportScale attribute on an XRView with a suggested value based on internal performance heuristics. This attribute is null if the user agent doesn't provide a recommendation. A requestViewportScale(null) call has no effect, so applications could use the following code to apply the heuristic only if it exists:
Alternatively, applications could modify the recommended scale, i.e. clamping it to a minimum scale to avoid text becoming unreadable, or use their own heuristic based on data such as current visible scene complexity and recent framerate average.
Controlling depth precision
The projection matrices given by the XRViews take into account not only the field of view of presentation medium but also the depth range for the scene, defined as a near and far plane. WebGL fragments rendered closer than the near plane or further than the far plane are discarded. By default the near plane is 0.1 meters away from the user's viewpoint and the far plane is 1000 meters away.
Some scenes may benefit from changing that range to better fit the scene's content. For example, if all of the visible content in a scene is expected to remain within 100 meters of the user's viewpoint, and all content is expected to appear at least 1 meter away, reducing the range of the near and far plane to [1, 100] will lead to more accurate depth precision. This reduces the occurrence of z fighting (or aliasing), an artifact which manifests as a flickery, shifting pattern when closely overlapping surfaces are rendered. Conversely, if the visible scene extends for long distances you'd want to set the far plane far enough away to cover the entire visible range to prevent clipping, with the tradeoff being that further draw distances increase the occurrence of z fighting artifacts. The best practice is to always set the near and far planes to as tight of a range as your content will allow.
To adjust the near and far plane distance, depthNear and depthFar values can be given in meters when calling updateRenderState().
// This reduces the depth range of the scene to [1, 100] meters.
// The change will take effect on the next XRSession requestAnimationFrame callback.
 depthNear: 1.0,
 depthFar: 100.0,
Preventing the compositor from using the depth buffer
By default the depth attachment of an XRWebGLLayer's framebuffer, if present, may be used to assist the XR compositor. For example, the scene's depth values may be used by advanced reprojection techniques or to help avoid depth conflicts when rendering platform/UA interfaces. This assumes, of course, that the values in the depth buffer are representative of the scene content.
Some applications may violate that assumption, such as when using certain deferred rendering techniques or rendering stereo video. In those cases if the depth buffer's values are used by the compositor it may result in objectionable artifacts. To avoid this, the compositor can be instructed to ignore the depth values of an XRWebGLLayer by setting the ignoreDepthValues option to true at layer creation time:
let webglLayer = new XRWebGLLayer(xrSession, gl, { ignoreDepthValues: true });
If ignoreDepthValues is not set to true the The UA is allowed (but not required) to use depth buffer as it sees fit. As a result, barring compositor access to the depth buffer in this way may lead to certain platform or UA features being unavailable or less robust. To detect if the depth buffer is being used by the compositor, check the ignoreDepthValues attribute of the XRWebGLLayer after the layer is created. A value of true indicates that the depth buffer will not be utilized by the compositor even if ignoreDepthValues was set to false during layer creation.
Changing the Field of View for inline sessions
Whenever possible the matrices given by XRView's projectionMatrix attribute should make use of physical properties, such as the headset optics or camera lens, to determine the field of view to use. Most inline content, however, won't have any physically based values from which to infer a field of view. In order to provide a unified render pipeline for inline content an arbitrary field of view must be selected.
By default a vertical field of view of 0.5π radians (90 degrees) is used for inline sessions. The horizontal field of view can be computed from the vertical field of view based on the width/height ratio of the XRWebGLLayer's associated canvas.
If a different default field of view is desired, it can be specified by passing a new inlineVerticalFieldOfView value, in radians, to the updateRenderState method:
// This changes the default vertical field of view for an inline session to
// 0.4 pi radians (72 degrees).
 inlineVerticalFieldOfView: 0.4 * Math.PI,
The UA is allowed to clamp the value, and if a physically-based field of view is available it must always be used in favor of the default value.
Attempting to set a inlineVerticalFieldOfView value on an immersive session will cause updateRenderState() to throw an InvalidStateError. XRRenderState.inlineVerticalFieldOfView must return null on immersive sessions.
Appendix A: I don't understand why this is a new API. Why can't we use…
DeviceOrientation Events
The data provided by an XRViewerPose instance is similar to the data provided by the non-standard DeviceOrientationEvent, with some key differences:
It should be noted that DeviceOrientation events have not been standardized, have behavioral differences between browser, and there are ongoing efforts to change or remove the API. This makes it difficult for developers to rely on for a use case where accurate tracking is necessary to prevent user discomfort.
The DeviceOrientation events specification is superceded by Orientation Sensor specification that defines the RelativeOrientationSensor and AbsoluteOrientationSensor interfaces. This next generation API is purpose-built for WebXR Device API polyfill. It represents orientation data in WebGL-compatible formats (quaternion, rotation matrix), satisfies stricter latency requirements, and addresses known interoperability issues that plagued DeviceOrientation events by explicitly defining which low-level motion sensors are


text:
MOPTT Building in La Serena design by Teodoro Fernández Arquitectos
Architects: Teodoro Fernández Arquitectos / Teodoro Fernández Larrañaga, Sebastián Hernández Silva, Milva Pesce Traverso
Location: Calle Cirujano Videla, La Serena, Chile
Client: Ministerio de Obras Públicas
Project Area: 10,000 sqm
Photographs: Rodrigo Opazo
The new regional headquarters of the Ministry of Public Works in La Serena city arises as a proposal that places institutional architecture at the service of the city and the region, creating public spaces that help to give urban shape to one of the city edges, connecting it to its geographical environment.
The new MOP building shares the spirit of the "Plan Serena", which gave form to a new city image constructing its specific urban design in relation to its geography of terraces through parks and significant buildings, both strategically located.
The aim was the construction of a building that allows the optimization of institutional activities through a project that integrates both the functional and the spatial requirements in an ecological and technologically sustainable building. The new MOP building sets the city border through the articulation between work and public spaces, providing a significant urban element in the development of its integration to the foundational urban trace and the local geography.
The building resolves the drop in the ground level between the first city terrace and the river, while managing its own relation to the distant landscape and allowing the possibility of new constructions in the site.
This gateway is at the same time a window towards the faraway landscape and the river. It also gives the city a terrace that –as a bulwark, overlooks the landscape. From this porch the entire building can be accessed. In addition –and independently, the auditorium (that was planned to support different activities not necessarily related to the Ministry) is accessed through the porch, preventing interference with the internal work of the Ministry.
Towards the drop in the ground level between the city and the river, the building breaks into blocks that form open patios between themselves. These patios bring the river landscape into the building, recreating the old city patios. The two central blocks are crowned by terraces that reach the street level.
The eastern block contains the Auditorium, the multipurpose hall and the dining hall in the second floor. The latter is connected to a terrace which is open to the landscape. The Auditorium occupies two floors, so that it is possible to access it both from the exterior –by the upper floor, and from the interior hall in the lower floor.
Source: Teodoro Fernández Arquitectos/ Rodrigo Opazo milimetdesign – Where the convergence of unique creatives