text:
Photo: Samuele Giglio / Unsplash
Subalusky co-authors study on hippo poop creating 'community guts' in African ponds
Posted by Cora Preston on Thursday, January 6 2022
Amanda Subalusky
Conservation Science & Biology, International
Editor's note: this article originally appeared in the University of Florida College of Liberal Arts and Sciences News.
Hippopotamuses can eat nearly 100 pounds of food daily — and, as a result, they fill the pools where they spend much of their lives with huge amounts of poop.
All that excrement, new research has found, turns the pools into extensions of the hippos' guts, as bacteria and other microbes expelled into the water survive and are shared among the congregating animals. This "meta-gut," as the researchers termed it, could have major impacts on the hippos' ecosystems.
The findings, led by University of Florida (UF) biology postdoctoral associate Christopher Dutton, were recently published in Nature's Scientific Reports. The research team also included UF Assistant Professor of Biology and Switzer Fellow Amanda Subalusky, as well as collaborators from Yale University and the Cary Institute for Ecosystem Studies.
Dutton and his collaborators conducted fieldwork on the Mara River in East Africa, home to over 4,000 hippos. When they aren't eating on land, hippos spend much of their lives submerged in waterways, gathering in pools to wallow — and defecate. "In some of the hippo pools, there's so much feces floating on the surface that you can't tell there's water beneath it," Dutton said.
Through a series of field observations, experiments in natural and controlled settings, and the use of RNA sequencing methods, the researchers sought to find out how microbes from the guts of animals could influence their immediate ecosystems. All animals carry microbiomes specific to their individual guts. Inside the body, the microbes perform important functions such as aiding digestion — but what happens when animals poop them out into a shared environment?
"In the last 20 years there has been a greater appreciation for the role that animal feces and urine can play in altering nutrient cycling and biogeochemistry within ecosystems," Dutton said. "We tried to go one step further — we wanted to understand the contexts in which gut-derived microbes were able to function in the external environment and what this might do to the environment."
They found that, based on the functioning microbial population within, the bottom of a hippo pool more closely resembles the hippo gut than a normal river. The researchers coined the term "meta-gut" to describe the changes to the hippos' environment once their gut microbiomes are transferred to it. The phenomenon may benefit the hippos sharing their microbes with each other, making the water, Dutton said, "almost like a probiotic shake." But the way it alters the water's makeup may also affect other animals like fish.
"I think it's a really novel perspective," Subalusky said. "I don't think people thought that animals could have this strong of an influence on the shaping of microbial communities."
The meta-gut could have broader implications for the hippos' ecosystems. In the pools of water with high accumulations of hippo feces, referred to as "high subsidy" pools, the researchers found a "screamingly high" concentration of methane gas, Dutton said. "The amount of methane coming off the pool would be declared an explosive hazard in the United States," he said.
Looking ahead, their research, funded by the National Science Foundation, will explore food web effects in an experimental stream facility on UF's campus. "These gut microbes from the hippo may go through the food web and throughout the different fish and invertebrate communities sharing the river, which has important implications for our understanding of how ecosystem function may change with the extirpation of larger wildlife," Dutton said. The scientists look forward to continuing to explore the "meta-gut" phenomenon in other species to gain a better understanding of the full array of ways that animals can influence ecosystems.
Science Magazine: Pooping hippos create 'community guts' in African ponds
Article in Scientific Reports: The meta-gut: community coalescence of animal gut and environmental microbiomes
Amanda Subalusky: From mass death, life
When thousands of animals die during mass migrations, ecosystems accommodate the corpses and new cycles are set in motion. Fellow Amanda Subalusky and her colleagues have been studying the mass drownings of wildebeest in Kenya and their impact on the Mara River.Read more >
Subalusky in National Geographic article on how scientists use disguise to research animals
Amanda Subalusky, who studies water quality, wanted to know if hippo poop kills fish when Kenya's Mara River floods. Getting good water samples is risky, however, because of the danger from charging hippos. Read on National Geographic how her team solved the problemRead more >
Conservation biology seeks to document and protect Earth's...
Robinson (Wally) Fulweiler presented Coastal Ocean 's bold vision for conducting ocean science in a talk at TEDx Boston . The coastal ocean is essential to the well-being and long-term sustainability of humanity, yet our scientific knowledge on coastal ecosystems falls short. Coastal Ocean is...Read more >


We now offer at a cost of $3.00, a handy pump that fits on the top of either the pint or quart sized bottle of concentrate. Simply leave it on top of your bottle and pump the concentrate in a glass each day to get a measured amount of concentrate. Each stroke of the pump is roughly 1/4 ounce but the accuracy varies. You may want to pump into a shot glass or measured glass to get an accurate volume. Our customers love these pumps. Each pump should last for 3-4 bottles of concentrate.
These pumps fit the quart size perfectly and make it so easy to add a measured amount of Tart Cherry to our shakes. I have another one in a Raspberry jug to drizzle this flavor sensation over a slice of cheesecake or other treats.


We've finally found an advent calendar that won't destroy your pre-summer work out plan!
The Christmas Pageant has been and gone, which means one thing - Santa has arrived!
The ultimate Christmas party for your furry friend is coming to Inglewood.
It's time to get planning, Adelaide! We've got your guide to all things Christmas!
If you think it's too early to listen to Christmas songs, you would be incorrect.


text:
using System;
using Avalonia.Animation;
using Avalonia.Data;
using Avalonia.Metadata;
using Avalonia.PropertyStore;

namespace Avalonia.Styling
{
    /// <summary>
    /// A setter for a <see cref="Style"/>.
    /// </summary>
    /// <remarks>
    /// A <see cref="Setter"/> is used to set a <see cref="AvaloniaProperty"/> value on a
    /// <see cref="AvaloniaObject"/> depending on a condition.
    /// </remarks>
    public class Setter : ISetter, IValueEntry, ISetterInstance, IAnimationSetter
    {
        private object? _value;
        private DirectPropertySetterInstance? _direct;

        /// <summary>
        /// Initializes a new instance of the <see cref="Setter"/> class.
        /// </summary>
        public Setter()
        {
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="Setter"/> class.
        /// </summary>
        /// <param name="property">The property to set.</param>
        /// <param name="value">The property value.</param>
        public Setter(AvaloniaProperty property, object? value)
        {
            Property = property;
            Value = value;
        }

        /// <summary>
        /// Gets or sets the property to set.
        /// </summary>
        public AvaloniaProperty? Property { get; set; }

        /// <summary>
        /// Gets or sets the property value.
        /// </summary>
        [Content]
        [AssignBinding]
        [DependsOn(nameof(Property))]
        public object? Value
        {
            get => _value;
            set
            {
                (value as ISetterValue)?.Initialize(this);
                _value = value;
            }
        }

        bool IValueEntry.HasValue => true;
        AvaloniaProperty IValueEntry.Property => EnsureProperty();

        public override string ToString() => $"Setter: {Property} = {Value}";

        void IValueEntry.Unsubscribe() { }

        ISetterInstance ISetter.Instance(IStyleInstance instance, IStyleable target)
        {
            if (target is not AvaloniaObject ao)
                throw new InvalidOperationException("Don't know how to instance a style on this type.");
            if (Property is null)
                throw new InvalidOperationException("Setter.Property must be set.");
            if (Property.IsDirect && instance.HasActivator)
                throw new InvalidOperationException(
                    $"Cannot set direct property '{Property}' in '{instance.Source}' because the style has an activator.");

            if (Value is IBinding binding)
                return SetBinding((StyleInstance)instance, ao, binding);
            else if (Value is ITemplate template && !typeof(ITemplate).IsAssignableFrom(Property.PropertyType))
                return new PropertySetterTemplateInstance(Property, template);
            else if (!Property.IsValidValue(Value))
                throw new InvalidCastException($"Setter value '{Value}' is not a valid value for property '{Property}'.");
            else if (Property.IsDirect)
                return SetDirectValue(target);
            else
                return this;
        }

        object? IValueEntry.GetValue() => Value;

        private AvaloniaProperty EnsureProperty()
        {
            return Property ?? throw new InvalidOperationException("Setter.Property must be set.");
        }

        private ISetterInstance SetBinding(StyleInstance instance, AvaloniaObject target, IBinding binding)
        {
            if (!Property!.IsDirect)
            {
                var i = binding.Initiate(target, Property)!;
                var mode = i.Mode;

                if (mode == BindingMode.Default)
                {
                    mode = Property!.GetMetadata(target.GetType()).DefaultBindingMode;
                }

                if (mode == BindingMode.OneWay || mode == BindingMode.TwoWay)
                {
                    return new PropertySetterBindingInstance(target, instance, Property, mode, i.Observable!);
                }

                throw new NotSupportedException();
            }
            else
            {
                target.Bind(Property, binding);
                return new DirectPropertySetterBindingInstance();
            }
        }

        private ISetterInstance SetDirectValue(IStyleable target)
        {
            target.SetValue(Property!, Value);
            return _direct ??= new DirectPropertySetterInstance();
        }
    }
}

redpajama_set_name: RedPajamaGithub


text:
Comparing Renewable Energy Costs
Post Date: Aug 11, 2021
Author: Ruchir Punjabi
When we think about investing in energy assets, the primary consideration is what is the customer willing to pay for generation of their power and what is the cost to generate it? Historically, it was not just about the cost of power, but also about creating an energy mix including one that was responsible for a cleaner environment. But now, it boils down to which energy source can reliably power our growing energy needs in a sustainable and affordable manner.
When considering renewable energy, we primarily consider solar photovoltaic (PV), concentrated solar power, onshore wind, offshore wind, biomass, hydropower and geothermal energy.
While the availability of the sources is often infinite (sunlight and wind), the cost is mainly attached to the equipment/plant setup.
As of 2019, according to the US Department of Energy and IRENA, below is the Levelized Cost of Energy (LCOE). The LCOE represents the total cost to build and operate a new power plant over its life divided to equal annual payments and amortised over expected annual electricity generation.
Your initial reaction may be that wind onshore and geothermal are relatively cheaper so we should focus on them more than solar PV or hydropower. Without looking at their viability and sustainability, let's consider the practicality of these costs.
Geothermal energy primarily relates to the internal heat of the Earth. There are multiple types of geothermal power plants which draw hot water and steam from the ground to spin turbines, which then generate mechanical electricity. The primary challenge with geothermal energy is the that construction of a plant is roughly $2,500 per installed Kilowatt. In comparison with solar PV where the comparable cost is roughly $600 per installed, the upfront cost is often a large barrier to entry.
With onshore wind, the main issue is the inconsistency of generation and the inability of various grids to accept or evacuate the fluctuating power. Onshore wind used to be the most popular non-hydro renewable energy source for investors. However, over a period of time we've found that due to the ineffective transfer of electricity in a lot of electricity grids, the return on investment (ROI) is often inconsistent.
Hydro power is primarily based on dams and availability of river water. While dams have been an effective investment and the LCOE is quite low, the availability of this power has started to become seasonal. This is primarily due to climate change and over consumption of river water. If river or natural water availability is not a problem and there aren't multiple dams on the same river source, hydro power continues to be the cheapest source of electricity.
This brings us to solar PV. Cost of solar panels have been reducing more than 10% YoY for the last decade. In fact, the cost of solar PV modules is now 99% cheaper over the last four decades. Solar PV has now reached a stage where in some instances of utility scale, it is cheaper to produce than fossil-based energy sources. Solar's challenge is that it is sunlight dependent and hence only available during a mostly sunny day. If and when batteries become affordable, we imagine solar PV to become a more dependable source for power, very fast.
At this stage, this analysis is to help you understand why we focus on solar PV. Long term we remain open to opportunities depending on which renewable energy source provides the best case for scaling and IRR.
Your loan enables solar deployment that would otherwise not happen
We select projects through our qualified local partners. Our team regularly evaluates these funding opportunities technically and financially.
Renewables.org is brought to you by Renewables PBC, a Delaware public benefit corporation. A PBC is a corporation created to generate social and public good, and to operate in a responsible and sustainable manner. Renewables PBC has a mission to accelerate clean energy in emerging markets by unlocking retail investor participation. Renewables PBC is a subsidiary of Distributed Energy Pte Limited, a Singapore private limited company, which is a solar energy aggregator operating in India, Africa, and the Middle East.renewables.org gives access to renewable energy alternative investments which offer returns while aligned with your values.
Renewables Emerging Markets LLC is offering a promissory note and has filed with the SEC for a Regulation D exemption under the Securities Act of 1933. The PPM for this offering is available on request at info(at)renewables.org. Renewables PBC is a match making platform that is making available the offering from Renewables Emerging Markets LLC.
The information contained on our website has been prepared without reference to any particular user's investment requirements or financial situation. Potential investors are strongly encouraged to consult with professional tax, legal, and financial advisors before making any investment in Renewables PBC, which operates and invests in the renewable energy projects described on our website. All investments involve risk, including the risk of the loss of all of your invested capital. Please consider carefully the investment objectives, risks, transaction costs, and other expenses related to an investment in Renewables PBC prior to deciding to invest. Diversification and asset allocation do not ensure profit or guarantee against loss. Investment decisions should be based on an individual's own goals, time horizon, and tolerance for risk.
This website contains certain forward-looking statements that are subject to various risks and uncertainties. Forward-looking statements are generally identifiable by use of forward-looking terminology such as "may," "will," "earn," "potential," "intend," "expect," or other similar words or expressions. Forward-looking statements are based on certain assumptions, discuss future expectations, describe future plans, and strategies, or state other forward-looking information. Our ability to predict future events, actions, plans, or strategies is inherently uncertain and actual outcomes could differ materially from those set forth or anticipated in our forward-looking statements. You are cautioned not to place undue reliance on any of these forward-looking statements.
Past returns are not indicative of future returns and are not intended to be a proxy for historical or projected future performance of any specific project. Also, our materials may present comparisons between the historical price performance of a segment of the renewable energy market and other investment asset classes, such as stocks, bonds, real estate, and others. There are important differences between renewable energy and other asset classes, and thus you should not make any investment decisions due to reliance on such comparisons.
Testimonials herein are non-representative of all investors. Certain investors may have different opinions and feedback than that indicated. All testimonials included do not constitute financial advice in any way whatsoever and none of the testimonial content should be relied upon for any investment activities.
By using this website, you accept the Renewables PBC's Terms of Use and Privacy Policy.

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: How to put the popup above the gridline and text? Before popup:
https://i.imgur.com/qNrsTej.png
After popup:
https://i.imgur.com/EWrAY3E.png
The popup div is inside date 3.
You can see that the popup covers the grid before it but not those comes after it. Does anyone know how to fix this?
I have tried setting the z-index but it seems not to be the case.
Here's the html and the CSS of my page.

    {{weekday.shorthand}}

        {{calendarDay.getDate()}}

...

...

.calendar {
    display: grid;
    width: 100%;
    grid-auto-columns: minmax(120px, 1fr);
    grid-template-rows: 50px;
    grid-auto-rows: 120px;
    overflow: auto;
}
.calendar-container {
    width: 90%;
    margin: auto;
    overflow: hidden;
    font-family: Montserrat, "sans-serif";
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    background: #fff;
    max-width: 1200px;
}
.day {
    border-bottom: 1px solid rgba(166, 168, 179, 0.12);
    border-right: 1px solid rgba(166, 168, 179, 0.12);
    text-align: right;
    padding: 14px 20px;
    letter-spacing: 1px;
    font-size: 12px;
    box-sizing: border-box;
    color: #98a0a6;
    position: relative;
    z-index: 1;
}
 .light {
     background-color: #fff;
 }

 .popup_calendar {
     text-align: left;
     width: 500px;
     height: 500pxcss;
     box-shadow: 0px 0px 35px -16px rgba(0, 0, 0, 0.75);
     font-family: 'Roboto', sans-serif;
     padding: 20px;
     color: #363b41;
     background-color: #FFFFFF;
     display: inline-block;
     z-index: 200;
     overflow: visible;
     margin-top: -100px;
     margin-left: -100px;
 }

A: remove z-index for .day, add position:relative; for .popup_calendar
.popup_calendar {
     text-align: left;
     width: 500px;
     height: 500pxcss;
     box-shadow: 0px 0px 35px -16px rgba(0, 0, 0, 0.75);
     font-family: 'Roboto', sans-serif;
     padding: 20px;
     color: #363b41;
     background-color: #FFFFFF;
     display: inline-block;
     z-index: 200;
     overflow: visible;
     margin-top: -100px;
     margin-left: -100px;
   position:relative;
 }

.day {
    border-bottom: 1px solid rgba(166, 168, 179, 0.12);
    border-right: 1px solid rgba(166, 168, 179, 0.12);
    text-align: right;
    padding: 14px 20px;
    letter-spacing: 1px;
    font-size: 12px;
    box-sizing: border-box;
    color: #98a0a6;
    position: relative;
    /*z-index: 1;*//*Remove this*/
}

https://codepen.io/anon/pen/wZNjVe

redpajama_set_name: RedPajamaStackExchange


text:
Daniel Carroll ist der Name folgender Personen:

* Daniel Carroll (Politiker) (1730–1796), US-amerikanischer Politiker, Unterzeichner der Unabhängigkeitserklärung
 Daniel Patrick Carroll (1927–2009), irischer Unterhaltungs- und Travestiekünstler,

Siehe auch:
 Dan Carroll

redpajama_set_name: RedPajamaWikipedia


text:
Q: Troubleshooting Compute Engine OpenVPN internet access on Google Cloud Platform I have Ubuntu 18.04 running on a Compute Engine on the Google Cloud Platform. I setup a VPN on 1194/UDP using Nyr's awesome script (I also tried on 443/TCP). The VPN connects however I am unable to access the internet when connected.
greg@vpn:~$ sudo iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
SNAT       all  --  10.8.0.0/24         !10.8.0.0/24          to:104.154.-.- #removed

traceroute on the VPN
greg@vpn:~$ traceroute 1.1.1.1
traceroute to 1.1.1.1 (1.1.1.1), 30 hops max, 60 byte packets
 1  209.85.241.122 (209.85.241.122)  10.729 ms 216.239.63.174 (216.239.63.174)  9.965 ms 209.85.241.122 (209.85.241.122)  10.771 ms
 2  108.170.243.187 (108.170.243.187)  10.086 ms 108.170.243.196 (108.170.243.196)  10.330 ms  10.285 ms
 3  141.101.73.2 (141.101.73.2)  10.867 ms  10.860 ms  11.104 ms
 4  one.one.one.one (1.1.1.1)  10.753 ms  9.886 ms  9.930 ms

local traceroute when connected to VPN
 greg ~ $traceroute 1.1.1.1
traceroute to 1.1.1.1 (1.1.1.1), 64 hops max, 52 byte packets
 1  * * *
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
...

There is an issue on Nyr's repo which suggests it's a networking config problem. My question is, how do I trouble shoot this? And can this be a firewall / GCP config problem if the VPN server has access to the Internet?
/etc/openvpn/server.conf
port 1194
proto udp
dev tun
sndbuf 0
rcvbuf 0
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-auth ta.key 0
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 1.1.1.1"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify crl.pem

I've ensured the iptables are correct
greg@vpn:~$ iptables -t nat -A POSTROUTING -s 10.8.0.0/16 -o ens4 -j SNAT --to 104.154.x.x

Here is my ip route show
greg@vpn:~$ ip route show
default via 10.128.0.1 dev ens4 proto dhcp metric 100
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.1
10.128.0.1 dev ens4 proto dhcp scope link metric 100

Subnets
greg@vpn:~$ netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         _gateway        0.0.0.0         UG        0 0          0 ens4
10.8.0.0        0.0.0.0         255.255.255.0   U         0 0          0 tun0
_gateway        0.0.0.0         255.255.255.255 UH        0 0          0 ens4

I've also enabled net.ipv4.tcp_syncookies=1 in /etc/sysctl.conf

My traceroute from local when connected to VPN
greg ~ $sudo mtr 1.1.1.1
                                                 My traceroute  [vUNKNOWN]
Gregs-MacBook-Pro.local (10.8.0.2)                                                                2019-03-14T13:57:40-0400
Keys:  Help   Display mode   Restart statistics   Order of fields   quit
                                                                                Packets               Pings
 Host                                                                           Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 10.8.0.1                                                                     0.0%    24   35.3  36.5  34.3  48.2   3.8
 2. ???

My traceroute directly from VPN server
greg@vpn:~$ mtr 1.1.1.1
                                                     My traceroute  [v0.92]
vpn (10.128.0.28)                                                                                2019-03-14T18:11:28+0000
Keys:  Help   Display mode   Restart statistics   Order of fields   quit
                                  Packets               Pings
Host                                                                            Loss%   Snt   Last   Avg  Best  Wrst StDev
1. 216.239.40.188                                                                0.0%   177   10.1  11.3  10.0  33.7   3.8
2. 108.170.243.196                                                               0.0%   177   10.5  10.6  10.4  13.9   0.5
3. 141.101.73.2                                                                  0.0%   177   10.8  14.2  10.7  52.4   7.1
4. one.one.one.one                                                               0.0%   176   11.1  11.1  10.9  12.6   0.2

A: Have you enabled IP Forwarding ?
You can do it either on the instance details page in GCP or directly in
sysctl.conf : net.ipv4.ip_forward=1
Also I used this great tutorial once to setup OpenVPN on Ubuntu 16 and it worked flawlessly, I'm sure it will be of great help.
For the internet access troubleshooting, it would be good to post your GCP routing table and firewall rules

A: I would suggest trying followings:
1) Using TCP protocol instead of UDP; this can be done by changing 'proto udp' to 'proto tcp' in both client and server conf files.
port 443
proto tcp
;proto udp
2) Using tap device instead of the tun, by changing 'dev tun' to 'dev tap' in both client and server conf files. A TAP device is a virtual ethernet adapter, while a TUN device is a virtual point-to-point IP link. You would have to use one or the other cannot be mixed.


If you wish to acquire Branden Pouf ByLangley Street , search for top quality hardwood joinery. If your piece is glued together or if fingernails or toenails and anchoring screws are used to keep the piece of furniture with each other, it does not final very long. It is best to spend more money to obtain a Branden Pouf ByLangley Street with a few superb hardwood joinery focus on it. Definitely consider the legs associated with a Branden Pouf ByLangley Street you are looking for getting. All those hip and legs require to not only assistance weight, they'll additionally be in touch with your flooring. If they appear like they'll do problems for your floor due to supplies employed (like metallic), then you might want to opt for a various type. When buying Branden Pouf ByLangley Street for your living area, select fairly neutral hues. You may change the colors as well as other furnishings of your space by shifting highlights, painting and also other issues. As a result, it is simple to modify up the appearance of your family room without having to spend lots of money.
This Magnussen furnishings evaluate seems on the tables this glorious firm has crafted. Magnussen residence Branden Pouf ByLangley Street was founded through the Great Melancholy by Ingwer Magnussen in 1931 in Kitchener Ontario. He turned in nice demand by Canadian upholstered Branden Pouf ByLangley Street producers for his expertise in carving beautiful uncovered framework, such as the backs, legs and arms of the furnishings. It ought to come as no surprise, subsequently, to find that the company's important products are crafted from solid wooden, with superbly carved and turned lags and pedestals. You probably have a want on your residence furnishings to include any such work, then Magnussen Dwelling Furniture offers stunning occasional pieces such as coffee and cocktail tables, end and sofa tables and also collections of gorgeous bed room furnishings. Here are some of the wonderful items of occasional tables included within the Magnussen vary: Magnussen Aidan Cocktail and Occasional Tables The craftsmanship involved in creating Magnussen cocktail and occasional tables is exemplified by the House Living Room Aiden Spherical End Desk, standing 24" excessive and with a 24" diameter round tabletop. Crafted from solid hardwood, this occasional desk is finished with a cherry veneer, topped with a stupendous reverse diamond veneer sample, held by 4 superbly carved concave legs. A larger model is available in the form of the Aidan cocktail cupboard, matched with the end desk but at 36" diameter and 19" high. Add to that the demilune aspect desk, 48" wide, 19" deep and 28" high, and you've got a gorgeous set of occasional tables in a beautiful cinnamon cherry veneer finish. It will look fabulous in any living room. Magnussen Ferndale Tables When you desire a darker finish to your occasional tables, the Magnussen Ferndale range is finished in a water-marked tobacco shade. This vary comes with raised edges and castors, providing an older original look to your room. The cocktail table is 38 inches in diameter and if you're on the lookout for a lovely accent table to go with it, then that's completed to match in a 24" triangular form and standing 25" excessive. Densbury Occasional Tables Magnussen's Densbury Range is designed around a table prime resting on turned architectural columns which might be resting on a wood base the same width as the highest. Coming with a dark-stained end, the oblong cocktail desk is substantial at fifty four" large and 34" deep, and this lovely assortment would suit any living room, adorned in a contemporary or a retro fashion. The Densbury assortment additionally presents a settee table that stands a useful 29" high, and again 34" long. If you prefer one thing smaller all spherical, then the Densbury collection additionally supplies an oblong end desk at 26" x 22" and standing just 25" high. That is generally excessive enough for accessing drinks, books and so on from the common sofa, though some might want the higher version supplied by the sofa desk. In case you desire a smaller kind of end desk, then the identical assortment enables you to buy a single pedestal finish desk at 20" diameter and 24" excessive. Every of these alternative occasional desk designs are crafted using the same wood end, and the identical turned design of leg so that you could combine them with out creating any mismatch in design or finish. Magnussen Tables in General Each of these collections has been designed to supply a timeless number of occasional and accent table kinds. Between them, they'll match completely into most living room decorative types and you also have a spread of various kinds of desk to satisfy your specific wants. The pedestals and desk legs ae beautifully turned and gives a particular fashion to this furnishings. The wood finishes are chosen to look in place with most trendy and retro decorative kinds.
Significantly! Can't say enough great things about this shop. I would recommend going here for just about any level of furniture you are searching for. High quality items at low prices. Well worth the generate from any where . The shipping support was superb . After all once you buy something the delivery experience is main. Superb !! I did not have to hold out for hours waiting around. I was provided an excellent time estimation and a call half an hour just before appearance. The shipping was easy windy.
We went in to the Costa Mesa showroom to simply search and ended up purchasing our perfect couch. The huge selection of materials is amazing. Prices are reasonable and the service was great. Whilst we were looking at designs and materials, Kathy assisted us out and drawn some materials for us according to our needs. She was great and you ought to request her whenever you go to the store. She's very knowledgable on design and extremely listens to what you have to say. She had a lot of creative input and I'm so deeply in love with our final choice. Our encounter was amazing and we now have the perfect sofa for our home. Can't wait around to earn the photo contest.


This research examines the impact of formal democracy on the construction of an effective civil society in Ghana. The theoretical and policy role of civil society has received a great deal of attention in the literature. Especially for democratization theorists, the focus has been on the democracy enhancing qualities of civil society—qualities often credited with playing key roles in democratic transitions in Africa. However, the question of what happens to civil society after a democratic transition has not received much attention in the literature. Using a historical institutionalist approach, the study examines how democratic institutions and institutional arrangements affect the development of civil society. After Ghana's return to formal democracy in 1992, democratic openings, though not immediately transformative, created an expansion in civil liberties and political rights necessary for the emergence of civil society. Paradoxically, state institutions remained weak and it was such weakness—not the strength, as some of the literature suggests, that allowed civil society to develop. Within the legislative and bureaucratic arenas, persistent institutional weakness became an opportunity for civil society to mobilize resources from foreign donors to strengthen the capacity of state institutions. Through programs aimed at enhancing the capacity of state institutions, foreign donors played a critical role in framing the relationship between civil society and the state. A major finding from this research is the symbiotic relationship between civil society and the state. As the case of Ghana demonstrates, where the state provides opportunities for civil society to develop, an effective civil society in turn contributes to building the democratic state. Findings from this research provide theoretical implications for the literature on civil society and democracy by highlighting the role of democratic institutions in strengthening civil society.
Dawuni, Josephine J., "Beyond Transition: Democracy and the Development of Civil Society in Ghana." Dissertation, Georgia State University, 2010.


An exploitable configuration modification vulnerability exists in the control mode (mode 6) functionality of ntpd. A specially crafted control mode packet can set ntpd traps, providing information disclosure and DDoS amplification, and unset ntpd traps, preventing legitimate monitoring. A remote, unauthenticated, network attacker can trigger this vulnerability.
ntpd provides a trap functionality that sends asynchronous notifications to a number of trap receivers whenever an event of interest occurs. Example events of interest include: association mobilization and demobilization, authentication failures, reachability changes, etc.
Since at least ntp-4.0.94 (July 21, 1999), ntpd has allowed traps to be configured via control (mode 6) and private (mode 7) NTP modes. Though private mode requires messages modifying trap settings to be be authenticated, control mode allows unauthenticated packets to modify trap settings using the SETTRAP and UNSETTRAP control messages.
Time Shifting: If an attacker controls a host that is allowed to receive traps (i.e. not restricted by restrict noquery or restrict notrap), the attacker can instruct a victim ntpd instance to send traps to the attacker's host. Whenever a reportable event occurs for some peer, the victim ntpd will send a trap to the attacker leaking all the peer variables associated with that peer. The information leaked includes the peer's org and rec variables allowing the attacker to bypass TEST2 and impersonate said peer in a manner similar to CVE-2015-8139 and CVE-2016-1548.
The attacker can force the victim ntpd to leak the information for any peer at any time by triggering a reportable event for said peer. There are multiple methods to trigger a reportable event for a peer, among them spoofing an invalid crypto-NAK or incorrectly authenticated packet from the peer.
NOTE: With ntp-4.2.8p8 and earlier the 0rigin attack (CVE-2015-8138)  already allows impersonation of reachable peers. In those ntpd versions, this vulnerability provides another method for impersonating unreachable peers.
DDoS Amplification: An attacker can use an ntpd instance as a DDoS amplifier to DDoS hosts that are allowed to receive traps from the ntpd instance using the following technique. The amplification factor is 12-13x.
The attacker forges a SETTRAP packet from the victim to the amplifier, causing the amplifier to set a trap for the victim. The attacker then repeatedly triggers reportable events causing trap messages to be sent to the victim. E.g. the attacker rapidly forges invalid crypto-NAKs and/or bad_auth packets from the victim's sys_peer.
ntpd attempts to limit the number of consecutive traps sent for events of a single type. To maximize effect, the attacker can alternate between events of different types.
ntpd will periodically time out old traps when a new one is set. Therefore, for a long-term attack, the attacker may need to periodically refresh the trap on the amplifier.
Evading Monitoring: In an environment where dynamically configured traps are used to modify an ntpd instance, an unauthenticated attacker can remove traps set by legitimate monitoring systems by spoofing the source address of the trap receiver in an UNSETTRAP message.
Authentication should be required in order to modify trap configuration.
Several mitigations can lessen the impact of this vulnerability.
Unauthorized hosts can be prevented from receiving traps using the restrict default notrap restriction. This setting is the default on many modern Linux systems.
This mitigation has no effect on the "Evading Monitoring" impact described above because the alleged sender of the packet is an authorized trap receiver.
Traps specified in ntp.conf cannot be modified using this vulnerability.
Discovered by Matthew Van Gundy of Cisco ASIG.


In the present digital era, content is evolving continuously and Visual Content Marketing is becoming a popular digital marketing strategy. A simple ordinary looking text content will not grab the attention of your targeted customers. You will need to add the extra tinge to your content which will set you apart and 'visual content' is the answer to it. The inclusion of visual elements helps to make your content more engaging, appealing and stimulate online growth. There is an increasing use of visual content on social media platforms like Facebook, Pinterest, Instagram, and others by digital marketers and business owners for their marketing campaigns.
Why visual content plays a pivotal role in the digital marketing strategy?
Think like this, if a picture is worth a thousand words, then a video can be worth at least a couple of million.
Statistics prove that articles with visuals get 94% more views and attracts 3X more links than text-only posts. Most of the times, users just glance at the text-only content. It makes more sense to use the content type with which the audience can relate.
Here are several methods to make your visual content more impressive and increase traffic for your business.
Who doesn't enjoy pictures? We all do right. On a daily basis, we see, like, share and take pictures. Statistics prove 65% of people are visual learners and images can do wonders to your brand and can be rewarding when customers recall your brand on the basis of your visual content.
When you divide the body of your content between text and images, more people are propelled to read it. You can add a personal touch to your marketing campaign by using high-quality photos taken by you by including behind the scenes photos, product creation images or photos of customers using your service and connect the audience emotionally with your brand.
Generally, high-quality and attractive images are expensive to purchase but a free tool like Canva helps to design, beautiful images with an easy drag and drop feature. There are also free picture sharing sites like Flickr, Unsplash, Pixabay, Scatter Jar which have numerous and excellent choices of high-quality images.
Videos are the best form of visual content to engage your audience, which generates strong interest in your brand as the audience stays longer on your page. Studies explain that 64% of consumers will make a purchase after watching branded videos (Source: Tubular Insights). This validates the fact that a great video of high quality increases conversions.
There are different types of videos that can boost your business sales and growth – whiteboard videos, explainer videos, demo videos or customer testimonials. Creating videos take a significant amount of time and money, therefore it is necessary that it reflects your brand values and style. You need to be sure about Why, How and Where for making the videos. The video market has a huge potential if used optimally to make your brand visible and appealing. Nowadays with the penetration of content viewing on the mobile, the attention span is shorter than before, therefore shorter videos tend to perform better than longer ones.
Memes are quite common amongst the younger demographic as a form of entertainment. They are images with humorous captions and have gained traction online as they are liked and shared largely by the millennials.
Memes are 'easy and quick to create' form of visual content. Before making them a part of your digital marketing strategy, understand whether they are appropriate for your brand and business. Are they suitable for your industry? If your target audience is youth, then you might hit the right button with your humorous content and engaging images.
Presentations can be a good way of visual content if you want to share knowledge about your product or service in a brief and detailed way rather than a lengthy text. Sites like Slideshare help to expand the reach of your business by promoting your presentations to a worldwide audience.
Presentations can be engaging when visual aids (images, graphics, video links, screenshots) are used along with the text content. The design, color, and font used make them look attractive and draw the attention of the reader.
We have created a visually-compelling PowerPoint template with 50 amazing slides to save you hours on your next presentation. You may download this FREE PowerPoint template here!
Do you have an online business – An app, a website, or an online service? Well, screenshots are a very effective and informative form of visual content. They may not be snazzy as other visual content pieces but very useful.
Screenshots provide a glimpse into the techniques and ways to use your software, app or web pages. You can highlight the features for better understanding and provide a step by step guide. It is used in an educational or tutorial post. Not only can you flaunt your products or services on social media platforms but you can also showcase customer testimonials. Studies tell us 88% of people trust customers reviews and determine the quality of the business.
Skitch is a free tool that will help you snap, mark up and share screenshots in a jiffy!
Screencast is a video recording that captures the action on your computer screen with an audio narration which is useful while demonstrating the use of software, operating systems or website features. It is a type of instructional video and a great way to teach any idea.
Screencasts are highly helpful in training, tutorials or presentations. There are a few free tools available to build and share screencasts like screencast-o-matic and screecast.com.
In simple words, data made visual can be interesting. Sometimes reading only data with facts and figures can be boring but if they are supported with stunning visuals then it can become more compelling. The visual graphic can simplify a large amount of data with lots of information and numbers.
Visual content basically helps the audience understand a tricky topic or idea better than throwing numbers and information in a plain text (49% of people understand visual information more than plain text).
Just understand the purpose of creation: how to present the data in a simplified way? How to make numbers look interesting – a graph or diagram or charts or maps? A stunning data visualization can help the audience understand the numbers and information quickly.
Instructographics are basically visuals with instructions on 'How to do's'. They are images or videos that give you step by step instructions on how to complete a task. They are perfect to help you with life hacks, DIY projects, recipes or beauty tips. Pinterest is the preferred social media platform for such instructographics. It has ample creative ideas shared and uploaded by users. Creating instructographics can be an amazing marketing strategy to improve traffic to your site or blog.
Instagram – a popular photo and video sharing platform allows you to share your product/service stories in real-time using hashtags. This helps to promote your brand and engage customers with your visual content. You can also have live videos for your cooking recipes and establish a personal and interactive session with your followers. Try out these DIY online tools to create your own instructographic – Picmonkey, Piktochart, or Canva.
At Visual Deck, we can help businesses with professional instructographics at a flat monthly rate!
We all have our favorite quotes or sayings and they are a reflection of our personal beliefs and thoughts. Similarly, every brand has its own mission and values which reflects in their business quote cards.
Business quote cards are easy to create and a great form of visual content. A combination of right quote and image can be a treat to the eyes and can be highly shareable content. Quote cards are used to educate readers, create humor, showcase values, or form a connection with the audience.
One of the most interesting and informative forms of visual content if done the correct way. It is a perfect tool to summarize all your complex information into an easy and comprehensive way and can include data, statistics, facts in the most interesting and simplified way.
As a digital marketer, you need to decide whether infographics can enhance your brand value and balance the content nicely. You should not clutter it with a lot of information but present it in a crisp and dynamic way. The layout, design, color, fonts, and content should be impactful to bring out the essence of the infographic.
Infographics are quickly noticeable, read and shared on social media and blogs. Higher the shares, higher the publicity and brand awareness. Alternatively, share a thumbnail size infographic on social media and link it to your site for the full image to increase traffic and solve size restrictions.
Some of the DIY online tools to make infographics are Canva, Piktochart, Vennage to name a few. However, if you're looking for a reliable service to create amazing infographics, Visual Deck can help! Try us out 100% risk-free today!


text:
package com.fimtra.thimble;

import static org.junit.Assert.assertEquals;

import org.junit.Test;

import com.fimtra.thimble.TaskStatistics;

/**
 * Tests for {@link TaskStatistics}
 *
 * @author Ramon Servadei
 */
public class TaskStatisticsTest
{
    @Test
    public void testStatistics()
    {
        TaskStatistics candidate = new TaskStatistics("JUnitTest");
        assertEquals(0, candidate.getIntervalSubmitted());
        assertEquals(0, candidate.getIntervalExecuted());
        assertEquals(0, candidate.getTotalSubmitted());
        assertEquals(0, candidate.getTotalExecuted());

        candidate.itemSubmitted();
        candidate.itemSubmitted();
        candidate.itemExecuted();
        candidate.intervalFinished();

        assertEquals(2, candidate.getIntervalSubmitted());
        assertEquals(1, candidate.getIntervalExecuted());
        assertEquals(2, candidate.getTotalSubmitted());
        assertEquals(1, candidate.getTotalExecuted());

        candidate.itemSubmitted();
        candidate.itemSubmitted();
        candidate.itemSubmitted();
        candidate.itemExecuted();
        candidate.intervalFinished();

        assertEquals(3, candidate.getIntervalSubmitted());
        assertEquals(1, candidate.getIntervalExecuted());
        assertEquals(5, candidate.getTotalSubmitted());
        assertEquals(2, candidate.getTotalExecuted());

        candidate.itemSubmitted();
        candidate.itemSubmitted();
        candidate.itemExecuted();
        candidate.itemExecuted();
        candidate.intervalFinished();

        assertEquals(2, candidate.getIntervalSubmitted());
        assertEquals(2, candidate.getIntervalExecuted());
        assertEquals(7, candidate.getTotalSubmitted());
        assertEquals(4, candidate.getTotalExecuted());
    }

}


text:
Tag Archives: culture
The lives women led in 19th century Australia were similar in some ways and very different in others to those experienced by women in this country today. Much has changed for Australian women in the last 170 years from clothes to hairstyles, average life expectancy and experiences of motherhood.
Over three blogposts we will explore what life was like for women on Victoria's goldfields between 1851 to 1861. This blogpost will focus on the common characteristics of the women who lived in Ballarat during this era, the second will explain the opportunities goldrush women had to work outside their homes, and the final blogpost will examine domestic life on the goldfields for European women in Australia.
The Aboriginal Women of the Ballarat Region
The first women of Ballarat were Wadawurrung women. They have been living in this region for tens of thousands of years and many continue to practice culture on Country (their traditional homeland) today. The lifestyles of Aboriginal and Torres Strait Islander people changed dramatically when Europeans began colonising Australia (starting in 1788). The changes took place rapidly in goldrush communities like Ballarat because of the speed at which immigrants – both human and animal – arrived from across the seas to live in such places. These new arrivals changed local ecosystems and cut off access to important Aboriginal and Torres Strait Islander cultural and food production sites.
.A drawing of a young Wadawurrung woman who lived in Ballarat during the gold rush. W. Strutt, Waran-drenin, 1852. Reproduced with permission from the British Museum.
While many Wadawurrung women adapted quickly to the changing conditions and played a variety of roles in the new European economy and culture that was brought to Australia, others died from introduced diseases/alcohol and at the hands of violent settler-colonisers. By the late 1860s, most were forced off Country to live on reserves and missions in different parts of Victoria. Despite the damage this caused Aboriginal communities, many Wadawurrung women passed their language and culture onto their children, which is one of the reasons why it lives on today.
The Arrival of Non-Aboriginal Women in Ballarat
In the early years of Australia's gold rushes, most of the non-Aboriginal women on Ballarat's diggings came from Europe, specifically the British Isles. Female goldrush immigrants took huge risks to get to Australia by ship and hoped to become wealthy through hard work and/or a good marriage. Social mobility was nearly impossible back in Europe, but in Australia, anyone willing to work could strike it rich on a goldfield which is why around half a million new Australians arrived in Victoria during the 1850s.
John Leech, Alarming Prospect: The Single Ladies off to the Diggings, Punch Pocket Book, 1853. Reproduced with permission from The Gold Museum, The Sovereign Hill Museums Association.
As most of these new arrivals were men, the colonial government (on advice from people like Caroline Chisholm) made many attempts to attract female immigrants because they were considered to be a 'civilising influence' on male-dominated goldrush communities like Ballarat. Gold seeking was thought to bring out poor behaviour in some men, and it was believed by many that just the presence of women could restore their more gentlemanly qualities.
Women were in such high demand on the early diggings – not only were they a 'civilising influence' but also companions, cooks and cleaners – that ships arriving in the ports of Melbourne or Geelong were often met by miners ready to propose marriage to the first female they clapped eyes on!
Typical 19th Century European Womanhood
.A costumed character at Sovereign Hill panning for gold in a day cap which is designed to both keep hair clean and provide sun protection.
Religion, culture and tradition have always influenced the way in which people behave and dress. A model mid-19th century European woman was likely to be a Christian who obeyed the social norms that came with this identity. This included being quiet and calm, a loving mother/wife, a dutiful homemaker, and good at following the instructions of men. Such women believed that the Bible should guide their behaviour in addition to their clothing choices. During the daytime, European women wore dresses that covered every part of their body except their faces and hands because a polite Christian woman was expected to be modest and hide her body. This is part of the reason you see costumed women at Sovereign Hill wearing day caps.
Ideally, a European woman would only marry a man who could already afford to house, clothe and feed her and the family they would likely make together. On their wedding day, the bride would wear the best dress she owned in whatever colour she liked. White wedding dresses were popularised by Queen Victoria – but only very wealthy families could afford to dress brides in what was ultimately a one-use dress. Back then it was considered quite normal for European women to be married before the end of their teens, as was having ten or more children. In comparison, 21st century Australian women who choose to get married (which is far less common today than it was in the past) are on average aged 30 and will typically only have one or two children.
Womanhood on Australia's Goldfields
Some historians suggest that immigrant women on Australia's 1850s goldfields experienced a different kind of womanhood compared to women back in Europe. This was arguably due to the relative youth of the immigrant population and the opportunities that existed for European women in Australia to work outside their homes.
Many of the European women on the goldfields were in their late teens/early twenties. Their youth helped them survive the tough living and working conditions – raising a family in a tent and having to trudge through deep mud in a Ballarat winter to buy food or harvest it from a vegetable garden was hard work. On average, Australian women at this time in history would only live until they were about 40 years old, while life expectancy for Australian women today is about 80 years old. Their shorter (on average) lives is one of the reasons that 19th century women tended to marry and start families at a younger age than women today.
In Europe, if a woman had a job, perhaps as a seamstress, housemaid, or governess (tutor) at this time in history, she would be fired as soon as she got married (unless she was very poor). From her wedding day onwards, she was expected to be busy managing a household and having children, leaving no time for other work. If poverty forced her to work outside the home, it would be a source of shame for the whole family (you can read more about this here). In Australia, and especially in places like 1850s Ballarat, living conditions changed these social norms.
Women on Australia's goldfields could 'bend' social norms somewhat because they filled essential roles that the community needed in order to function while men focused on mining. They could leave the house (to go shopping, visit friends etc.) once they were visibly pregnant, which in Europe was considered bad manners. Put simply, there were many vital jobs that needed doing, so Ballarat's women rolled up their sleeves and got to work, whether they were already married or not. You can learn more about this topic in our next blogpost.
Photographer unknown, (from left to right) Eliza Sharwood, John Sharwood, and an unknown woman, Lot 50, Peel Street South, Ballarat, c.1875. Reproduced with permission from the Gold Museum, The Sovereign Hill Museums Association.
Once Ballarat became a more permanent community from about the 1860s, the European social norms of the era resumed and women became focussed on life in the private sphere once more.
The lives of Australian women have changed significantly since the 1850s. What social norms do you think have changed for the better and which ones have changed for the worse?
A Crash Course video which summarises how women's lives have changed in the last 150 years: https://www.youtube.com/watch?v=meC5Zl5PC1U&feature=youtu.be&utm_source=hootsuite&utm_medium=&utm_term=&utm_content=&utm_campaign=
A State Library of Victoria blogpost on women on the goldfields: http://ergo.slv.vic.gov.au/explore-history/golden-victoria/life-fields/women-goldfields
Two Sovereign Hill Education blogposts on 1850s women's fashion: https://sovereignhilledblog.com/2012/02/28/gold-rush-belles-womens-fashion-in-the-1850s/ https://sovereignhilledblog.com/2013/09/06/gold-rush-undies-womens-fashionable-underwear-in-the-1850s/
A Sovereign Hill Education blogpost on general clothing in the 1850s: https://sovereignhilledblog.com/2018/06/19/1850s-fashions-in-australia/
A Sovereign Hill Education blogpost about Queen Victoria: https://sovereignhilledblog.com/2015/05/13/queen-victoria/
Dr. Claire Wright wrote a book called "The Forgotten Rebels of Eureka" about the women involved in the Eureka Rebellion: https://www.textpublishing.com.au/books/the-forgotten-rebels-of-eureka
Posted in 19th century, health on the goldfields, history of victoria, History Teaching, history teaching resources, Immigration, Indigenous, Sovereign Hill, then and now, Uncategorized, victorian history, women
Tagged culture, history, immigration, women
Posted on February 28, 2017 | 1 comment
While you may think that hairdos in history aren't really worth studying, they can actually tell us a lot about what life was like in the past. A hairdo can tell us about technology, through the kinds of products historical 'dos' required, or about fashion and making a statement, or about social class (whether you were rich or poor, powerful or powerless … ), and it can even be handy for dating historical paintings and photographs!
A collection of unknown Ballarat women from the Gold Museum collection sporting a range of 19th century hairdos. Reproduced with permission from the Gold Museum.
For thousands of years, people have enjoyed using hair from their heads to decorate their bodies. Hair can be a very important part of someone's identity; it can relate to religion, law (yes, there have been laws in history that have controlled hairdos!) or simply fashion, and, of course, hairdos are closely linked with humanity's various and ever-changing ideas around beauty.
Self-portrait of Queen Victoria, 1835. An image from Wikipedia Commons.
In the 19th century, hairdos for women in the British Empire (which included Australia) tended to follow the style of Queen Victoria, who reigned for 63 years. This powerful woman had a huge influence over all things fashion, and is even thought to be the bride who popularised the white wedding dress, which many women still wear today. Before her time, British women simply wore their best dress on their wedding day, whatever the colour. Fashions in both hair and clothes changed a great deal during her time as queen, as you can see here.
The first known photograph of Queen Victoria, pictured here with her eldest daughter, c.1845. An image from Wikipedia Commons.
By the 1850s, Queen Victoria tended to wear her hair parted in the middle. It was either pulled back behind the ears (which would then be covered by a day cap/bonnet), or would be used to cover the ears when a head covering wasn't necessary (at a ball, for example). Otherwise, she, like the millions of women in her empire during this time in history, covered their heads out of Christian politeness, and always when outside (providing they could afford it!). Not only did wearing head coverings out of doors keep your hair clean before the invention of the shower and hair dryer, they tended to protect you from sunburn. And back then, fancy ladies wanted the whitest skin possible – 'Only peasants and natives have tans!'. Beauty ideals like these demonstrate how acceptable racism (and classism) was in the 19th century.
For men, the beginning of the 1800s saw the end of elaborate powdered wigs and a return to natural hairstyles and colours. A few decades later and beards and moustaches also came into fashion. A male fashionista of the time, Beau Brummell, led the way with these new, relaxed, natural hairdos, which got shorter and more controlled as the century rolled on. Hair styling products such as hair oil became popular with men during this time; however, they didn't have the means to wash it out like we do today (with shampoo) until the 1890s. The first shampoos were powders, and it wasn't until the 20th century that we saw the invention of liquid shampoos.
Most people's washing habits in 1850s Ballarat mirrored those practiced in England; however, clean water (that which wasn't polluted by goldmining or human waste near it … ) on the diggings was often hard to come by. Miners and their wives would pay a lot of money – particularly during dry summers – for buckets of fresh water taken from what was then called Yuille's Swamp (now Ballarat's Lake Wendouree). Bathing usually only happened once a week (typically on Saturday nights so the family was clean for church on Sunday), but that bath wasn't for washing hair, and besides, you had to share the water with your entire family because it was so scarce!
Photograph of an unknown man dubbed the "Chinese Giant", 1870. Notice his long queue. Reproduced with permission from the Gold Museum.
Of course there were many nationalities present on the Ballarat goldfields, which meant yet more hair styles could be seen around 1850s Ballarat. One of the most striking hairstyles common during this era was the 'queue' worn by Ballarat's many Chinese miners. Back in China, it was compulsory for men to sport this 'do', which involved shaving the front of the head, and growing the back very long and wearing it in a plait. The Aboriginal people of this region – the Wadawurrung people – may have worn their hair differently to the Europeans and the Chinese; however, from the limited photographic evidence we have, many appear to have adopted European hairstyles by this time.
Marcel curlers, also known as hot curling irons or hot curling tongs.
An exploration of 19th century hair in Australia wouldn't be complete without a mention of the fashion for hair artworks and even hair jewellery, which was commonly something a lady would give to her lover, or someone would make from the hair of a recently deceased loved one. You can see lots of examples of this curious practice here. Another weird habit of European women in the 1800s was the collecting of hair from a hairbrush to use as padding to create certain hairdos. Hair was collected in a 'hair receiver' and then moulded as required into a 'rat' to place inside a bun or to give hair volume. Lastly, the rather terrifying 'Marcel Wave' hair curler became popular towards the end of the century, even though it was very easy to burn your hair off while using it – it was heated in the fire before being applied to hair!
A pictorial overview of Victorian hair styles: http://www.whizzpast.com/victorian-hairstyles-a-short-history-in-photos/
A series of videos on this history of women's hairdos (Eurocentric): https://www.youtube.com/watch?v=rpGc2ylEgfQ&list=PLWpk-1VZu_yM5ms7Mm1wBirhm5G1UPOwZ
A brief visual history of men and women's hairdos through history: https://www.youtube.com/watch?v=RVr8W6HME4A
A video on the history of shampoo: https://www.youtube.com/watch?v=NEjeTYzZjzg
Horrible Histories on Incan shampoo…: https://www.youtube.com/watch?v=jqWoWscljQs
A great history of hair from the Chertsey Museum: http://chertseymuseum.org/hair
A great BBC article on the history of the wedding dress: http://www.bbc.com/culture/story/20140503-how-wedding-dresses-evolved
A woman's life on the Ballarat goldfield: http://education.sovereignhill.com.au/media/uploads/SovHill-women-notes-ss1.pdf
Posted in 19th century, 19th century technology, chinese miners, chinese on the diggings, Indigenous, Queen Victoria, Sovereign Hill, then and now, Uncategorized, Victorian Gold Rush, victorian goldrush chinese, women
Tagged Chinese, culture, education, Fashion, hair, history, immigration, racism, women
During the Victorian goldrushes of the 19th century, people lived very different lives to those Australians lead today in the 21st century. We can understand these differences by taking a look at some examples of technologies etc. which highlight what has changed in our lives between then and now.
Do you think you could have lived in the 1850s? What listed in the 'Now' column couldn't you live without today?
A meat safe (a fly-wire box which is covered with a damp cloth to keep food cool)
Electric refrigerator
Wooden, bone, paper and metal toys
Plastic toys (plastic is made from petroleum or natural gas, and wasn't invented until the 20th century)
Humorism – the belief that illness was the result of an imbalance in the four humors (4 bodily liquids: blood, phlegm, black bile, yellow bile). Imbalances were thought to be caused by bad smells called 'miasma'
Germ theory – the understanding that most illnesses are caused by microorganisms (bacteria, like viruses, fungi etc.) that spread easily if you don't wash your hands or carefully manage sewage
A wash board and clothes mangle
A washing machine and tumble dryer
Newspaper, leaves, smooth stones or even your hand!
Corset – a tight-fitting piece of structured underwear mainly worn by ladies to secure and train the torso
Bra – a complex piece of ladies' underwear designed to support the breasts
Long-handled toasting fork – used to hold bread close to the fire to toast it
An electric toaster
Tooth powder often made of chalk, charcoal or bicarb soda – the wealthy used a brush, the poor used a finger
Tooth paste – made available once flexible metal tubes were invented in the 1890s
Pantalettes – long cotton ladies underwear that are secured with a button/ribbon
Cotton, elasticated underpants for ladies
Anaesthetics were being invented in the 1850s – before then only alcohol or cocaine were available to help with pain during surgery!
Modern anaesthetics to make either a small part or the entire body 'fall asleep' and not feel any pain during surgery
Phrenology – a 'science' that uses the shape of the skull to explain personalities and behaviours of people
Psychology – a science that seeks to explain the chemistry, thoughts and behaviours of the brain/mind
Dresses for babies and small children – including boys, who might wear a sort of dress until they were 'breeched' (a rite-of-passage that allows boys to start wearing pants – there's a boy in a dress in this S. T. Gill sketch)
Jumpsuits/bodysuits for babies (also known as 'onesies')
⇐ Click on the S. T. Gill sketch to enlarge
Trains and boats
Aeroplanes and cars
Leeches and amputation were used to treat infections (this is a real 1850s amputation kit…)
Antibiotics are now used to treat bacterial infections (this is the structural formula of penicillin)
Flat (or 'sad') iron which is heated on the fire
Electric steam iron that you fill with water and plug into the electricity outlet in the wall
Newspapers, the postal service and the electric telegraph
The internet and mobile phone technology
A fob or pocket watch (a watch on a chain/necklace) powered by daily manual winding
A battery-powered wrist watch
Candles and gas lights (which were highly explosive and killed lots of people in their homes)
Life has changed dramatically in the last 160 years. In that time, we have popularised world-changing ideas like germ and evolutionary theory, and we invented amazing technologies like electricity, the car and the internet. How do you think it will change in the next 160 years?
An article about the big ideas that have changed our world: https://www.theguardian.com/science/2008/jun/22/philosophy.plato
A video about the most important inventions humans have ever created: https://www.youtube.com/watch?v=SwPw2VchQGQ
Changes to life expectancy across the 19th, 20th and 21st centuries: https://www.youtube.com/watch?v=jbkSRLYSojo
The impact of the Industrial Revolution: https://www.youtube.com/watch?v=zhL5DCizj5c&index=32&list=PLBDA2E52FB1EF80C9
The way the Industrial Revolution fostered globalisation: https://www.youtube.com/watch?v=5SnR-e0S6Ic&index=41&list=PLBDA2E52FB1EF80C9
Posted in 19th century, 19th century technology, History Teaching, inventions, museum education, S T Gill, then and now, Uncategorized, Victorian Gold Rush
Tagged culture, education, Fashion, health, history, medicine, research, transport


When you browse the Site, we and our partners collect certain information about your device and use of the Site automatically. We collect additional information when you apply for a grant or otherwise provide us with personal information, as follows.
An Internet Protocol (IP) address is a number that is automatically assigned to your device every time you browse the Internet. When a user requests a page from the Site, our servers log the user's current IP address. We use IP addresses to help diagnose problems with our servers and to administer the Site.
We use "cookies" (pieces of data your browser stores in your computer's memory to help improve your experience and the Site and understand how users interact with the Site. We may also collect information using beacons (also known as tracking pixels), which are electronic images that may be used to help deliver cookies, count visits, and understand usage of the Site.
Your use of social features enables the sharing of information with your friends or the public, depending on the settings you establish with the entity that provides the social sharing feature. For more information about the purpose and scope of data collection and processing in connection with social sharing features, please visit the privacy policies of the entities that provide these features.
Funds from either an Allen Distinguished Educator grant or a microgrant are considered taxable income. Recipients are responsible for reporting and paying all relevant taxes.
From time to time, we may sponsor sweepstakes or contests or provide other opportunities for you to provide personal information to us, including your name, phone number, address, and other information, which may include classroom and school demographics ("Personal Information"). We use this information to process and deliver sweepstakes and contest entries, to communicate with you, and to understand and improve the Site and the services we offer.
We share the information we collect, including Application Information and Personal Information, with vendors, consultants and other service providers who need access to such information to carry out work on our behalf.


text:
About Zeke
Contact Zeke
Want To Write For Zeke?
Review Archive : by year
Review Archive: Alphabetical
Review Archive: by Keywords
52 Films by Women
Reel Theology
Slightly Obsessed
Film Admissions
Max on Movies
Disscusion Group
Film Review: RACE
Sharon Autenrieth February 18, 2016 2016Current ReviewsR
Jesse Owen's Story Inspires Despite Average Filmmaking
DIRECTOR: STEPHEN HOPKINS/2016
Sometimes people choose the path of heroism, and sometimes the path of heroism chooses them. If Jesse Owens had been born a few years earlier or a few years later he would, I imagine, have still been a great Olympian. He would still have set records and won medals and would still be a prominent figure in African-American history. But Jesse Owens was 22 years old and at the peak of his athletic powers at a very specific moment in Olympic history. It was not just any games that Jesse Owens qualified for, but the 1936 Berlin Olympics, the biggest attempt at P.R. that the Third Reich ever attempted. German filmmaker Leni Riefenstahl was there to document it all: the grandeur of the purpose-built Olympic arena; the joyful, photogenic German people; their cheerful, fatherly Chancellor; and the athletic triumph of the Aryan ideal. That last bit didn't go quite as planned, though, and that was due in large part to black competitors on the American team who took home 14 medals, 13 in track and field. Of those 13, four of them – all gold – went to Jesse Owens.
Director Stephen Hopkins is a veteran of television work, and there's no getting away from the fact that Race often feels like an inspirational made-for-TV movie. From scene one, when Jesse's mother (Michele Lonsdale-Smith) offers exposition on how frail he was as a child, to the final scene in which a white elevator boy eagerly asks for Jesse's autograph, the feel-good tropes are laid on thick. But the true story at the center of the movie is so good, so valuable, that it transcends the movies' shortcomings. It's also to the film's credit that some of the uncomfortable elements behind the story are at least suggested. American participation in the Berlin games was not a sure thing. Prominent Jewish, Catholic and black organizations advocated for a boycott of the games and the movie shows Owens receiving pressure from the NAACP to refrain from participating.
Many black athletes rightly pointed out that the United States had its own problems with race that it seemed unwilling to address: perhaps there was some hypocrisy in asking those competitors to take a stand against racism in Germany while they remained second-class citizens at home.
Jesse Owens (Stephen James, in a strong performance) ultimately decided to participate in the Olympic games, but there was political pressure in that direction, too. Race hints at the mixed motives of American Olympic Committee President, Avery Brundage (Jeremy Irons), but his sympathies were even less subtle than the film shows. Brundage didn't simply advocate for athletes who deserved their shot at competing: he accused those who sought a boycott of being part of a Jewish-Communist conspiracy. The accusations silenced much of the dissent, although athletes still made individual decisions about participation. Ultimately, 18 black Olympians represented the United States in Berlin.
Race is roughly structured in two parts. In the first half of the film Jesse Owens is a track and field athlete at Ohio State (nicknamed the "Buckeye Bullet"), trying to support his daughter and girlfriend back home while also competing for a driven, hard drinking, not particularly sympathetic coach, Larry Snyder (Jason Sudeikis). Snyder is not interested in racial politics, and seems oblivious to how they affect Jesse's life: he only wants wins. And wins, he gets. At one meet Owens participates in four events in 45 minutes – winning them all; breaking the world record in three of them, and matching it in the fourth. And yes, that really happened.
Race wastes some time with a subplot about a worldly woman (Chantel Riley) – Jesse meets her at a nightclub and she makes no bones about her intentions – who temporarily lures Jesse away from the girl back home, Ruth (Shanice Banton). Did this really happen? I have no idea. I don't care. The entire episode feels cliché and drags down the midsection of the movie. It's much better when it moves on to Berlin and what Owens actually accomplished in the arena built to glorify Nazism. Hitler (Adrian Zwicker) is a barely seen enigma in Race, although his decision not to personally greet Owens as a gold medal winner gets some attention. Ironically, this is one of the places where the movie overplays the facts: in reality, Owens said that he and Hitler exchanged friendly waves and that he felt far less slighted by Hitler than by his own president, FDR, who never so much as sent a telegram congratulating Owens on his achievements at the games.
Riefenstahl (Carice van Houten) is a prominent figure in Race, portrayed as basically politically neutral and only interested in making her film. The real villain of the movie is Josef Goebbels (Barnaby Metschurat). The first time he appears, the score shifts to what I can only describe as horror movie musical cues, and Metschurat radiates malice every single second that he is onscreen. It's actually distracting. I don't think Hopkins needed to try so hard to convince us that this is a bad guy: it's Josef Goebbels, after all.
Far better – and perhaps my favorite takeaway from Race – is the movie's treatment of Carl "Luz" Long (David Kross), a German athlete who demonstrated his own kind of heroism at the 1936 games. After Jesse Owens fouled twice in the qualifying round of the broad jump Long gave Owen's advice on where to start his jump. Owens went on to win the gold in the event (Long took silver) and Riefenstahl's video of the event shows Long rushing to embrace Owens after his winning jump. It's such a small thing, seeing two competitors celebrating together, but loaded with weight because of its particular time and place in history. Long was ordered by Hitler's deputy to "never hug a Negro again", but Owens talked about what that embrace meant to him for the rest of his life.
Jesse Owens came home from Berlin to the same systemic racism he'd left behind. Decades would pass before the Civil Rights movement began to affect change in America. As for the Third Reich, after showing its best face to the world during the games, it returned to its quest for global expansion and its slaughter of Jews, Gypsies, and other minority groups. So what difference did any of this make? A strong argument could be made that those who called for a boycott of the games were in the right, that depriving Germany of this propaganda tool would have been the better move. But that's not what happened, and so Owens was there at that moment in history. He was an extraordinary athlete, and that uniquely qualified him to speak truth to power. At least briefly, Jesse Owens showed the world (and the Germans themselves) that the doctrine of racial superiority was a lie.
Jason SudeikisJeremy IronsNazisracismStephen HopkinsStephen JamesThe Olympics
Previous ArticleTHE WITCH - Two-Shot Review
Next ArticleFilm Review: RISEN
Sharon Autenrieth
ZekeFilm Board President and Contributor
Sharon is an experienced writer with her own blog and the St. Louis Post-Dispatch's religion blog. A wife and mother to 5 kids, she in on staff with her church and enjoys running, coffee, and good books. A bit of an activist around certain topics (politics, religion, sexuality, gender), Sharon looks to cinema for the empathy and fun it can provide. "I believe art is a gift from a good Creator. Sometimes Christians are suspicious of film, but I find that thoughtful engagement with movies has been a means of personal and spiritual growth for me. I hope my involvement with Zeke helps others to have a similar experience with film!"
HARRIET – Film Review
Erik Yates November 3, 2019
JOJO RABBIT – Film Review
MISSISSIPPI BURNING (1988) – Blu Ray Review
Erik Yates October 21, 2019
MISSING LINK – Film Review
Sharon Autenrieth April 12, 2019
THE BEST OF ENEMIES – Film Review
Erik Yates April 4, 2019
IF BEALE STREET COULD TALK – Film Review
Sharon Autenrieth December 28, 2018
OPERATION FINALE – Film Review
Erik Yates August 28, 2018
BLACKkKLANSMAN – Two-Shot Review
Jim Tudor and Erik Yates August 9, 2018
COBRA WOMAN (1944) – Blu-Ray Review
DOLITTLE – Film Review
THE SONG OF NAMES – Film Review
MIDNIGHT FAMILY – Film Review
BEST FILMS OF 2019 (Taylor Blake's List)
PITTSBURGH (1942) – Blu-Ray Review
UNDERWATER – Film Review
ATTACK OF THE ROBOTS (1966) – Blu-ray Review
1917 – Film Review
A SUNDAY IN THE COUNTRY (1984)/Blu-ray Review
STICK (1985) – Blu-ray Review
SPEED OF LIFE – Film Review
Film Admissions: Films of 2010-2019
HER SMELL – Capsule Film Review
THE FAREWELL (2019) – Capsule Film Review
THIS MAGNIFICENT CAKE! – Blu-ray Review
SWEET CHARITY (1969) – Blu-ray Review
BEST FILMS OF 2019 (Sharon Autenrieth's List)
MELANCHOLIA (2011) – Film Review
BEST AND WORST FILMS of 2019 (Max on Movies)
3 FACES – Blu-ray Review
What to Watch – Best of 2019 Television
ZEKEFILM'S BEST FILMS of 2010-2019
PARASITE – Film Review
15Zine Popular Posts Widget: To use the "View Count" option You need to install Jetpack plugin and enable the "Stats" module.
ABOUT ZEKEFILM
ZekeFilm is a non-profit organization devoted to cultivating community through cinema through critical discussion, educational activities, and by encouraging mindful viewing, ongoing curiosity of the cinematic form, dialogue, and entertainment. We seek to create and foster this type of community directly and through various socially based technologies.


Condition: Used: An item that has been used previously. The item may have some signs of cosmetic wear, but is fully operational and functions as intended. This item may be a floor model or store return that has been used. See the seller's listing for full details and description of any imperfections. See all condition definitions- opens in a new window or tab ... Read moreabout the condition	 Saddle Size: 16"
Ortho Flex Western Trail SaddleBuilt in pad with removable/washable cover and shock absorbing springsVERY comfortable to ride in. Makes for a very smooth ride!16" seatHas some wear under the finder (pictured)Needs a new Blevins buckle on that side.Will come with latigo and matching breast collar.Message me if you have any questions or if you'd like more pictures. I'll be happy to help.


text:
package gw.internal.gosu.parser;

import gw.config.CommonServices;
import gw.internal.gosu.parser.java.classinfo.CompileTimeExpressionParser;
import gw.lang.reflect.java.JavaSourceElement;
import gw.internal.gosu.parser.java.classinfo.JavaSourceEnumConstant;
import gw.internal.gosu.parser.java.classinfo.JavaSourceField;
import gw.lang.Deprecated;
import gw.lang.GosuShop;
import gw.lang.javadoc.IClassDocNode;
import gw.lang.javadoc.IDocRef;
import gw.lang.javadoc.IVarNode;
import gw.lang.parser.EvaluationException;
import gw.lang.parser.IExpression;
import gw.lang.reflect.FeatureManager;
import gw.lang.reflect.IAnnotationInfo;
import gw.lang.reflect.IFeatureInfo;
import gw.lang.reflect.ILocationInfo;
import gw.lang.reflect.IPresentationInfo;
import gw.lang.reflect.IPropertyAccessor;
import gw.lang.reflect.IRelativeTypeInfo;
import gw.lang.reflect.IScriptabilityModifier;
import gw.lang.reflect.IType;
import gw.lang.reflect.java.IJavaAnnotatedElement;
import gw.lang.reflect.java.IJavaClassField;
import gw.lang.reflect.java.IJavaFieldPropertyInfo;
import gw.lang.reflect.java.IJavaType;
import gw.util.GosuExceptionUtil;

import java.lang.reflect.Modifier;
import java.util.List;

/**
 */
public class JavaFieldPropertyInfo extends JavaBaseFeatureInfo implements IJavaFieldPropertyInfo
{
  private IJavaClassField _field;
  private boolean _isStatic;
  private IType _type;
  private IPropertyAccessor _accessor;
  private String _strName;
  private IDocRef<IVarNode> _docs = new IDocRef<IVarNode>() {
    @Override
    public IVarNode get() {
      if (getContainer() instanceof JavaTypeInfo) {
        IClassDocNode classDocs = ((JavaTypeInfo) getContainer()).getDocNode().get();
        @SuppressWarnings({"UnnecessaryLocalVariable"})
        IVarNode varDoc = classDocs == null ? null : classDocs.getVar( _field.getName() );
        return varDoc;
      } else {
        return null;
      }
    }
  };

  JavaFieldPropertyInfo(IFeatureInfo container, IType type, IJavaClassField field, boolean isStatic, boolean simplePropertyProcessing)
  {
    super( container );
    if (type == null) {
      throw new IllegalArgumentException("Feature type cannot be null");
    }
    type = TypeLord.replaceRawGenericTypesWithDefaultParameterizedTypes( type );
    _type = type;
    _field = field;
    if (_field instanceof FieldJavaClassField) {
      ((FieldJavaClassField)_field).setAccessible( true );
    }
    _isStatic = isStatic;
    //_strName = NewIntrospector.capitalizeFirstChar( _field.getName() ).replace( '$', '_' );
    _strName = simplePropertyProcessing ? _field.getName() : _field.getName().replace( '$', '_' );
    if( _isStatic )
    {
      _accessor = new StaticAccessor();
    }
    else
    {
      _accessor = new NonStaticAccessor();
    }
  }

  @Override
  public String getName()
  {
    return _strName;
  }

  void changeNameForNonStaticCollision()
  {
    _strName += "_";
  }

  @Override
  public IType getFeatureType()
  {
    return _type;
  }

  @Override
  public boolean isStatic()
  {
    return _isStatic;
  }

  @Override
  public boolean isReadable()
  {
    return true;
  }

  @Override
  public boolean isWritable(IType whosAskin) {
    IRelativeTypeInfo.Accessibility accessibilityForType = ((IRelativeTypeInfo) getContainer()).getAccessibilityForType(whosAskin);
    return !Modifier.isFinal( _field.getModifiers() ) && FeatureManager.isFeatureAccessible(this, accessibilityForType);
  }

  @Override
  public boolean isWritable()
  {
    return isWritable(null);
  }

  @Override
  public boolean isDeprecated()
  {
    return super.isDeprecated() || getField().isAnnotationPresent( gw.lang.Deprecated.class );
  }

  @Override
  public String getDeprecatedReason()
  {
    String deprecated = super.getDeprecatedReason();
    if( isDeprecated() && deprecated == null )
    {
      return (String) getField().getAnnotation( Deprecated.class ).getFieldValue("value");
    }
    return deprecated;
  }

  @Override
  public boolean isPrivate()
  {
    return Modifier.isPrivate( _field.getModifiers() );
  }

  @Override
  public boolean isInternal()
  {
    return !isPrivate() && !isProtected() && !isPublic();
  }

  @Override
  public boolean isProtected()
  {
    return Modifier.isProtected( _field.getModifiers() );
  }

  @Override
  public boolean isPublic()
  {
    return Modifier.isPublic( _field.getModifiers() );
  }

  @Override
  public String getDescription()
  {
    return getVarDocs().get() == null ? null : getVarDocs().get().getDescription();
  }

  private IDocRef<IVarNode> getVarDocs() {
    return _docs;
  }

  @Override
  public IPropertyAccessor getAccessor()
  {
    return _accessor;
  }

  @Override
  public List<IAnnotationInfo> getDeclaredAnnotations()
  {
    List<IAnnotationInfo> annotations = super.getDeclaredAnnotations();
    if( getVarDocs().get() != null && getVarDocs().get().isDeprecated() )
    {
      annotations.add( GosuShop.getAnnotationInfoFactory().createJavaAnnotation(makeDeprecated( getVarDocs().get().getDeprecated() ), this ) );
    }
    return annotations;
  }

  @Override
  public IPresentationInfo getPresentationInfo()
  {
    return IPresentationInfo.Default.GET;
  }

  @Override
  public IJavaClassField getField()
  {
    return _field;
  }

  @Override
  public String toString() {
    return getName();
  }

  @Override
  protected IJavaAnnotatedElement getAnnotatedElement()
  {
    return _field;
  }

  @Override
  protected boolean isVisibleViaFeatureDescriptor(IScriptabilityModifier constraint) {
    return true;
  }

  @Override
  protected boolean isHiddenViaFeatureDescriptor() {
    return false;
  }

  @Override
  protected boolean isDefaultEnumFeature()
  {
    return false;
  }

  @Override
  public String getReturnDescription() {
    return null;
  }

  @Override
  public boolean isCompileTimeConstantValue() {
    return Modifier.isStatic( getField().getModifiers() ) &&
           Modifier.isFinal( getField().getModifiers() ) && isCompileTimeConstant();
  }

  private boolean isCompileTimeConstant() {
    IJavaClassField field = getField();
    if( field instanceof JavaSourceEnumConstant ) {
      return true;
    }
    else if( field instanceof JavaSourceField ) {
      String rhs = ((JavaSourceField)field).getRhs();
      if( rhs == null ) {
        return false;
      }
      IExpression pr = CompileTimeExpressionParser.parse( rhs, field.getEnclosingClass(), getFeatureType() );
      return pr.isCompileTimeConstant();
    }
    else if( field instanceof AsmFieldJavaClassField &&
             ((AsmFieldJavaClassField)field).getStaticValue() != null ) {
      return true;
    }
    else if( field instanceof FieldJavaClassField || field instanceof AsmFieldJavaClassField ) {
      return field.isEnumConstant() ||
             field.getType().isPrimitive() ||
             field.getType().getName().equals( "java.lang.String" ) ||
             field.getType().getName().equals( "java.lang.Class" );
    }
    return false;
  }

  @Override
  public Object doCompileTimeEvaluation() {
    //((IJavaType)getOwnersType()).getBackingClassInfo().getDeclaredFields()
    IJavaClassField field = getField();
    if( field instanceof JavaSourceEnumConstant ) {
      return field.getName();
    }
    else if( field instanceof JavaSourceField ) {
      String rhs = ((JavaSourceField)field).getRhs();
      IExpression pr = CompileTimeExpressionParser.parse( rhs, ((IJavaType)getOwnersType()).getBackingClassInfo(), getFeatureType() );
      return pr.evaluate();
    }
    else if( field instanceof FieldJavaClassField ) {
      try {
        Object value = ((FieldJavaClassField)field).get( null );
        return CompileTimeExpressionParser.convertValueToInfoFriendlyValue( value, getOwnersType().getTypeInfo() );
      }
      catch( IllegalAccessException e ) {
        throw new RuntimeException( e );
      }
    }
    else if( field instanceof AsmFieldJavaClassField ) {
      if( field.isEnumConstant() ) {
        return field.getName();
      }
      Object value = ((AsmFieldJavaClassField)field).getStaticValue();
      return CompileTimeExpressionParser.convertValueToInfoFriendlyValue( value, getOwnersType().getTypeInfo() );
    }
    else {
      throw new IllegalStateException( "Unexpected field type: " + field );
    }
  }

  @Override
  public ILocationInfo getLocationInfo()
  {
    if( getField() instanceof JavaSourceElement )
    {
      return getField().getLocationInfo();
    }
    return super.getLocationInfo();
  }

  private class StaticAccessor implements IPropertyAccessor
  {
    @Override
    public Object getValue( Object ctx )
    {
      try
      {
        return ((FieldJavaClassField)_field).get( null );
      }
      catch( IllegalAccessException e )
      {
        throw GosuExceptionUtil.forceThrow( e );
      }
    }

    @Override
    public void setValue( Object ctx, Object value )
    {
      if( !isWritable( getOwnersType()) )
      {
        throw new EvaluationException( "Property, " + getName() + ", is not writable!" );
      }

      try
      {
        value = CommonServices.getCoercionManager().convertValue( value, getFeatureType() );
        ((FieldJavaClassField)_field).set( null, value );
      }
      catch( IllegalAccessException e )
      {
        throw GosuExceptionUtil.forceThrow( e );
      }
    }
  }

  private class NonStaticAccessor implements IPropertyAccessor
  {
    @Override
    public Object getValue( Object ctx )
    {
      try
      {
        return ((FieldJavaClassField)_field).get( ctx );
      }
      catch( IllegalAccessException e )
      {
        throw GosuExceptionUtil.forceThrow( e );
      }
    }

    @Override
    public void setValue( Object ctx, Object value )
    {
      if( !isWritable( getOwnersType()) )
      {
        throw new EvaluationException( "Property, " + getName() + ", is not writable!" );
      }

      try
      {
        value = CommonServices.getCoercionManager().convertValue( value, getFeatureType() );
        ((FieldJavaClassField)_field).set( ctx, value );
      }
      catch( IllegalAccessException e )
      {
        throw GosuExceptionUtil.forceThrow( e );
      }
    }
  }
}


text:
require "axle/errors/axle_errors"
require 'axle/errors/observer_set_name_error'
require 'axle/errors/observer_type_error'
require 'axle/errors/message_missing_required_field_error'
require 'axle/errors/message_missing_request_info_error'


An intensive professional development event for gallery and arts educators.
Engage at Tate Exchange was a peer-led professional development event in Tate's new Switch House building, representing an opportunity for mid-career or senior colleagues to work together over three intensive days to reflect on their practice, review recent research, learn about UK and international contexts and network.
The theme was exchange, in reference to Tim Etchells' poem on the Tate Exchange website.
As part of the event there was a facilitated public session on Tuesday 21 March, 4 - 6.00pm for members of the public to find out more about working in gallery education. Delegates contributed to this by speaking briefly about their journeys into gallery education and some of the challenges they faced, sharing practice or leading a surgery for example.
If you would like to volunteer please indicate on the application form.
Tate Exchange, on Level 5 of Tate Modern's new Switch House building, is a space for everyone to collaborate, test ideas and discover new perspectives on life, through art.
engage was one of 55 Tate Exchange Associates who provided a stimulating programme of exploration into the different ways that art has become active over the last 60 years and how artists have changed our understanding of what art can be an what it can do.