we don't talk about nearly enough in recommended systems.
individuals, each of whom may have their individual preferences?
>> Glad to be here Joe.
where group recommendation has shown up in the past?
>> Yeah, we can take one of the very first examples from the late 90s.
This MusicFX system was designed for a gym.
music is been played through a loud speaker so everybody hears it.
So then the question arises sort of music should be played?
each of which had different styles of music.
was a good match for the musical tastes of the people who happened to be there.
Who may have been 2 or 3 people, or maybe up to 25 people.
how do you pull together music for 3 or 5 or 25 different people?
taste are and their ways to doing this, what they did at MusicFX is quite simple.
They asked people to fill in a form, like the one you see here.
check one of these boxes for each of these 91 radio stations.
And this was the basis they use for it using stations for the group.
examples where we need to make a selection that matches a larger group of people?
as to how we make decisions.
and since we have Doodle on the screen, why don't we start there?
make it, but when it doesn't work out that easily.
How do we end up with a meeting time from Doodle?
whoever's organizing the meeting goes in and makes the decision.
and then they figure out what the best solution is.
that David is the big important boss and Richard is just a lower level person.
Now the group leader may want to give the President's to David's taste.
as to how many people can make it to a given time.
out Doodle balls, is if nobody could make it time.
I knew nobody would pick a time that big boss David wouldn't make it.
So why bother with typing an extra clicks?
is quite different for group recommenders and for individual recommenders.
That if you happen to be one of the later people to fill in your times.
are obviously not going to be chosen anyway.
different forms than it does for individual recommenders.
>> Well let's go back now to the example of MusicFX.
profiles and picking a station.
people to focus on exercising.
So, how do MusicFX decide of which genres to play?
>> Yeah, essentially what it did was give an overall rating.
>> So how did MusicFX do this?
you tried to figure out the overall rating of that radio station by the group.
Ann, Betsy, Chuck, and Dave.
And they have given these rating here.
the group at this point would be this fourth step here.
Now to make it a bit more precise, is suppose you're giving your own rating.
Let's say you actually happen to like step four.
They need the medium of these five values which would then be this fourth step.
you're in the middle there.
And similarly if you happen to give three, that would become the median.
the median would still be three because that's the middle value.
a computer, then it has basically a profile of the group as a whole.
And then it can see what the most popular station would be at the moment.
seems like half the people are reasonably happy, but potential drawbacks.
You mentioned this isn't exactly what MusicFX did.
median with sort of average square.
one thing they did in the beginning was to impose a threshold.
it as in this case here.
want to make anybody miserable.
was basically the multi user version of Movie lens that's still out there.
even median what we picked for Polly lens and I'm not claiming this was right.
a movie, was the prediction for the person who liked it the least.
would hate, and there was a movie that all six of us could barely tolerate.
We'd go to the one that all six of us could barely tolerate.
In the process was that was a pretty lousy recommender.
who just said I don't like much of anything, ended up picking the movie.
they often ignore the person who's always grumpy.
we might as well get with the rest of us like and left them be grumpy.
This also raises the issue of manipulability.
say something to try to get the effect that they want rather than be honest.
How does that work with the system like MusicFX?
>> Yeah, actually that came out very clearly as one of their first results.
They had this system as I mentioned where if something is hated wouldn't be used.
Sort of related to the misery approach you just mentioned.
simply if they didn't especially like something.
the current one, whether they hated it or not.
And consequently this system soon became unuseful.
someone would have said they hated it even if no-one really hated it.
in fact they changed that algorithm very quickly to avoid that problem.
by rating something hated when it was playing so they could change the music.
that people who went to do that and tried it discovered it didn't work anymore.
their power had been diminished.
scheduling a meeting and they will check.
I could be available all of these different times.
So those are the only times I'm going to check on the meeting form.
figure out whether you respect those people's constraints.
schedule, or whether somebody has to apply social pressure to say, you know what?
You need to provide more times, you're not playing as part of the team.
So this whole problem of manipulation is a real one.
solve it by applying social pressure in the right, it's still quite difficult.
are some aggregation algorithms which to force people to be honest.
that no matter how evil minded you are.
your students but if you just look through the various different cases.
other than what you really believe.
you don't have to worry about all those processing that you just mentioned.
have nothing to gain by manipulating.
simple people may actually pretty well see what is the case.
involves specifying preferences, decision making at the end.
All of those aspects to come up with a reasonable use of a group recommendation.
approve from EPFL, whose done a lot of work in the listening preferences.
ways of thinking more creatively about how people might express preferences.
particularly groups of people who may already know one another.
other people to have specified.
Why don't we have a look at a slide for this purpose?
We saw this slide before, but here's a point we didn't mention.
Let's suppose you are this new person here who's going to edit your preferences.
you don't really feel like having a meeting at lunch time on Monday, the 12th.
there's not going to be any good time.
find a solution so you actually specify that time as one when you're available.
first started to study this sort of thing.
involving what the million Doodle users where a tendency was found that.
the group's whole tendency will converge on a solution more quickly.
>> And I think others have found similar things in areas like travel where.
then when one of them sees, my partner wants a beach and I want skiing.
three days at the beach.
with each one of them.
is obviously an interesting and challenging one.
creative people to get involved in.


List of books in category "Biotechnology"
ChemInform Abstract: A gem-Dichloro[4.3.1]propellane and a gem-Dichloro[5.3.1]propellenone.
ChemInform Abstract: Chemoenzymatic Synthesis of (2R,5S)- and (2R,5R)-5-(1-Hydroxy-1- methylethyl)-2-methyl-2-vinyltetrahydrofuran (′Linalool Oxide′): Preparative Application of a Highly Selective Bacterial Epoxide Hydrolase.
Synthesis of BILN 2061, an HCV NS3 Protease Inhibitor with Proven Antiviral Effect in Humans.
Anne-Marie Faucher, et al. et al.
Cycloaddition Reactions of Phthalimide Substituted Cyclic Polyenes with Heteroatom Dienophiles.
An Efficient Synthesis of Bis(indolyl)methanes (BIAs) Catalyzed by a Recyclable Solid Superacid SO42-/TiO2 under Solvent-Free Condition.
J.S. de Sousa, V.N. Freire, E.F. da Silva Jr.
New Triple Molybdates Cs2LiCo2(MoO4)4 and Rb3LiZn2(MoO4)4, Filled Derivatives of the Cs6Zn5(MoO4)8 Type.


Fast and scalable delivery of images for websites, image hosting platforms and mobile applications.
Armed with dedicated edge cache, high-bandwidth uplinks and SDD/NVMe disk drives, PUSHR CDN accelerates your image delivery, offloads your app servers, and provides for a consistently high level of user experience.
Unlike competitive services, PUSHR CDN provides dedicated cache at the edge of our network. Your images will never be rotated out of the cache by more popular files of other customers.
Working as one, our 18 data centres across the globe currently serve nearly 750 000 image requests per hour and can easily do the same, but per minute.
Secure tokens and domain locks protect your images from unauthorised access, hot linking and sharing. Referer, IP and user agent blocking provides you with full control over who views your content.
Built from scratch, our automatic failover platform takes only 6 seconds to start rerouting traffic away from a failing server, data centre, or even whole region, ensuring your content is always accessible by your users.
Start your free 7-day trial with 1TB traffic and 50GB storage included.
A service by Net Stack Ltd.
By using this website you confirm to be of legal age and agree to be bound to all applicable terms of service.
© 2019 Net Stack Ltd. All Rights Reserved.


I'd forgotten about that kind of linking via ASL.
I know I'm steering the topic shamelessly, but one of the things I was wanting to do when slex asked about it (and one of the examples for why I recently made a post about controller script changes), is to make a "lookAt" script for an arbitrary bone. This is a simple implementation with math of which many examples can be found online, but without the ability to get the position and orientation of a bone, it's nearly impossible to make a lookAt script (or an IK script). Also, things would be simplified if it was just a simple "orientation" parameter rather than separated x/y/z parameters.
If a few enhancements to interfacing between the user and scripts, such as being able to load scene scripts from the scripts directory as script elements (selectable in a scripts menu), and allowing scripts to set parameters the same way parametric shapes are done (in a dialog box via the GUI), with these parameters being keyable, then lookAt, IK, particles, physics, etc can be implemented via scripts in a user-friendly way. Some of these scripts can, if useful enough, be packaged with Anim8or internally and become an integral part of the animation experience.
As I've mentioned before after working on modeling I will be addressing animation. Many of these issues will improve but not necessarily in the ways described here.
Toggling trackball visibility seems a bit confusing as is.
johnar: I agree, the trackball visibility option is clumsy to use. I'll clean this up. Currently I think that adding a per-bone disable check box in the bone parameters dialog, plus a global button to override this and disable all trackballs would work. (Or possibly a 3-state button with (Use Bone Default)/(Disable All)/(Enable All), or would that be too confusing?
Adding a per-bone disable checkbox in the bone parameters dialog could actually be un-necessary.
The option of disabling the visibilty of trackball came about because of the mess created when multiple bones are selected.
Choosing seperately which bones show trackball and which bones don't, may in reality not be an easilly workable option. (when working intertmittently with single then multiple bones, it would be near impossible, in most cases, to know beforehand which trackballs you need to hide.) (if this doesn't make sense, let me know and i'll try explain more clearly).
Maybe it would fit in the sidebar, next to the 'axis' button?
Hey, Steve. I've just seen this post, and that script is just amazing and very useful.
I have a character, and I've tried to link the tail bones to a target (example: bone09, bone10, bone11). All is well and good, but it only reacts to X coordinates.
So it seems I can not add the Y coordinates, or I'm not doing it right.
2) Double click on the bone09-Y and then bone09-Z and assign them their respective values.
I've attached simple example that does something similar.
But I did how you said, and now I have control over X and Y axis.
I had to create a keyframe for bone_Y (it didn't show otherwise), and after I created the script, the keyframe disappeared and now the controller works just fine.
One million thanks for this, man!
Btw, any updated versions for the IK tool?
Been thinking more about trackball visibility, re difficulty in using overlapping trackballs.
Just a thought here, but maybe, what if, only the last bone selected shows the trackball. That would end the birdsnest of multiple trackballs showing at once, and if the trackball you need isn't the one showing , when you enter FK from IK, then you just click on the appropriate bone to show the appropriate trackball.
After all, is there any need to show more than one trackball at a time?


text:
Q: How to save values of a custom input field on the Network > Site Info screen I'm struggle with implementing a custom input field on the screen of a Site Info in a Network. I've managed to create a field with help of this post but i have problems with saving the value.
When i output the $_POST variable in the admin_footer-function, it is an empty array.
<?php
add_action('admin_footer', 'pg_custom_site_options');
function pg_custom_site_options(){

    global $pagenow;

    if( 'site-info.php' == $pagenow ) {

        global $details;

        $blog_id = isset( $_REQUEST['id'] ) ? intval( $_REQUEST['id'] ) : 0;
        if ( ! $blog_id ) wp_die( __('Invalid site ID.') );

        $saved_value = get_blog_option( $blog_id, 'blog_order');

        ?>

                Order
                <input type="text" size="5" name="blog[blog_order]" value="<?php echo esc_attr( $saved_value ) ?>" >

        <?php

        // DON'T USE IT - SEE MY THE ANSWER BEHIND
        // ---------------------------------------

        // Use a default value here if the field was not submitted.
        // $new_field_value = '0';

        //global $_POST; // Just a Test

        // echo var_dump($_POST); // Is an empty array :(

        // if ( !empty($_POST['blog']['blog_order']) ){
        //     $new_field_value = $_POST['blog']['blog_order'];
        // }else{
        //     echo "nothing to do here";
        // }

        // save option into the database
        // update_option( 'blog_order', $new_field_value);
    }
}
?>

The strange part is, all values are presented after submit / reload of the site in Chrome Developer Tools or Firebug.

A: The problem was a redirect in site-info.php. After that the $_POST variable was empty in the code inserting in the admin_footer.
I just need to use a further hook 'admin_init' and save the value here.
add_action('admin_init', 'pg_save_custom_site_options');
function pg_save_custom_site_options(){

    global $pagenow;

    if( 'site-info.php' == $pagenow &&
        isset($_REQUEST['action']) &&
        'update-site' == $_REQUEST['action']
    ) {
        // Use a default value here if the field was not submitted.
        $new_field_value = '0';

        if ( isset( $_POST['blog']['blog_order'] ) ) {
            $new_field_value = intval( $_POST['blog']['blog_order'] );

            // save option into the database
            if( is_int($new_field_value) ){
                update_blog_option( $_POST['id'], 'blog_order', $new_field_value );
            }

        }

    }
}

redpajama_set_name: RedPajamaStackExchange


Utica PEG-C 37413201 Wire Spill Switch, 47 in.
Utica 37413001 WIRE TRANSFORMER BROWN 15 IN. Utica 37413002 WIRE TRANSFORMER WHITE 15 IN. Utica 37413201 Wire Spill Switch, 47 in.
Utica PEG-C 37414401 Wire, Pressure Switch to J-Box, 34 in.
Utica 37413602 HARNESS IGN TO G/V 18 IN. Utica 37414401 Wire, Pressure Switch to J-Box, 34 in. Utica 37513301 WIRE ROLLOUT/SPILL 28 IN.


NOTES: Neotropical Institute Cut # 8. Bulk reel: 154 Weather: cloudy. Natural song. Then after playback. I don't know if this same bird as Cuts 5/7 but the bird responding to playback of this recording was then collected and proved to be a female (#7145). Quality: 2; Level: +5.


Most of us have been in the situation where we needed to charge our phone and there was no outlet around. For me it was many feet up in the air on a sky ride at an amusement park, viewing some of the most gorgeous floral displays I had ever seen. I knew I had taken a lot of pictures that day, so it wasn't surprising to me that my phone battery died, I just wish it would have waited a few minutes more. ;) With the MyCharge Qi-Enabled Wireless Charger, things would have been different, and I would have had some lovely pictures for my scrapbook.
The Qi-Enabled Charger is a wireless powerbank that can be used anywhere. You can get it in four different power capacities. I have the Unplugged 3K. It's pretty awesome for several reasons. One is that wireless capability. I love that you can charge without a plug. I also appreciate that it's small, and lightweight (it's really so light!) which makes it extremely portable.
Another most excellent feature is that it can charge two devices at once. Here it is charging my phone and my youngest son's Kindle. It comes with the USB cord so you can charge both simultaneously.
Here is a picture of the ports with nothing in them, just so you can get a look.
My 2nd oldest son's phone isn't compatible with this wireless charger (it's an iPhone 6S which I guess isn't compatible with a lot of the wireless technology) but a lot of the Apple products are compatible. Just be sure to check before you make the purchase. If your phone doesn't charge with the wireless technology, you can still plug in the USB cord from your device to the charger and it works like a power bank, but better because The MyCharge is so light and small. Also in the photo above is my phone. You'll see it has an OtterBox protective case (my favorite brand). I can use the wireless charger but because the case is so thick I have to take it off for it to charge properly (if I want to use the wireless capability). That's not convenient, so I also just use the included USB cord to go from the charger to my phone.
I think there is so much going on with this charger and it's really just lovely! I always highly recommend MyCharge products. I have been using them for a long time now, and have never been disappointed. If you'd like to learn more about this and any of their other chargers, visit the website here. You can also follow them on Facebook, Twitter and/or Instagram.
One lucky winner is going to get a MyCharge Qi-Enabled Wireless Charger Unplugged 3K to call their own. US entrants only.
The Unplugged3K is a wireless charging powerbank. You can charge any wireless-enabled smartphone anywhere, without any charging cables. The portable wireless powerbank is certified to Qi standard and delivers 5 Watts of power, it is crafted to charge any Qi-enabled smartphone. Just set your smartphone on the surface and charging begins on contact. The charger is built with a bonus USB-A port, giving you the ability to charge 2 devices at once, charge one with the USB-A port and one wirelessly.
It charges phones, tablets , and laptops.
you can shade your phone from the sun!
Sounds like it works great, even if some phones don't want to work with it. Weird how they made some so annoying. Or not, as they probably just want people to upgrade.
I like the phone shade. I struggle to see my phone screen in bright sunlight.
They sell a phone shader.
I like the myFlipShade in pineapple.
I'm in. What a great gadget to have. Great giveaway.
I like that they offer so many different types of chargers.
The phone shade would be great. So hard to see the screen when you're out in the sun.
I really like the new Adventure Jump Start. This will really be handy to have.
I like that it charges multiple devices.
i learned that if you placed your order on myCharge.com your product is automatically registered.
I learned they make some super rubberized durable ones. First of all chargers I have seen I can send out with my hubby or son!
The phone has a shade cover. I've never seen anything like that before.
That I don't know crap about chargers !
I learned you can sign up for their newsletter for 15% off your first order! I really want the HubMini for when we are away from home.
The first thing I saw was the flip shade. It is something I didn't know I needed till it saw it. I was out this morning and got a text message. I had to keep moving the phone till I could read the message.
I have an older phone, so it probably wouldn't be compatible, but Jason's would. Looks like a handy dandy wireless charger!
Learned you can shade your phone from the sun.
I really like that they have devices with built-in charging cords. I'm always misplacing mine or leaving it connected in the car or at home. This makes it very convenient!
I also like the AdventureUltra.
Love that they have chargers for all kinds of different uses, like the rugged series that is rubberized and lots of "proofs" like splash proof.
You can shade your phone from the sun. Awesome!
The first thing I saw was the phone shade, and that is a GREAT idea!
They sell a car battery jump starter dealio, which I think it hilarious and amazing.
I learned there is free FedEX shipping on orders over $100.
I like the variety of products at different price points.
I like the Adventure JumpStart.
Hey, the phone shade is pretty neat to have at the Jersey Shore!
i love that i can use this to charge my laptop.
They sell other products like iPhone holder and privacy screen & shield protector and high capacity batteries that are built to charge laptops and other powerful devices.
There are different types of hubs,(portable chargers).Such as the HubMax,the HubPlus,the HubPlus C, and the Hub mini.
I learned that they offer free FEDEX ground shipping on orders of $100+.
I like the phone shaders and that multiple devices can be charged.
I learned that you can charge multiple devices.compatible with phones ,laptops and tablets.
I learned that this charger does not require any cords which is something we are always misplacing or replacing!
I like that it can also work as a regular charger meaning you can plug devices into it with the correct charging cord.
I learned the Amp Series chargers are compact, simple and reliable for charging smartphones and other USB devices.
I like the Adventure Series - built to take anywhere.
I learned that TSA, FAA and the airlines will allow you to carry your myCharge portable powerbank onto the plane.
I really liked it will shade your phone from the sun, needed in AZ for sure.
I most like their phone shaders!
In June they donatated 5% of proceeds to The Trevor project. They also offer a discount if you sign up for their mailing list. It's a great product to have, not only for ourselves but for those of us sending our kids away to school. One less thing for us to worry about!
I seen that they sell a portable laptop charger. This would have been great when I was in school. The price of 179 is not bad either. Think about it you are going on vacation you forgot to email your work in before you left and get stranded somewhere with electric outlets that do not fit your charger if you brought this you will be good to go!
I learned Charge time varies depending on both the powerbank and input source (wall outlet, computer port or car adaptor). The average powerbank charges in 3-6 hours.
I love that it will charge different devices!
I like that it is a reliable travel companion.
It can charge multiple devices.
I like that you can charge 2 devices at once.
I like the hub mini. It looks really useful.
I learned that I dont ever have to have a dead battery again!


text:
Sudan finds mass grave likely linked to foiled 1990 coup
FILE – In this Aug. 24, 2019 file photo, Sudan's autocratic former President Omar al-Bashir sits in a cage during his trial on corruption and money laundering charges, in Khartoum, Sudan. On Tuesday, July 21, 2020, al-Bashir is back in court, this time facing charges of plotting the 1989 Islamist-backed coup that removed an elected government and brought him to power. The trial adjourned until Aug. 11. (AP Photo, File)
CAIRO (AP) — Sudanese authorities have found a mass grave believed to contain the bodies of 28 army officers shot in a foiled coup attempt against former President Omar al-Bashir in 1990, the public prosecutor said late Thursday.
It was the second Bashir-era mass grave uncovered in as many months.
Al-Bashir's repressive rule collapsed last year, when the military ousted him after months of street protests.
The transitional government, jointly led by civilians and army generals, is navigating a fraught path toward democratic elections and trying to hold al-Bashir's government accountable for crimes committed over the 30 years that he ruled Sudan with an iron fist.
"Evidence indicates that the mass grave is most likely where the bodies of the officers lay who were killed and buried in a ruthless manner," said the public prosecutor statement. A team of 23 experts took three weeks to identify and uncover the site, which remains heavily guarded, it added.
There was no immediate comment from al-Bashir's defense lawyers.
The 28 officers who sought to overthrow al-Bashir were arrested and executed in murky circumstances in the spring of 1990. Al-Bashir had been a little-known general when he vaulted to power in a military-backed Islamist coup the year before, toppling the democratically elected government.
Al-Bashir, 76, who is already imprisoned for corruption and facing several other trials, appeared in court earlier this week over charges of plotting the bloodless 1989 coup that brought him to power. The trial is seen as a rare attempt at historical reckoning in Sudan, long convulsed by military coups, tumultuous party politics and civil strife.
In the decades that followed, the government hosted Osama bin Laden, among other militants, rolled back personal freedoms, oversaw a bloody counterinsurgency campaign in the western Darfur region and brutally quashed protests.
The discovery of two mass graves, the one found earlier holding the bodies of student conscripts shot or beaten to death after trying to flee a military camp, were a reminder of the scale of alleged human rights violations during al-Bashir's rule.
"Such crimes will not pass without a fair trial," the public prosecutor said, addressing the families of victims.
Transitional authorities' attempts to dismantle al-Bashir's legacy and call former officials to account have faced considerable headwinds, with the military retaining control over key portfolios.
The International Criminal Court has sought to arrest al-Bashir on charges of war crimes and genocide linked to the Darfur conflict in the 2000s, when the government launched a scorched-earth assault of aerial bombings and unleashed militias known as the Janjaweed, who are accused of mass killings and rapes.
Sudan's transitional authorities announced earlier this year they had agreed to send al-Bashir to the ICC at The Hague, but have not acted on the decision.
by RISHI LEKHI and AIJAZ RAHI, Associated Press / Jan 20, 2021
THULASENDRAPURAM, India (AP) — A tiny, lush-green Indian village surrounded by rice paddy fields was beaming with joy Wednesday hours before its descendant, Kamala Harris, takes her oath of office and becomes the U.S. vice president.
Harris is set to make history as the first woman, first woman of color and first person of South Asian descent to hold the vice presidency.
Colombia says it's ready to distribute coronavirus vaccines
by MANUEL RUEDA, Associated Press / Jan 19, 2021
BOGOTA, Colombia (AP) — Colombian officials say that they are ready to distribute millions of COVID-19 vaccines, once the shots arrive in the South American country.
On Tuesday, officials from the Ministry of Health took journalists through a temperature-controlled warehouse in Bogota that can house up to 50 million vaccines. They displayed brand new freezers that can keep vaccines at ultracold temperatures of -80 degrees Celsius.

redpajama_set_name: RedPajamaCommonCrawl


Preikša Z, Brazaitis G, Marozas V, Jaroszewicz B (2015). Dead wood quality influences species diversity of rare cryptogams in temperate broadleaved forests. iForest 9: 276-285.
Dead wood is one of the most important indicators of forest naturalness and the most important manageable habitat for biodiversity in forests. Standing and lying dead wood, and especially coarse woody debris, plays an important part in creating habitats for many highly specialized organisms, e.g., insects, fungi, lichens and bacteria. Temperate mixed deciduous forests, rich in species, have been studied only to a small extent from the point of view of the ecology of wood-related cryptogams. Our study aimed at the reduction of the gap in knowledge about the ecological characteristics of dead wood-dependent organisms by focusing on species of cryptogams developing on various dead wood structures typical of temperate non-beech forests. Studies were performed in forests located in Lithuania, Poland, Belarus and Russia. We recorded 48 species of cryptogams: 18 species of bryophytes, 24 species of fungi and 6 species of lichens developing on dead wood. Our study stresses the importance of all types of dead wood as a substrate for the development of rare cryptogam species. Logs were the most important substratum type for cryptogams, followed by snags, dead trees and stumps. The cryptogam species richness on logs was several times higher than on the three other types of substrata. Coarse logs of intermediate decay stages hosted the highest number of cryptogams, followed by freshly fallen logs and, finally, well decayed logs. Assessing the importance of dead wood quality for the studied cryptogams, we found that intermediate decay stages are extremely important for fungi, while bryophytes or lichens do not show a clear preference. The highest number of cryptogams was found on Fraxinus excelsior, Quercus robur and Picea abies, while other tree species had less than half cryptogam species.
Bryophytes and decaying wood - a comparison between managed and natural forest. Holarctic Ecology 14: 121-130.
Wood-inhabiting fungi and substrate decline in selectively logged boreal spruce forests. Biological Conservation 72: 355-362.
Threatened plant, animal and fungus species in Swedish forests: distribution and habitat associations. Conservation Biology 8: 718-731.
Bialowieza primeval forest as a remnant of culturally modified ancient forest. European Journal of Forest Research.
A stratification system for ecological sampling. In: "Ecological mapping from ground, air and space" (Fuller RM eds). ITE Symposium 10, Institute of Terrestrial Ecology, Cambridge, UK, pp. 39-46.
Old-growth forest structure and deadwood: are they indicators of plant species composition? A case study from central Italy. Plant Biosystems 142: 313-323.
Epixylites lichenicolous fungi and their links with different kinds of wood. Phytocoenosis 8 (NS) Archivum Geobotanicum 6: 75-111.
Dead wood in European beech (Fagus sylvatica) forest reserves. Forest Ecology and Management 210: 267-282.
EstimateS: statistical estimation of species richness and shared species from samples (version 9). Web site.
Estimating terrestrial biodiversity through extrapolation. Philosophical Transactions of the Royal Society B 345: 101-118.
Dead wood and saproxylic beetles in set-aside and non set-aside forests in a boreal region. Forest Ecology and Management 255 (8-9): 3340-3350.
Boreal forests. Ecological Bulletin 43: 16-47.
Cryptogamous plants in the forest communities of Bialowieža national park: general problems and taxonomic groups analysis. Phytocoenosis 7, Archivum geobotanicum 4, Warszawa-Bialowieza, Poland, pp. 176.
Does time or habitat make old-growth forests species rich? Bryophyte richness in boreal Picea mariana forests. Biological Conservation 141: 1389-1399.
Afiloforiečiai 2 [Aphyllophorales]. Mokslas ir enciklopedijos, Vilnius, Lithuania, pp. 232.
Evaluation of Swedish woodland key habitats using red-listed bryophytes and lichens. Biodiversity and Conservation 8: 1101-1114.
Human disturbance and natural habitat: a biome level analysis of a global data set. Biodiversity and Conservation 4: 125-155.
Three explanations of the positive relationship between distribution and abundance of species. In: "Species diversity in ecological communities" (Ricklefs RE, Schluter D eds). University of Chicago Press, Chicago, IL, USA, pp. 108-116.
Does size matter? On the importance of various dead wood fractions for fungal diversity in Danish beech forests. Forest Ecology and Management 201: 105-117.
Wood-inhabiting macrofungi in Danish beech-forests - conflicting diversity patters and their implications in a conservation perspective. Biological Conservation 122: 633-642.
Lichens and bryophyte communities of planted and semi-natural forests in Britain: the influence of site type, stand structure and deadwood. Biological Conservation 107: 165-180.
Models and management implications of coarse wood debris impacts on biodiversity. In: Proceedings of the Workshop "Coarse Woody Debris in Southern Forests: Effects on Biodiversity" (McMinnn JW, Crossley DA eds). Athens (GA, USA) 18-20 Oct 1993. USDA Forest Service, Athens, GA, USA, pp. 139-143.
Diversity of fungi on decaying common oak coarse woody debris. Ekologija 4:22-30.
Influence of boreal forest succession and dead wood qualities on saproxylic beetles. Agricultural and Forest Entomology 9 (1): 3-16.
Categorical data analysis: away from ANOVAs (transformation or not) and towards logit mixed models. Journal of Memory and Language 59: 434-446.
Lietuvos kiminai ir žaliosios samanos [Sphagnum and green mosses of Lithuania]. Botanikos institutas, Vilnius, Lithuania, pp. 402.
Size matters in studies of dead wood and wood-inhabiting fungi. Fungal Ecology 4 (5): 342-349.
Wood-inhabiting cryptogams on dead Norway spruce (Picea abies) trees in managed Swedish boreal forests. Canadian Journal of Forest Research 29: 178-186.
Epiphytic lichen diversity on Salix caprea and Populus tremula in old-growth forests of Finland. Mitt. Eidgenoss. Forsch. Anst. Wald Schnee Landsch 70: 125-132.
Cyanobacterial macrolichens on Populus tremula as indicators of forest continuity in Finland. Biological Conservation 75: 43-49.
Epiphytic lichen flora and diversity in old-growth boreal forests of Finland. Publications in Botany from the University of Helsinki 23: 1-29.
Epiphytic lichen diversity in old-growth and managed Picea abies stands in southern Finland. Journal of Vegetation Science 9: 283-292.
Wood-inhabiting fungi on fallen logs of Norway spruce: relations to forest management and substrate quality. Nordic Journal of Botany 18: 243-255.
Snags and their lichen flora in old Estonian peatland forests. Annales Botanici Fennici 38: 265-280.
A sustainable forest fuel system in Sweden. Biomass Energy 15: 399-406.
Potential harvest for wood fuels (energy wood) from logging residues and first thinnings in Southern Finland. Biomass Energy 20: 189-196.
Cryptogam communities on fallen logs in the Duke Forest, North Carolina. Journal of Vegetation Science 8: 115-124.
Lapiškosios ir krumiškosios kerpes [Ascomycetes lichenisati. Species foliosae et fruticosae]. Valstiečiu laikraštis, Vilnius, Lithuania, pp. 311.
Lichens - indicators of old-growth forests in biocentres of Lithuania and north-east Poland. Botanica Lithuanica 10 (1): 59-74.
A review of habitat thresholds for dead wood: a baseline for management recommendations in European forests. European Journal of Forest Research 129: 981-992.
Vadovas Lietuvos kerpems pažinti [Manual for identification of liverworts of Lithuania]. Zodynas, Vilnius, Lithuania, pp. 244.
Interaction of fungi at late stages of wood decomposition. Annales Botanici Fennici 32: 141-150.
Biodiversity and its assessment in boreal and nemoral forests. Scandinavian Journal of Forest Research (Supplement 3): 10-26.
Relative importance of coarse and fine woody debris for the diversity of wood-inhabiting fungi in temperate broadleaved forests. Biological Conservation 117: 1-10.
Preferences of dead wood inhabiting bryophyte for decay stage, log size and habitat types in Hungarian beech forests. Journal of Bryology 26: 79-95.
Habitat qualities versus long-term continuity as determinants of biodiversity in boreal old-growth swamp forests. Biological Conservation 81: 221-231.
Cryptogams on decaying wood in old-growth forests on southern coastal British Columbia. Journal of Vegetation Science 10: 883-894.
Experimental design and data analysis for biologists. Cambridge University Press, Cambridge, UK, pp. 527.
Natural woodland-ecology and conservation in northern temperate regions. Cambridge University Press, Cambridge, UK, pp. 522.
Renvall P (1995) Community structure and dynamics of wood-rotting Basidiomycetes on decomposing conifer trunks in northern Finland. Karsten 35: 1-51.
Bioclimatic map of Europe: bioclimates. Cartographic Service, University of Leon, Spain.
Temperate forest management: its effects on bryphyte and lichen floras and habitats. In: "Bryophytes and Lichens in a Changing Environment" (Bates JW, Farmer AM eds). Clarendon Press, Oxford, UK, pp. 211-233.
Dying and dead trees - a review of their importance for biodiversity. ArtDatabanken, Uppsala, Sweden.
Nested by design: model fitting and interpretation in a mixed model era. Methods in Ecology and Evolution 4: 14-24.
Forest management, coarse woody debris and saproxylic organisms: Fennoscandian boreal forests as an example. Ecological Bulletin 49: 11-41.
The occurrence of epixylic bryophyte and lichen species in an old natural and a managed forest stand in northeast Sweden. Biological Conservation 45: 169-178.
The ecological role of coarse woody debris: an overview of the ecological importance of CWD in BC forests. Working Paper 30/1997, Research Branch, BC Ministry of Forests, Victoria, British Columbia, Canada, pp. 26.
Dead branches on living trees constitute a large part of the dead wood in managed boreal forests, but are not important for wood-dependent lichens. Journal of Vegetation Science 25: 819-828.
Assessing conservation values of forest stands based on specialised lichens and birds. Biological Conservation 95: 343-351.
Sampling coarse woody debris for multiple attributes in extensive resource inventories. Ecological Indicators 1: 139-153.
Stump harvesting for bioenergy - a review of the environmental impacts. Forestry 83: 17-38.


Russian President Vladimir Putin clearly knows his classics in battle strategy as he is applying the proverb "The enemy of my enemy is my friend" with his overtures to Turkey about a gas supply line in a standoff with the European Union over Ukraine, laying bare the political weakness of the block.
Turkey is not an enemy of the EU but Turkey's President Tayyip Erdogan is not getting a lot of warm feelings from the continued talks with the EU about Turkey's membership.
Worse, a number of far right parties in European Union states that are gaining in opinion polls are very much against Turkey's membership on the basis of a difference in culture and values. Some more moderate parties agree, on religious grounds or because of the subordinate role of women in Turkey's society, or because of the split in economic development between Istanbul and the rural areas.
While there are some valid questions about the scope and extent of the European Union and its relationship with countries in the near East, the western European countries are well advised to keep friendly ties with Turkey.
Not just because of the economic ties and the population ties, and despite a continued pervasive role of the military, a spotty record on human rights, the thorny issues of Kurds and Armenians and increasing concessions to Islamic clerics and their teachings.
Turkey is a key state in its region and could play an even more important role in containing and battling extremist-Islamist groups such as Isis.
Putin comes with a smile and a gift – Russian gas will flow to Turkey, at a discount, and then further to clients in Europe.
For that, Putin cancelled the South Stream Project in which gas would have flown through Bulgaria. This project had run into EU competition obstacles that Putin said were denying Bulgaria it "sovereign rights".
So Putin deals with Turkey and also puts himself forward as the protector of Bulgaria's statehood, using the same "sovereign rights" argument that west Europe and the United States use as the basis for their support to the Kiev government against perceived Russian support to eastern separatists. It is getting increasingly difficult for Russia to deny its involvement in east Ukraine, with some military commanders openly boasting about their role.
The South Stream Project had become impossible, at least in the coming time, because of the economic sanctions by the EU on Russia and Gazprom over Ukraine. The EU will need to speed up its efforts to cut its reliance on Russian gas, which could be good news for Algeria and, eventually, Libya.
Russia's interest in Turkey is not new. Russia has always been keen in having access to the Mediterranean and the near and middle East for geo-strategic and trade interests.
By showing a pincher movement now, with Turkey, potentially Bulgaria and with persistent military pinpricks in the European skies and seas, Putin is flexing his muscles and provoking the EU and NATO into a reaction.
Even without such a reaction, be it heavier sanctions or military moves, Putin is revealing the weaknesses of the European Union.
He is the president of Russia, he decides. Erdogan is the freshly elected president of Turkey and has a good power base. The European Union has a newly elected commission but is in fact a wheelbarrow full of frogs. There is no unity, no common line and almost all the intellectual time and debate is spent to discussing internal affairs.
Britain's David Cameron threatens to leave the club altogether unless he gets an almost free ride and can dictate the rules to the others. Germany's Angela Merkel and France's François Hollande differ on how to get the economy out of its mess. Italy and Spain are at pains to let their voice be heard amid populous relative newcomers such as Poland. Hollande cancelled the delivery of helicopter carriers to the Russian navy, a move that did not earn him internal political goodwill.
The commission president used to run the block's smallest country, Luxembourg, and the foreign policy supremo, Italy's Federica Mogherini, is relatively inexperienced. She became Italy's foreign minister in 2013 after having been a parliamentarian and party executive. Mogherini is an undisputed expert in foreign policies, however, from her university studies to today.
The problem with the European Union is that the "Europe" part is getting bigger and the Union bit is getting weaker all the time. Yet without the EU, the constituent countries are but flotsam on the waves of international politics. Whatever the big British Empire, French colonies or Dutch trading history, the past is not now.
If Europe cannot make a fist against Putin, over Ukraine today and over other issues in the near future, how can it expect to face an increasingly powerful China, the emergence of Islamist states and the economic rise of African countries? How can it ever get rid of its image as a poodle of the United States if the European countries constantly fight over the tiniest bone of contention?
There is another proverb – "When the going gets tough, the tough get going".
It is time for European statesmen and stateswomen to show their mettle, as if Europe was already at war. It is time to stop pandering to populist politicians that feed on hate with empty promises and un-realistic policy proposals.
It is time for a strong, democratic, leadership in Europe. And time is running out.


text:
Pável Pardo interview: '¡Marco! ¡Me encanta esta canción!' – Pappa's playlist gets Mexican midfield legend's approval
by Christian BrookesPosted on May 3, 2012 July 19, 2012
With 148 international caps for Mexico, two World Cup campaigns and a Bundesliga title included on his CV, Chicago Fire's Pável Pardo has been in a fair amount of pre-game dressing rooms, and the sound choices of one of his current colleagues is striking a chord for the midfielder.
It has been a true mixed bag for the Fire in the early throes of this season with two wins, two draws and two defeats so far in the MLS Eastern Conference for former US international Frank Klopas' team.
Away from the immediate business out on the field, the music dominating the airwaves in the Fire ranks features selections from two players who linked up for the team's second goal in the 3-2 win over Toronto FC, as well as a playlist from the man who netted the consolation in the weekend's loss to Seattle, as Pável explains.
"In my honest opinion, I like the Latin music when Marco Pappa plugs in his iPhone, or when Gonzalo (Segares) or Sebastián (Grazzini) play their music. When they put on rap I don't really like it."
Chicago Fire's Guatemalan midfielder Marco Pappa
When it comes to personal preferences for artists, Pável identifies two sides of the spectrum, with a German and Dutch DJ theme supplemented by the music of his homeland in the shape of two performers known as 'El Potrillo' (The Colt) and 'El Sol de México' (The Sun of Mexico)!
"I like electronic music – I like Paul van Dyk, John DeWitt and some DJs like DJ Tiësto. I also like Latin music, like Alejandro Fernández and Luis Miguel.
"(The first record I bought) I think it was Alejandro Fernández when I was young, a teenager."
Puerto Rican-born Mexican singer Luis Miguel, one of Pável's favourite artists
Pável, 35, made his breakthrough in the game with Club Atlas in his home city of Guadalajara in 1993 before a 1998 move to Estudiantes Tecos who were known then by the name Tecos UAG.
He then spent seven years with the prestigious Club América cementing his reputation as one of Mexico's best players and winning titles during the 2002 Verano and the Clausura and Campeón de Campeones in 2005 as well as the CONCACAF Champions Cup (as it was still known then) in 2006.
Internationally he made his debut against France in a 1996 friendly, being part of the Mexico squad that won the 1999 FIFA Confederations Cup on home soil, as well as the CONCACAF Gold Cup successes in 1998 and 2003.
He featured in three of the nation's four games at the 1998 World Cup in France as Mexico finished 2nd in Group E behind the Netherlands to progress to the last 16, though Pável received a red card in the 2-2 group stage draw with Belgium in Bordeaux.
He returned in the knockout phase game with Germany, playing the whole game as Luis Hernández gave Mexico the lead before Jürgen Klinsmann and Oliver Bierhoff won it for the Germans.
I watched this tournament on television as an 8-year-old and it was my earliest memory of Pável, and in such an international career he, as you may expect, identifies his appearances in the world's biggest tournament as the highlights.
"Of course the international memories from when I was in the 1998 World Cup in France and the 2006 World Cup in Germany are definitely the most memorable. They were amazing games because it was the World Cup."
In the 2006 tournament he played in all four of Mexico's games, in Group D with Portugal, Iran and Angola and in the last 16 match with Argentina in Leipzig as they were defeated 2-1 after extra-time thanks to Maxi Rodríguez' magnificent strike.
The player who gave the Mexicans an early lead in that game though is a current New York Red Bulls player and one of the four players Pável would select in his fantasy team of five players (the player choosing the team must include themselves by the way!).
"I would have Oswaldo Sánchez, Rafa Marquez, Xavi and Lionel Messi."
The 2006 World Cup in Germany was, as it transpired, a precursor for Pável's move to the country permanently with VfB Stuttgart where he won the Bundesliga title in his first season, ending the club's 15-year wait for the crown.
He also featured in the UEFA Champions League and Europa League (still known as the UEFA Cup at the time) and he looks back at his three years in Germany as a fantastic experience on and off the pitch.
"For me, it was really easy to adapt. I have a winning mentality, am disciplined, and for everything I give 100%, so it was interesting.
"When you learn the language you learn the culture, so I enjoyed my time there. Every day they give 100%, which I enjoy, I had success on the field but I also enjoyed the time I spent there learning the language and the culture."
At the end of his time with Stuttgart in 2009 he returned to Club América, playing a further century of games domestically and this was the year in which he last played for the national team.
Pável picks out two players who he sees as the most talented Mexico has to offer at present, both of whom have plied their trade here in England's top flight in recent years.
"Definitely two players I like are Carlos Vela, who plays in Spain (with Real Sociedad on loan from Arsenal) and Giovani dos Santos, who is playing in the Premier League (for Tottenham Hotspur). They have so much talent."
There is another national team player who Pável has praised before and this leads on to his view on the English top division, and I wondered if at any time in his career he has come close to joining a club over here.
"Yes I like Manchester United because they have a Mexican in Chicharito (Javier Hernández), but I like the team, I like the club, and I like the philosophy of the club. Of course now Manchester City is playing well, so I follow them.
"Another team I think is interesting is Arsenal, because it's interesting to see how Arsene Wenger does his job developing the young players. I never came close to playing in England."
In July 2011, Pável moved north to Chicago to join his current team and he turned out 13 times last season for the Fire, scoring on his debut against the Philadelphia Union and also weighing in with five assists.
After re-signing for the 2012 season he has played in all six regular season games so far and the second most capped player in the Mexican national team's history (second only to defender Claudio Suárez) with 11 goals assesses the progress to this point and objectives for the remainder of the year.
"Personally, I would like to score more than one goal – I said at the beginning that I would like to score so we'll see. As a team, we're on the right path, we would like to have more points than we currently have.
"It's just about looking forward because sometimes we have difficult games and you have issues in the games, but you have to figure it out in the moment and just keep working. You keep going, keep your head up and look forward."
Chicago Fire, the 1998 MLS Cup champions, 2003 MLS Supporters' Shield and 1998, 2000, 2003 and 2006 Lamar Hunt US Open Cup winners are at the Home Depot Center on Friday to take on Chivas USA with their next home game coming next Wednesday against Real Salt Lake.
Posted in InterviewsTagged Chicago Fire, footballers and music, Major League Soccer, Mexican football, Pável Pardo, VfB Stuttgart
Prev Léandre Griffit interview: Angolan dance vibes, Swedish rap and Gordon Strachan!
Next Ian Taylor interview: From the wheels of steel to the best beats in town for ex-Villa idol


text:
Q: Knockout JS radio button binding in a for each loop I'm unable to get the radio button checked even with the text matching the radio button value.
  `

      <button class="btn btn-mini dropdown-toggle" data-toggle="dropdown" style="width:90px">

      </button>

    <input type="radio" name="ExposureGroup" value="$parent.layer_name+$data" data-bind="click: $root.litho_layer_name_select_exposure,  checked:$root.litho_layer_exposure"/>

  `
Each of the litho_layer_name_selected_definitions has an array of exposures called  exposure_array_names
Now object structure looks like this.
{
    "litho_layer_definition_sk": 90000026426,
    "exposure_array_names": [
        "IF1_EDGE",
        "Combined"
    ],
    "layer_name": "3HG",
    "revision": 0
}

In the js, I have created an observable object of litho_layer_exposure
self.litho_layer_exposure = ko.observable(true);
self.litho_layer_exposure = ko.computed(function() {
      var maskset = self.maskset();
      if (!maskset) return [];

      var defs = maskset.litho_layer_definitions;
      if (_.isEmpty(defs)) return [];

      var name = self.current_litho_layer_name();
      if (!name) return [];

     var revision = self.current_litho_layer_revision();
      if (!_.isNumber(revision)) return;

_.reduce(defs, function(memo, d) {
        if (d.layer_name === name && d.revision === revision){
        memo.push(_.last(d.exposure_array_names));
    }
        return memo;
      }, []);
    });
    self.litho_layer_exposure.subscribe(function(exposure) {
      if (!_.isEmpty(exposure)) self.current_litho_layer_exposure(_.last(exposure));
    });

I tried making the below change, which didn't work either
self.litho_layer_exposure = ko.computed({
    read: function () {

      var maskset = self.maskset();
      if (!maskset) return [];

      var defs = maskset.litho_layer_definitions;
      if (_.isEmpty(defs)) return [];

      var name = self.current_litho_layer_name();
      if (!name) return [];

     var revision = self.current_litho_layer_revision();
      if (!_.isNumber(revision)) return;

    /*var exposure = self.current_litho_layer_exposure();
      if (!exposure) return [];*/

 return _.reduce(defs, function(memo, d) {
        if (d.layer_name === name &&  d.revision === revision) memo.push(d.default_exposure_name);
        return memo;
      }, []);
    },
    write: function (value) {
        //update your self.chosenAge().population value here
self.current_litho_layer_exposure(value);
self.litho_layer_exposure(value);
    },

    owner: self
});
    self.litho_layer_exposure.subscribe(function(exposure) {
      if (!_.isEmpty(exposure)) self.current_litho_layer_exposure(_.last(exposure));
    });

A: I´m pretty sure the initial error is
value="$parent.layer_name+$data"

which should lead to all inputs have literally "$parent.layer_name+$data" as value
you probably wanted to use a databinding to fill the attribute
data-bind="attr:{value: $parent.layer_name+$data}, checked: ..."


text:
Q: Requesting Permissions at Run Time in c/c++(ndk native) or Application class I want to get android dynamic rights, but I can not get or create an activity.
It is trying to use the Application class. Code-
public class Myap extends Application
{
    @SuppressLint("NewApi")
    @Override
    public void onCreate()
    {
        // TODO Auto-generated method stub
        super.onCreate();
        Intent intent = new Intent("android.content.pm.action.REQUEST_PERMISSIONS");
        intent.putExtra("android.content.pm.extra.REQUEST_PERMISSIONS_NAMES",new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE });
        intent.setPackage("com.android.packageinstaller");
        startActivity(intent, null);
    }
}

Or call ndk reflection, I do not know how to do.


text:
Q: After using killall -u root, I am unable to access server and all websites are down I am using CentOS server.
I wanted to test how to kick users by kicking myself (root) user.
I used killall -u root and it kicked me from the server which was as expected. However I am no longer able to access the server:
root@kali:~# ssh 383.123.418.10
ssh: connect to host 383.123.418.10 port 22: Connection refused

and all websites that were hosted on this server (cPanel and WHM) are down.
How do I fix this?

A: From the killall(1) man page

killall sends a signal to all processes running any of the specified commands. If no signal name is specified, SIGTERM is sent.
  ...
-u, --user
  Kill only processes the specified user owns. Command names are optional.

Your command

killall -u root

Will kill all (or at least many) processes running as root.
This is a fairly effective way to break the system
Solution
Restart the system. If you have access to a console and are able to log in you may be able to reboot. Depending on the type of system/hosting package you may have access to such things as a reset/power switch. A control panel,IPMI or other out of band management etc.
If none of the above are available then call your hosting provider and get them to reset it.

A: The command killall -u root is likely to have killed sshd. That's why you can't log in. I think it's a BOFH command
Go in the server room and press the reset button. It is likely to be in front of the server.
Once the server boots up, you are likely to be able to log in again.

A: From this state reboot is the only way. If your server has remote management card (ILO/DRAC/etc) you can do this remotely, otherwise just press reset.

A: Reboot the server will also help if you have turned on ssh service on every reboot/restart with below command
chkconfig sshd on

If you have not done this earlier and you server is lying on remote area, which is not physically accessible then just contact your hosting provider or data-center to restart the server manually and start sshd service for you.
After reading your question i remembered one of the quote by Frank Wilczek.
 "If you don't make mistakes, you're not working on hard enough problems." – Frank Wilczek

Hoping its not a big blunder made by you. Once sshd compes up you can verify all the services if they are not running just start them.


We can start off with a bit of good news.
A Christian woman on death row in a Sudanese prison has been released on the orders of a court in Khartoum following an international outcry over her sentence and treatment.
Meriam Ibrahim, 27, had been sentenced to 100 lashes for adultery and to be hanged for apostasy after refusing to renounce her faith. Her case led to an international campaign, drawing in political and religious leaders, celebrities and human rights organisations. As you can see, there is value to our outcries.
Tajikistani national Alexander Sodiqov, who is a resident in Canada, was arrested on 16 June in eastern Tajikistan while conducting academic research. There are fears for his safety and concerns that he may face torture or other ill-treatment. Please act on his behalf.
Roberto de Jesús Guerra Pérez, director of the independent news agency Hablemos Press has been receiving threatening telephone calls and was assaulted on the streets of Havana, the capital. He believes these are attempts by the Cuban authorities to dissuade him from continuing his activities as a journalist. Please register your protest over this violation of freedom of the press.
Striking Swaziland sugar workers need your support! This is a click and send, so please devote a second or two.


text:
Bharti Airtel boss Sunil Mittal hints at mobile services rate hike in six months
Airtel reported an increase in the ARPU to Rs 157 in the first quarter ended June 30, 2020. The rise in ARPU came after the tariff hike by Bharti Airtel in December 2019.
Mittal said that while telecom operators have served the nation during the difficult times, the industry needs to invest in 5G, more optical fibres, submarine cables etc.
Bharti Airtel chairman Sunil Bharti Mittal on Monday hinted at an increase in mobile services prices in the next six months, saying that data at low rates is not sustainable for the telecom industry. He said that 16 GB data consumption a month for Rs 160 is a tragedy.
"You either consume 1.6 GB of capacity per month either at this price point or you may prepare to pay a lot more. We are not wanting USD 50-60 like the US or Europe but certainly USD 2 for 16 GB a month is not sustainable," Mittal said at an event.
Mittal also said that the average revenue per user (ARPU) is expected to cross Rs 200 in six months on digital content consumption. ARPU is the measure of revenue generated per user for a telco. "We need a Rs 300 ARPU in which you will still have lower end at Rs 100 a month with decent amount of data. But if your consumption is largely around watching TV, movies, entertainment and depriving other vital special services networks, then you need to pay for that," Mittal said at the launch of a book written by Bharti Enterprises executive Akhil Gupta.
Airtel reported an increase in the ARPU to Rs 157 in the first quarter ended June 30, 2020. The rise in ARPU came after the tariff hike by Bharti Airtel in December 2019. Mittal said that while telecom operators have served the nation during the difficult times, the industry needs to invest in 5G, more optical fibres, submarine cables etc.
"Businesses which are not in telecom, also need to adopt digital. You should see solid ARPUs building up in the next 5-6 months for the industry to be sustainable. We are down to 2-3 players now. India is a very price conscious market. In six months time we should be crossing the mark of Rs 200 for sure and Rs 250 would be ideal," Mittal said.
Bharti Airtel boss Sunil Mittal hints at mobile services rate hike in six&nbspmonths
3Vaio makes India comeback with E15 and SE14 laptops; specs, price and everything to know


Since the invention of cash, most people have seen it as an absolute necessity. Only science fiction writers and their fans envisioned the day when it would be rendered obsolete. That began to change with the arrival of mobile payment apps that made it easy for anyone, not just big stores, to accept money in forms other than the standard cash, checks, and credit cards.
Now, however, cash is being seen as more than an inconvenience. Recent events in India and Venezuela, where badly-handled mandates to remove bills from circulation resulted in chaos, riots, and looting, show that it can be a huge liability. There, inflation had rendered the most popular denominations almost worthless, so the governments simply ordered them removed from circulation. This left the people with no way to pay for things before they could exchange their bills for the new ones.
Such problems wouldn't exist in an economy that didn't rely on cash. Fortunately, solutions already exist that make the transition to a cashless economy possible. One solution for transitioning to a cashless economy is mBeaconPay.
mBeaconPay is a cashless terminal that works at all sorts of points of sale. What makes it different from traditional POS systems is its mobility. This is a great help for vendors and service providers who need to be able to complete transactions away from a cash register. Customers will love being able to charge or otherwise pay for things even when they're miles away from your store or office.
Thanks to this type of technology, the dream of bringing cashless transactions to an entire society is not out of reach. Someday soon, every vendor will be able to accept electronic payments wherever they are. Then, there will no longer be any need for cash.


text:
The Unreal Engine contains several components. Each can work independently, but they're kept humming along in harmony by a central "core engine." Since everything's neatly modularized, licensees of the Unreal Engine's technology can easily customize or replace any individual component without drastically changing the core engine (and raising costs or delaying delivery—two of the industry's worst no-nos). This section introduces you to each Unreal Engine component, and shows how they work together to deliver an Unreal gaming experience.
The Graphics Engine
The graphics engine controls what you see while you're playing a game; it produces the jaw-dropping visuals that appear as you blast your way to victory. Without it, you'd just see a tremendous list of ever-changing property values, such as the player's location, health, any weapons they are carrying, ammo, what animation is currently playing, and so on. Fat lot of fun that would be. Thankfully, the graphics engine translates this information into the lush environments you see during gameplay (see FIGURE 1.13).
Figure 1.13 The graphics engine is responsible for turning vast lists of properties into interactive imagery on the screen.
The graphics engine is responsible for "behind-the-scenes" calculations few players ever think about. For example, it determines which objects display in front of others, and which objects should "occlude" (hide) others from view.
In Unreal Engine 3, when you occlude "rear" objects from view, they don't render at all. That frees up processing cycles for something more useful. Previously, developers had to perform these intricate manual level optimizations themselves. Now, Unreal Engine 3 handles that for you—just one way it's been optimized to improve performance and save you time.
Certain aspects of level optimization are still in place, and work with the rendering engine to help control what the player can and can't see. Unreal Engine 3 supports Level Streaming, which allows different sublevels to be loaded or unloaded from memory during gameplay. With Level Streaming, when a player enters one section of a level, the area he's exiting can be dumped from memory and no longer rendered by the graphics engine. This means you can present the player with truly vast environments without ever exposing them to a loading screen or a break from the action. For more about Level Streaming, see Chapter 12, "Level Streaming."
You'll hear that term—rendering—a lot in this book. What does it mean? It's just the way a computer graphics program generates an image from the information it's been handed: information about things like geometry, viewpoint, texture, lighting, and shadows.
The Unreal graphics engine also renders the various shaders and materials that are applied to all your objects. (For now, all you need to know about shaders is that they give you a lot more flexibility in controlling how your graphics render.)
As we've mentioned, one important part of rendering is lighting. Unreal Engine 3 boasts an extremely robust lighting system. That allows for dynamic lighting and shadowing, soft shadowing effects, and, well, more realism. You learn a lot more about this in Chapter 7, "Introduction to Lighting."
The Sound Engine
It's been said that 90 percent of what you perceive is in what you hear. Indeed, even the most visually entertaining films and games lose their punch with the sound turned off. Many players take the nuances of game sound for granted, not realizing the tremendous sound layering that takes place in today's games: the active sounds of the player running through sand, the shattering of glass, the report of gunfire, the ambient noises such as running water or wind and rain... even the dynamic, fully orchestrated soundtracks that change as the action changes. There's a lot to sound in games these days.
The sound engine makes these effects possible in your game. It takes all the sound effects you've recorded and imported, queues them based on certain events in the game (such as playing an explosion sound when a grenade is thrown), and re-creates them as closely as possible, using the sound hardware built into the computer or gaming console.
Unreal Engine 3's sound engine is surprisingly easy to use. You import your sound effects or music, and use them to construct SoundCues—lists of instructions that control how sounds are played. For example, SoundCues might control whether a sound loops, whether its pitch or modulation should be tweaked, or whether it should be combined with other sound bites.
The Physics Engine
You live in the universe. You see how objects react when they bounce off each other. At a deep, instinctual level, knowledge of the laws of physics is built right into you. But that knowledge isn't built right into your PC or game console. If you want realistic collisions and explosions in your game, those have to be programmed. Trust us. You don't want to have to do that on your own. With Unreal Engine 3, you don't have to; your in-game physics are handled through NVIDIA's state-of-the-art PhysX physics engine.
PhysX supports a whole laundry list of physical simulations, including rigid bodies, constrained bodies, dynamic skeletal meshes (think "ragdolls"), and even cloth. Each of these can be interactive in the game and can be manipulated by the player, either directly or through scripted sequences. The physics system can also work with the sound engine to produce dynamic sound—say, whenever a physics-driven object strikes the ground (see FIGURE 1.14).
Figure 1.14 Using the physics engine, characters can turn into ragdolls.
The Input Manager
Without inputs from a player, you don't have a game; you just have a piece of game engine-driven animation, or "machinima." As a gamer, you know where these inputs come from: button presses, mouse movements, applications of pressure to analog controls—nowadays, maybe even vocal commands. Whatever its source, each input must be recognized, and then converted into a command that tells your game how to react. In Unreal Engine 3, that's the job of the Input Manager.
Each time a player produces an input, the Input Manager sets a series of properties that control what should happen in the game. For example, when a player presses the "Jump" button, the Input Manager sends a signal to the core engine, which causes it to play a jump animation, send the relevant information to the graphics engine to render that action on the screen, and queue a jump sound effect from the sound engine. All that happens very quickly; so fast, players almost never notice the delay between their input and the game's reaction.
One great thing about Unreal Engine 3's Input Manager is that it's extremely flexible. You can adjust easily when you're moving between different gaming platforms or input devices.
As Epic Games developed its Unreal Tournament series, it learned more about fast, efficient multiplayer gaming than just about anyone else – and those lessons are built into Unreal Engine 3's highly optimized network infrastructure.
During a multiplayer game, each player's computer is in constant communication with another computer that acts as a server. This server computer can also run a "client" application, which means another player can actually join in and play from the server computer. When a computer is running strictly as a server (with no client), it's called a "dedicated server." Dedicated servers are generally preferred for online gaming, as the server can use all its resources for serving, not playing.
The key to efficient network gaming is to limit the data that's sent across the network to only the most important aspects of gameplay, such as each player's position and interactions with his immediate environment. By sending only the most relevant details, you can have very fast gameplay even on slower connections. The Unreal Engine has been designed to do just that.
The UnrealScript Interpreter
UnrealScript is one of the most revolutionary aspects of the Unreal Engine. It's a scripting language that allows programmers or users to adjust virtually anything the Engine is doing, without touching the actual game source code. UnrealScript may be the #1 reason why so many people are out there creating mods and new levels for games that run on the Unreal Engine.
If you've done much programming, you may find UnrealScript familiar. In many respects, it's a lot like the popular languages Java and C++. But, as a scripting language, it's intended to be relatively easy—in fact, its creator, Tim Sweeney, said that where he had to make tradeoffs, he chose simplicity over execution speed.
The UnrealScript Interpreter is the component of the engine responsible for transforming the UnrealScripts you create into code that the engine can process (see FIGURE 1.15).
Figure 1.15 The UnrealScript Interpreter
(Note that this book won't focus on UnrealScripting. It's primarily intended to cover artist-level game asset creation.)


text:
HomeAutomobileTata Punch SUV Unveiled - Launch Price Will Be Cheaper Than Nexon
Tata Punch SUV Unveiled – Launch Price Will Be Cheaper Than Nexon
Tata Punch SUV
The Tata Punch will be positioned against cross hatchbacks like the Mahindra KUV100, Maruti Ignis and the upcoming Hyundai Casper.
Tata Motors has officially taken the wraps off its upcoming micro SUV after months of waiting. The vehicle was initially introduced as a pre-production concept at last year's Auto Expo with the name HBX and has also been referred to in the company's recent marketing campaign in the form of a social media teaser.
After months of speculation and a slew of possible model names, the carmaker has revealed that the SUV will be officially named Punch. Over the past few days, the domestic carmaker had shared several teaser videos of the same on social media. Earlier, several spy pictures of the upcoming Micro UV had gone viral on the internet.
The final production-spec model is a lot like the pre-production concept, with most of the later styling highlights taken to the punch. The crossover made its first appearance as the H2X concept which was showcased at the 2019 Geneva Motor Show. This will be the second model based on the company's ALFA platform after the Altroz and has been designed under the IMPACT 2.0 philosophy.
Unveiling the much-awaited SUV, Mr. Shailesh Chandra – President, Passenger Vehicle Business Unit, Tata Motors said – "The Tata Punch, as the name suggests, is an energetic vehicle that has the capability to go anywhere. Light on the feet and strong in its caliber, this is a vehicle that truly punches above its weight. With the right combination of stunning design, technology and driving dynamics, the Punch will be equipped with outstanding features and an architecture that has embraced all forms of life. True to the SUV gen of all Tata Motors products and to meet the needs of customers looking for a compact city car with pure SUV features, Punch is the fourth addition to our SUV family. will expand the range of options for all."
Up front, the UV mimics the much larger SUVs from Tata's lineup like the Harrier and Safari with a split lighting setup. Its muscular proportions have been enhanced with butch front bumpers featuring the main headlamps. Sleek LED DRLs are located above the headlamps paired with a gloss black grille with Tata's trademark Humanity line. The SUV-like stance is further accentuated by prominent wheel arches with black body claddings and faux front and rear skid plates.
Along with the side profile, those large wheel arches are studded with diamond-cut dual-tone alloy wheels that feel very premium. At the rear, it gets connected wraparound LED taillights that are seen on the HBX concept. Other notable styling highlights include a roof-mounted spoiler, roof rails, blacked-out pillars and ORVMs with integrated turn indicators.
Amenities on offer
In line with other modern Tata cars, the company has used a minimalist design for the interiors of the punch. Inside cabin features include a 7.0-inch free-standing infotainment screen, a semi-digital instrument console, three-spoke flat-bottom steering wheel with audio and voice controls, push-button start/stop and automatic climate control .
The infotainment system supports Apple CarPlay and Android Auto along with a range of connected car tech features under Tata's IRA technology. Safety features on offer include dual airbags as standard, ABS with EBD and rear parking sensors.
powertrain specs
The Tata Punch will be powered by a 1.2-litre naturally aspirated petrol engine that produces 85 bhp and 113 Nm of peak torque. This unit will be mated to a 5-speed manual or a 5-speed AMT gearbox. The 1.2-litre turbocharged petrol mill is also expected to be included in the lineup at a later stage. More details will be revealed at launch.
Previous articleArshi Khan's engagement with Afghan cricketer is going to happen in October, now the fear of this is haunting
Next articleAarav Confesses His Feelings For Simar
BMW IX Electric SUV India Launch Price Rs 1.16 Cr – Range 425 Km
Hyundai Tucson Safety Rating 0 Star – 2021 Latin NCAP Crash Test


text:
Keep It Dark è un singolo del gruppo musicale britannico Genesis pubblicato il 23 ottobre 1981 ed estratto dall'album Abacab.

Descrizione
Il testo racconta apparentemente un rapimento a lieto fine. Nella realtà, il protagonista è stato rapito dagli alieni, ma non può dire la verità perché sa che nessuno gli crederebbe. Nel videoclip della canzone, i tre componenti del gruppo, nel ritornello, simulano i gesti delle tre scimmie (non vedo, non sento, non parlo).

Tracce

Formazione

Classifiche

Cover
Una cover di questa canzone è stata registrata da Simon Collins, figlio di Phil, nel 2007.

Note

Collegamenti esterni

redpajama_set_name: RedPajamaWikipedia


This wonderful soup is classic in so many ways but has the addition of egg dumplings to really set it apart.
I've never been a big fan of dumplings, but I like to try new things and since we've been trying a lot of German food lately, I thought this soup would be the perfect recipe to try. The egg dumplings made me a little nervous, but they ended up being relatively easy to make and they tasted a lot like gnocchi. In fact, I think the consistency is almost dead on for gnocchi and I really enjoyed that a lot. I also used a ham hock for the very first time, which was really interesting to say the least. I wanted to stay as close to the original recipe as possible when I first made it and I didn't change anything the second time I made it. This soup reminds me a lot of beef stew but also vegetable soup. It's like the two had a baby together and this was result. So definitely give it a try! I haven't yet asked my sister-in-law (who is German) if this is an authentic recipe that is eaten in Germany, but I thought I'd share the name of the soup in German for fun: Erbsensuppe mit Eierschwämmchen.
For the soup: Fry bacon in a stock pot over medium-high heat.
Add butter and onions and cook until onions are soft, about 5 to 7 minutes.
Add remaining soup ingredients and bring to a boil.
Then reduce heat to medium-low and simmer, covered, for 90 minutes.
For the dumplings: In a large saucepan, add water and a little salt, and bring to a boil.
In a stand mixer with the paddle attachment, combine all the ingredients on a low setting for 8 to 10 minutes.
Scoop about 2 teaspoons of the dumpling dough into the boiling water.
Once the dumpling dough floats to the top simmer for 5 more minutes. Then remove with a slotted spoon and add them to the soup.
Simmer soup for 5 more minutes.
Add salt and pepper to taste and serve sprinkled with fresh parsley.
If you're looking for a quick soup, check out this Easy Egg Drop Soup. It's so fast and so easy! If you're looking for more German cuisine, this Sauerbraten (German Pot Roast) from looks incredible.


Besançon is discretely nestled in a bend of the Doubs River. Keep your eyes peeled as you wander the narrow pedestrianised streets dotted with fine private mansions, the famous Palais Granvelle and a host of other vestiges of its illustrious past, such as the curious Cathédrale St Jean. Standing proud on a rocky spur, the citadel built by Vauban is still imposing and its thick walls that have withstood time and wars attract hordes of visitors.


text:
Q: how to adjust volume in openSL ES (Android)? As I read from the official docs for openSL ES, there are capabilities for setting volume level from Audio Player. But how? I tried to get VolumeItf from the audio player but got:
SL_RESULT_FEATURE_UNSUPPORTED
Is I understood, this message means that profiles are not suuported in Android. But how to get access to volume control?
Thanks in advance

A: Create AudioPlayer object with IID_VOLUME request. Without doing this, the API returns SL_RESULT_FEATURE_UNSUPPORTED.
const SLInterfaceID ids[2] = {SL_IID_SEEK, SL_IID_VOLUME};
const SLboolean req[2] = {SL_BOOLEAN_TRUE, SL_BOOLEAN_TRUE};

(*engine)->CreateAudioPlayer(engine, &playerObject, &src, &sink, 2, ids, req);

This workaround is not straightforward but works for me on ndk r6.


How many songs has Delaney arranged for Clefs? Too many to count. How many times has she been musical director? Too many to count. How long has she been in Clefs? Not long enough!!!
Favorite Pick Up Line: I don't interact with humans.


This stunning brides bouquet is a hand held bouquet with turquoise, white and silver roses, mixed filler, 3 turquoise jewels, rhinestones, silver pearls and foliage. This bouquet is approx 12 inches.
This matching bouquet is an 8 inch hand held bouquet with turquoise, white and silver roses, mixed filler, silver pearls and foliage.
This matching bouquet is a 6 inch bouquet with turquoise, white and silver roses, mixed filler, silver pearls and foliage.
This matching bouquet is a 4 inch bouquet is made with turquoise, white and silver roses, mixed filler, silver pearls and foliage.


text:
title: Monads in Haskell: An Introduction
author: Ben Kovach
---

#### What is a Monad?

If you've used Haskell before, chances are that you've heard the term
"monad" a good bit. But, you might not know what they are, or what they
are really used for. It is my goal in this blog post to shed some light
on what monads are, introduce and define few simple ones, and touch on
their usefulness. I will assume basic familiarity with Haskell syntax in
this blog post. A working knowledge of monoids and functors will also be
beneficial, although not strictly necessary. Without further ado, let's
go ahead and look at the `Monad` typeclass:

```haskell
class Monad m where
    return :: a -> m a
    (>>=) :: m a -> (a -> m b) -> m b
```

We can see a Monad has two operations, return and `>>=` (this is
commonly pronounced "bind"). You may suspect that you know what return
does from other programming languages, but be warned: Haskell's `return`
is very different! Haskell's return *only* operates on `Monad`s, and
essentially acts as a "wrapping" function. That is, if you call `return`
on a value, it will turn it into a monadic value of that type. We will
look at an example of this shortly. The second operation, `>>=`, takes
two arguments: an `a` wrapped in a `Monad m `(I will refer to this as `m a`
from now on), and a function that converts an `a` to `b` wrapped in the same
type of `Monad`, `m`. It produces a value of type `b`, wrapped in a `Monad` `m` (I
will call this `m b` from now on). This may sound complicated, but I'll do
my best to explain it after showing the most basic `Monad` type, namely,
the `Identity` `Monad`:

```haskell
data Identity a = Identity a deriving Show

instance Monad Identity where
  return = Identity
  (Identity a) >>= f = f a
```

*Also defined in
[Control.Monad.Identity](http://hackage.haskell.org/packages/archive/mtl/latest/doc/html/Control-Monad-Identity.html)*

The `Identity` data declaration defines only one type: `Identity a`.
Basically, this is just a wrapper for a value, and nothing more. `return`
is simply defined as `Identity`. We can, for example, call `return 3` and
get `Identity 3`. Turning values into `Identity`s is as simple as that.
The bind function may look a little bit more obscure, though. Let's look
closely: We first use pattern matching to be able to operate on the type
that the Identity Monad wraps (Identity a), bind it (`>>=`) to a
function (`f`). Since `f` converts normal values into monadic ones (look at
the type declaration), we can simply apply `f` to `a`, and we've produced a
new `Identity`. Here are some examples:

```haskell
m1 = Identity 3

addThree x = return $ x+3
bindExample1 = m1 >>= addThree

m2 = Identity "salami"

getLength x = return $ length x
bindExample2 = m2 >>= getLength
```

Basically the real tough part of understanding Monads is just
understanding `>>=`. A little bit of dissection can explain a lot, but
it took me months to really grasp the concept. On the surface, you're
morphing an `m a` into an `m b`. At first, I thought that the `m`'s in the
type signature were allowed to different types of Monads. For instance,
I thought that Monads made it possible to bind `Identity Int`s to
functions that produced `[String]`s (we'll look at the `[]` Monad in a
minute). This is wrong, and for good reason! It was incredibly confusing
to think about a function that could generalize to this degree and it
is, to my knowledge, not possible to do so. The Monad (wrapper) type is
retained, but the *wrapped* type can be changed by means of the function
you bind to. The second thing that I want to stress is what `>>=` really
does. What we're doing with the `>>=` function is turning an `m a` into an
`m b`, but it's not so direct as you might want to think.

The function
argument in `>>=` ( `(a -> m b)` ) was really confusing to me to
begin with, so I'm going to try to explain it. The function you're
binding your `m a` to must take an `a` and return an `m b`. This
means that you're acting on the *wrapped* part of the Monad in order to
produce an entirely new Monad. It took me a while to realize what
exactly was happening, that I wasn't supposed to be directly converting
`m a` to `m b` by means of my argument function (that's actually
what `>>=` is for). Just remember that the function you bind to should
operate on an `a` to produce an `m b`. With that knowledge, let's take a
look at some more examples of Monads.

#### More Monads

If you've used Haskell, you're likely already familiar with the `Maybe`
data type:

```haskell
instance Monad Maybe where
	return = Just
	Just x >>= f = Just $ f x
	Nothing >>= f = Nothing
```

*Defined in the
[Prelude](http://www.haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html)*

The Maybe Monad is hardly an extension of the aforementioned
`Identity` Monad. All we are really adding is the functionality to
fail -- that is, to produce a `Nothing` value if necessary. In fact,
the `Just a` type is exactly the same as `Identity a`, except
that a `Nothing` value anywhere in the computation will produce a
`Nothing` as a result. Next, we'll look at the Monad instance for
`[]`:

```haskell
instance Monad [] where
  return x = [x]
  xs >>= f = concatMap f xs
```

*Defined in the
[Prelude](http://www.haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html)*

The `[]` Monad is a little more complicated, but it's really nothing too
new. For return, we just have to wrap our value inside a list. Now,
let's look at `>>=`. `concatMap` actually *is* the `>>=` instance for
lists. Why? Well, `concatMap` is, simply, `(concat . map)`. We know that `map`
takes a list of `a`s and maps a function over them, and `concat` is a
function that flattens lists, that is, turns `[[a]]`s into `[a]`s. When we
compose these two functions (or use `concatMap`), we're making a function
that must produce `[[a]]`s out of `[a]`s, and then flatten them back to
`[a]`s. That is exactly how `>>=` works for lists! Now, let's take a look
at a slightly more complicated Monad, namely, the `Reader` Monad:

```haskell
instance Monad ((->) r) where
  return = const
  f >>= g = \r -> g (f r) r
```

*Also defined in
[Control.Monad.Instances](http://www.haskell.org/ghc/docs/6.12.2/html/libraries/base-4.2.0.1/Control-Monad-Instances.html)*

This one requires some explanation, because it's a bit of a leap from
the last three, since we're defining a Monad instance for *functions*. I
have added a couple of comments in the above code in order to further
explain how everything is working in the `(->) r` Monad. Well, first
things's first. We define `return` as `const`, which takes some arbitrary
argument and produces a function that produces a constant value (what we
pass in to `return`). This is exactly what we want; a minimal context for
functions. (`>>=`) is a bit more complex. First, let's take a look at
the type signature, specific to this Monad. We're binding a function
(`r -> a`) to a function (`a -> (r -> b)`) to produce a function
of type (`r -> b`). So in the declaration of the function, `f` is
of type (`r -> a`) and `g` is of type (`a -> (r -> b)`). I've
conveniently named the argument our function is going to take `r`, for
clarity. This is what the user will pass into the function that (`>>=`)
produces. `f` takes an `r`, so we apply the value from the lambda
into it to produce an `a`. We then use that `a` to produce an (`r
-> b`), using `g`. This produces our function, but it needs to be
fed some value, so we finally apply it to `r` in order to complete
everything. If any of this sounds confusing, try to work through it on
paper and read the comments in my code -- after a bit of staring, it
should start to make sense. I've also implemented the `mean` function
here, using the `(->) r` Monad with and without do-notation.

```haskell
-- using >>= and lambda functions
mean' = (fromIntegral . length) >>= \l -> sum >>= \s -> return $ s / l

-- translation using do notation
mean = do
  l <- (fromIntegral . length)
  s <- sum
  return $ s / l

-- these are equivalent
ans  = mean  [1, 2, 3, 9, 2] -- 3.4
ans' = mean' [1, 2, 3, 9, 2] -- 3.4
```

We've only seen the tip of the
iceberg when it comes to Monads, but this should serve as a good basic
introduction. Once you get used to seeing Monads, they become a bit less
scary. The more time you spend with them, the more comfortable you'll
feel with them. Before I end this post, I want to leave a question for
the reader, as follows:

> Given the general `Tree` data type represented below, can you intuitively make a Monad instance?

```haskell
data Tree a = Node a [Tree a] | Leaf a deriving (Show, Eq)
```

I'll explain why this is difficult when we talk about a similar
mathematical type in the next post.

Thanks for reading,

Ben

*For more
introductory monad material, I suggest the following resources:*

-   [Learn You a Haskell For Great Good! A Fistful of
    Monads](http://learnyouahaskell.com/a-fistful-of-monads)
-   [A Neighborhood of Infinity - You Could Have Invented
    Monads](http://blog.sigfpe.com/2006/08/you-could-have-invented-monads-and.html)
-   [Brian Beckman - Don't Fear the
    Monad](http://channel9.msdn.com/Shows/Going+Deep/Brian-Beckman-Dont-fear-the-Monads)

redpajama_set_name: RedPajamaGithub


When you rent a storage unit from us you receive the additional assurance of 24/7 protection & year-round safety. We guarantee that you possessions will remain safe and secure with us!
For your things that require protection against Oklahoma's extreme summer and harsh winter temperatures, we provide climate-controlled features as an additional bonus.
Whether you have a little or a lot to put away our self-storage center offers and broad selection storage units with all the dimensions you want to easily save all of your valuable possessions.
At Self Storage in Bixby, we do keep things personal. Your own personal code enables you entry at our digital gate 24/7/365. The exact same code resets a protective alert in your storage unit upon your death until you return using the identical code. Additionally, our center is monitored 24/7 year round to be certain our clients receive the very best in security & safety. We realize the reason why you prize your hard-earned possessions and ensure their protection while under our roof. Safety first!
Convenience also tops our list of innovative features. You are able to arrange your move to one of our units without ever leaving home. Or select a short drive from your house or workplace to the heart of Bixby that brings you to our onsite, self explanatory kiosk. You can also pay online.
We're the storage facility which never sleeps! We might never match --we sure hope we do. Our office filled with friendly storage experts is available every day to answer questions and play storage unit matchmaker. Please Contact Us anytime with your storage questions or inquiries.


Opening: Ilias Monacholias reading the introduction of Katerina Anghelaki Rooke (see The poetry of H.F. by Katerina Anghelaki Rooke). Ilias is the publisher and owner of the Cyceone Café in Eleusis where the presentation took place. It is located just vis a vis the archaeological site.
Ilias was followed by an introduction of Hatto Fischer by Socrates Kabouropoulos who works at the Ministry of Culture and is an expert of the book market, authors and publishers mutually taken into consideration by his comprehensive overview he developed already while working at EKEVI, the National Book Centre, until that institution was closed by the Nea Democratia government under PM Samaras.
The fact that the book presentation took place at the café Cyceon which is located vis a vis the archaeological site in Eleusis and owned by Ilias Monacholias, and who is at the same time head of the friends of Eleusis but also my publisher, all that has given a special touch to this publication.
I call the cafe a place of coincidence and cite here Adorno who said "a society without coincidence is dictatorship."
Following story needs to be told over and again. During a concert by Savinna Yannatou in August 2015, while waiting to enter the archaeological site which was opened that day due to full moon (a yearly event), I wandered across the street and discovered this café.
One month later, that is in September, I wanted to meet the future artistic director of Eleusis 2021 while doing still the bid. I proposed to meet at the café. When my wife Anna and I had arrived, a man suddenly shouted "Anna, Anna". It was a former colleague of Anna at the Ministry. They had not seen each other for years. While they chatted and I sitting alone at the table while waiting, I saw suddenly a man looking at a book shelf with great intensity and concentration. I looked again for I could not believe my eyes. No, it could not be! But that face is so familiar! Finally I recognized him. It was Fernando Rendon from Medellin, Colombia. He had come to attend the poetry festival in Athens held that September. Fernando and I had joined efforts to convince the European Commissioner for Culture to put poetry on the agenda of the EU. That was back in 2012. At that time, Fernando Rendon had invited me to come to the Poetry Festival in Medellin but to no avail as I had not the financial means to pay for the flight. This time around the coincidence did its magic trick. Fernando Rendon had come to Eleusis on the strong recommendation of Prof. Carl A. Ruck who is an expert on the mysteries of Eleusis. So it was a sheer coincidence that we ended up meeting at that cafe of Ilias. As a result, both Ilias and I were invited to the 26th World Poetry Festival in Medellin, Colombia since devoted to the Mysteries of Eleusis as well as to Rimbaud. I made it this time thanks to the support of Goethe in Bogota. The festival took place June 18 - 25, 2016. It is an amazing feeling to be a city where poetry is at home everywhere. While reading my poems, Ilias Monacholias listened attentively. Afterwards he came up to me to say that he liked my poems and that he has decided to publish them. This is how the book came about.
"The notice by Dilip Chitre "Poetry is a minority language that once was the language a whole community understood as its own inner voice" applies to all ancient civilizations. We know that rythm expressed the indigenous need for harmony and had been a primary element in constructed human speech. Today, all the work that is being done by inspired and devoted persons who have spent a life time with real enthusiasm, and you have also worked a lot on this field (as poets, translators, publishers) to help poetry become again a language that most people would be able to understand, enlightens the confused and dark image of Future."
Demeter is the Goddess of fertility and Eleusis is the mysterious place of her worship. Poetry is also the same goddess and Untamed Life is her daughter Persephone. Being untamed she wandered in the arms of Hades but was saved ultimately. The present life on which you have mused is your life also. After three months of dark winter, Persephone returns to the fold of Demeter ( Ceres ) and the spring blossoms again. Let poetry be your spring always and your return to Berlin be your rejuvenation. Carry some pomegranates from Greece to bring fertility in Germany!
Wishing you a very happy journey to Greece and back, let me also wish for a brilliant success for your book launch.
Both Ann and Maya also will be thrilled. Take good care of your health.
Hatto and Anna dears, your sense of humour is the biggest motivator for oldies like me. Thank you for the response. May I add to the pomegranates something which you may be knowing already? Persephone could return to Demeter on the condition that she should not partake of any food from Hades. Very cleverly Hades put a pomegranate seed between the lips of Persephone. So she has to return to the underworld for three months every year. That explains the long and bitter dark nights of winter when her mother Demeter mourns for her. The winter nights in Europe are really cold, barren and dark. Pomegranate is a symbol of fertility. So Persephone, the personification of greenery adds to the image of Demeter the goddess of fertility. The misogynist patriarchal system tried its best to undermine the mother-goddess and it is evident in the rising fundamentalism in Asia-Europe and now the anti-environmentalist Donald Trump.
"If prose is a house, poetry is a man on fire running quite fast through it."
Our time is marked by an urgency for expression and thought that parses the world along revelatory and humane lines, something that requires a new language.
After the reading of poems by various friends and others like Anna and Peppi.