Ensure you are logged in with your Envato account to receive these handpicked files for free. Please click on the individual articles to download them for free. Available only until the end of the month!
Are you aware that the monthly free preview of the envelope file offers you free preview images? This is a compilation of stunning market place articles that you can freely access and print. There are 8 markets in Envato: ActiveDen, AudioJungle, CodeCanyon, ThemeForest, GraphicRiver, VideoHive, 3DOcean, CodeCanyon, PhotoDune. Encato free is a complete pre-built, well-designed and functionally rich file that provides you with all the necessary features for your website or your projects needs.
If you want, you can completely free of charge down load the desired data. It is very easy to get free envelopeos. Stage 1: The first stage is to sign up on the website. It is mandatory because you can only receive the downloaded links after registering. Registering is free and you are not required to make any purchase.
After registering on the Envato website, you have full control of all available markets through this unique Envato site login. Stage 2: The second stage is just to go to the free files page. Instead of the "Buy Now" icon, you will see the product page click on the product icon.
Get your favorite free Envato before the free quote ends today. Please note: As mentioned before, Envato provides free downloads every months. Therefore these free downloads run out at the end of the monthly. So act now to get it downloaded before the end of this months. Ashoka is the first free WordPress application from ThemeForest - a universal WordPress topic for professional professionals, professional and small businesses.
Based on the latest Bootstrap v3.1. 1 and HTML5/CSS3, this site provides the best possible website throughput. Besides, it is well encoded with Google Geo in the back of your head, and the writer has taken care of every aspect of the subject to make sure that your website has a good pace and a high rank in the Google popular engines.
It comes with full-screen wallpaper, full-screen menus and portfolios, and the new Instagram Feedback function has just been released. Those things make Ashoka one of a kind as all other similar multi-purpose topics. In addition, this pattern offers you countless customisable choices with native colour handling, stunning para-lax talent and enhanced topic customisation.
With the new 3-D Retro Creator, it's the next point in the Envato Free May 2016 line-up. There are 14 PSDs with samples and different 3-D style samples. In particular, all 3-D style is created in intelligent entities, and it's very simple for you to modify text, fonts and sizes at will.
In addition, this temple contains ten different ribbons and 14 intro items, so you can select any one of them. When you find a bug, just look in the help files and you'll see all the commands and scripts there. Lastly, 4. 58 avarage buyer ratings is an great excuse for you to dowload this site and make a try for your own projects.
But Envato still offers you a slim opportunity to own it. There are 20 typographic images in this folder without plug-in, and it is simple for you to adjust the folder, you can mix and match the projects, choose to use default colours or black colours.
Three different resolutions are available in this file: AudioJungle's forth new song today is Multi Day Song, which contains two 4:45 and 2:29 length variations. Blues, clouds, twilight, skydomes in these 3-D images are such eye-catching items that you can't even get away from your eye. Vinescope Clone is the last point in the last free envelope of May 2016 and provides many great features such as: adding grapes, managing grapes, approving grapes, reporting grapes.
Simply automate the installation of this program and you can continue. Quickly browse the link under each point to quickly retrieve them for your work. Make sure you have already created an Envato user profile before doing so. Mokawed' is a multifunctional HTML5 HTML templates that can be used for creativity, portfolios, agencies or other purposes.
There are seven pages and nine home pages in this style sheet, each of which you can use to create your website. In addition, this pattern is fully adaptable and organize. The 1170 gridsystem and free Google webphones, free symbol phones, give you limitless customization options. And the second point in the April 2016 envelope free file listing is a plain calling cards.
3 different types of files are available: . ai, . esps and .psd. Its size is 3. 5×2 inch and colour of CMYK, however it is fully customizable from forms, symbols, colours, text and so on. Text in the movie can easily be substituted into a suites with your work.
Contacts Form 7 is the premier free plug-in in the WordPress plug-in with more than 1 million installations underway. With this useful add-on, you can choose from 10 default designs (color schemes) to immediately modify the overall appearance of your messages. Simply click on the link below to get a free copy.
Above mentioned April 2016 are only available until the end of this monthly. Log in quickly to your account at Envato or register a new one to be downloaded. The WP themes support three demos: Full Slide, Narrower Slide, and Raster which you can select to present your content in a nice and one-of-a-kind way.
There' s also a wide range of mail types in this fast-paced WordPress blogs theme: default mail, streaming mail, musical mail, galleries mail, links mail, tweets mail, and quotes mail. In addition, Medica offers limitless color and font adjustments, many choices, two different color menus, two headers.
So many more functions about this WordPress topic, just click on the below link to go further and see the demonstration. And the second comes in the March 2016 mailing lists of Envato-free images is Flyer / Posters MockUp, which contains eight different multi-layer Photoshop template with the utilized Smarthand objects.
You can, however, modify them using the SAP System Smart Objects. Don't be too sluggish, let it be downloaded for your work. And the third in the series is a 14-second clip about the turntable with overheads. AudioJungle's new free file self is also set for March 2016.
The moulded synthetic flask is a 3-D data size designed for use with agricultural and insecticidal insect and insect repellent applications. The expanded approval may also be used for other inventory articles on the Envato store floor, such as mock-ups. As a well sell article on the CodeCanyon with nearly 700 sells and Stickr WP it is now collected as one of the freshly bought free Envato mailing lists in March 2016.
You' ve just had a listing of Envato-free data from March 2016 in your hands. In case you forgot, here's a souvenir for you: log in to your envelope or register a new one and directly dowload it. First step in the free envelope file listing in February 2016 is Openy - a contemporary photo album.
Your website templates have limitless colour themes with pre-defined colour themes in your own style sheets so you can customise your website. A photographic and imaginative response to your press requests, suitable for cross-browsers. For the second time Envato free bike in February 2016, Sitemap Builder is a site map containing 48 pages and 21 pages of different models packaged in 100% vector.PSD.
It' very simple to create the files in a few simple increments and a few minutees. Normally the fee for Flash Site template XML is $43 but you have a very good option to own this site for free in February 2016 as it will be placed on the Envato Freeebies monthly shelves.
Nine different module are available in this template: Text, Galerie, Forms, Books, Sliders, New, Lists, Calendars and Carousels.
Spherical Logo Reveal is a translucent 2D logo image pre-rendered with Alpha Channel. It is also possible to modify the colour and wallpaper. Converts this with After Effects CS4, CS5, CS5 and CS5. Following the launch of Tabsy - a free, intelligently responding WP-Tabs plug-in that provides a perfectly matched set for any width of containers, Tabsy Customizer is designed to simply append custom tabbed content without bothering with overloaded shortcode.
Now, let's see what functions we will have with this free envelope in February 2016: You' ve seen the brief listing of 8 new free downloads of Envato this February 2016. If you don't know what to do, just remember to log in to your current envelope or register a new one if you don't need to get the above mentioned free downloads as soon as possible.
With 40 PSDs, 8 home pages and 5 finished colours in bright reds, reds, violets, indigo and greens, Buna is ideal for professional and freelance users who want to build agency, creative and personal portfolios or photography web sites. Developed on the Bootstrap 1170 grid system, which is the best frontend system of all.
Completely stratified and grouped for ease of discovery. These fantastic things are enough for you not to miss this free, refreshing envelope data set. This problem can now be resolved with Passworx - one of CodeCanyon's Envato-free January 2016 binaries.
You can enter passwords from a unique login area. Passworx in the Administrator' Roles gives you the opportunity to administer all your endpoints, all your endpoints, all your administrators, to set up limitless user/administrator profiles, to enable and enable your endpoints, to enable and enable your endpoints, and to enable or disable new endpoints. The HTML Portfoliov Template has 2 own bright and dim style with dozens of useful modules: Portfoliolist, Blog-List, Headline, Symbol, tabs, Google Map, crew, infographics, count down and roundabout.
After Effects CS 4 is an After Effects Opener with four end pieces of Winter, Old movie, Sun burn, Night, which is perfectly suited for film intros or trailers or any filmic introductory film. Full-HD mode is available in this package, but if you don't need it, you can simply use your presets to make a new one.
Don't be too sluggish, let Dec free Envato get it for you in 2015. It' really a good opportunity for you to take Christmas which comes from Envato Free's December 2015. Hopefully you will find some good things for your project in the free December 2015 envelope file. See you next months (oops, or next year) with free envelopo file January 2016 :).
It is a great HTML e-mail style sheet and built-in builders approach to help companies with so many great functions such as: fast response design, draft & drope builders, multi-client e-mail client interoperability, seamless accessibility to free on-line style sheet editors, limitless colours and textures, Campaign Monitor Ready, MailChimp Ready templates, simple customisation.
A fast-reacting e-mail submission that allows you to quickly start, use, modify, and endlessly customize wallpapers. A fully stratified PSD e-mail templates and a simple HTML e-mail templates are available to help you quickly create and import custom layout files for later use. Browse the detailed descriptions of this free Envato data set by following the links below.
Normally the Flash template costs $43 and is now on Envato Freebies' shelves for November 2015. Don't hesitate anymore, just get it for free as soon as possible. Minimally Abstract Logos is a monochrome effect files with different forms, which is shown in a 8 -second long slideshow.
And if you like different colours, just click a few times to modify them. Please click on one of these dimensions to get this free envelope in November 2015. Over 8 free Nov 2015 Encato data sets are only available in a few days. It' s important to know how to do it: log in with your envelope to get it for free, or open a new one if you are a new user of the envelopeomarketplace.
It has 21 different stages in this play and it support 3 different themings. You can get them in PSD if you like different colours. Simply login to your account if you are already a customer, or login to get these free envelope downloads in October 2015. WooCommerce is one of the most progressive WooCommerce sites in the world, creating and refining Ferado with contemporary design and the latest technology.
Ferado was initially designed as a WooCommerce fad, but it can be flexibly adapted for any type of website and easy to customize for an on-line store, blogs, shopping sites and more. The individual PSD files contain all source units together with 10 samples. Colours can be modified with just a few mouse clicks. What's more, it's easy to change colours.
When you are looking for pictures of gorgeous turquoise sandy shores, this one is available for you, license free. Changing all colours in your HTML-file. Each of the above mentioned free of charge for anyone with an Envato affiliate card - if you've ever bought anything from ThemeForest and CodeCanyon or any of the 8 Envato Stores, all you have to do is register.
So why not take some registration while you can get these great contents? It' only free for the July months, so don't hang around, take it before it's gone! Hopefully you will enjoy these Envato Freebies product from July 2015. This is a crisp, map-like, one-sided / one-sided, full-page slide control.
First is the standard setting and the clicker changes an item colour to plain. In the second release, a double colour history is created - the first colour is the old (current) colour and the second colour is the colour selected with the clicker. It is an After Effects CS4 -CS5 configuration document.
It is a full Photoshop level Photoshop image that is fully customizable. Color can be modified using fade across selections, and each item is provided as a single point and can be fully sized without losing any of its original value. It is the ideal templates for any trip, natural and cultural like blog/page. This is a contemporary, elevating song that goes well with any melodic starting melodic musical venture that becomes a crest.
The package contains a fully organised PSD document. There are six 3000×1500 pixel (jpg) pictures available for any web design or use. Changing colors is easy: Simply use your favorite colors or gradients in a single layering theme. Please find a complete manual as well as a detailed summary of each bug in this manual.
This is a classical and neat style sheet, with simple customization and fits any website. We wanted to make more changes this year. It is possible for the calendars to show monthly or daily stacks of occurrences. This means that the incident can be replicated over several successive working days, if necessary over two successive working years.
Entire datas are saved in an extern chromatogram ([ ). Apply a lifelike look to your animation and customize the wallpaper colour to suit your needs. After Effects CS4 project files. There are no material or colours used in the previews in the source application files. Colour and structure are only used to locate some aspect of the colour.
Stylish shop templates, a fun slide down menus and ready-to-use page templates. Changing the entire calendaring process via your favorite text editor, using text sizes and the location of each item without having to open your own Adobe Flash file. Simple changing of the fonts (instructions included). Adapt this projekt according to your wishes!
You can give this whole thing a different feeling by adjusting some of the parameters! A detailed introductory videotutorial is enclosed with the projectfile, which helps you to adapt the configuration quickly and easy. There are a number of different functions in the sample that make your life easier. Uncomplicated and stylish business-oriented design.
6 levels. 6 levels. PSD textures.


text:
Characterising 'normal' milk
To minimise the chances of the global milk supply being impacted by safety breaches, IBM and Cornell University are using genetic sequencing and big data analytics to characterise milk.
With the onset of this dairy project, Cornell University has become the newest academic institution to join the Consortium for Sequencing the Food Supply Chain, a food safety initiative that includes IBM Research, Mars and Bio-Rad Laboratories.
Normally, raw milk samples are tested for a few specific groups of bacteria. However, the Consortium for Sequencing the Food Supply Chain is using the community of microbes or bacteria known as the microbiome to characterise the food samples at an unprecedented resolution. By sequencing and analysing the DNA and RNA (genetic code) of food microbiomes, researchers plan to create new tools that can help monitor raw milk to detect anomalies that represent food safety hazards and possible fraud.
Characterising what is 'normal' for a food ingredient can better allow the observation of when something goes awry. Detecting unknown anomalies is a challenge in food safety and serious repercussions may arise due to contaminants that may never have been seen in the food supply chain before.
While many food producers already have rigorous processes in place to ensure food safety hazards are managed appropriately, this pioneering application of genomics will be designed to enable a deeper understanding and characterisation of microorganisms on a much larger scale than has previously been possible. Consortium researchers will conduct several studies comparing the baseline data of raw milk with known anomalies to help create proven models that can be used for additional studies. They will continue to provide innovative solutions that can potentially minimise the chance that a food hazard will reach the final consumer and provide a tool to assist against food fraud.
The research project will collect genetic data from the microbiome of raw milk samples in a 'real-world' scenario at Cornell's Dairy Processing Plant and farm in Ithaca, New York. The facility is unusual in that it represents the full dairy supply chain — from farm to processing to consumer. This initial data collection will form a raw milk baseline and be used to further expand existing Consortium bioinformatic analytical tools.
The Consortium for Sequencing the Food Supply Chain was officially launched in January 2015 by IBM Research and Mars, Incorporated. Bio-Rad Laboratories joined the Consortium in 2016. This collaborative food safety initiative will leverage advances in next-generation sequencing to further the understanding of what can help make food safe. The consortium is conducting the largest-ever metagenomics study to categorise and understand microorganisms and the factors that influence their activity in various food matrices. This work could eventually be extended into the larger context of the food supply chain — from farm to fork — and, using artificial intelligence and machine learning, may lead to new insights into how microorganisms interact within a particular environment.
Farmer's wife creates food range in response to drought
To weather the drought and fires scorching farms across the country, farmer Julia Foyster has...
Cell-based fish: seafood of the future?
A San Diego-based food company has demonstrated how its cell-based fish performs just as well as...
How the cookie crumbles: texture affects health perception
Studies have shown that changing the surface texture of food could communicate a healthier...
Everywhere there is care, we are there
Lewy body dementia: five tips for carers
Genetically modified mozzies fight dengue
Meet PAT, an online tool to support senior independence
Five healthtech trends set to shape health sector

redpajama_set_name: RedPajamaCommonCrawl


Download Latest 070-346 Vce Download Online Shop WinterAnimal 2019.
Oh, Lin moved younger brother, I haven t come to my sister for so long, I thought you forgot someone else.
Looking at Weitong, whose body slowly fell to the ground, everyone understood that the door of the blood stained door was indeed planted in this arena, and that the object he had planted was still less than one.
When the next face looks up, Microsoft 070-346 2019 he looks at the little hand on his palm Seeing it, the little grin sneered, and then the black mans flashed, and it appeared directly before the group.
Lin moved to look at the screaming tiger, and couldn t help but take a breath of cold air.
call A white gas spit out along the throat of Lin Dong, like an arrow of an arrow.
It s a second rate cheats, compared to Qing Yuan Gong , no matter in all aspects.
Hey When the gradual resurgence of the heart gradually emerged, suddenly a sharp whistle came 070-346 Practice Quiz from afar.
Hey Looking at the offensive of the two men, 070-346 2019 WinterAnimal 2019 Lin moved and pointed a bullet.
Then, the two bodies were trembled, and the struggle of mental power was even more dangerous than the struggle of Yuanli.
The strength of a printed division is enough to compete with the masters 070-346 2019 WinterAnimal 2019 of the middle of the day, and this strength, in the 070-346 Brain Dumps younger generation, Managing Office 365 Identities and Requirements 070-346 is indeed a good one, she does not want to miss this in vain.
Lin moved the black soil in his hand and waved at the green sandalwood.
Please Seeing Lin 070-346 Latest Dumps Zhentian dismissed the people, the Thunder will let the door open.
In the http://www.bestexamlab.com/9A0-385.html trial hall, silent and silent, with a horrified 070-346 Certificate look, looking at the teenager on the stone platform, the shock of my heart, so that they can 070-346 Test Prep not speak for a long 070-346 2019 time.
The Microsoft 070-346 battle between the family, even if it is impossible to kill, 070-346 Latest Dumps is not impossible.
In the soft voice that 070-346 Test Answers was originally like a spring breeze, there was also 070-346 Certificate a bit of coldness.
The role, if they can absorb the energy, will be able to shorten the time to enter the Yuan Dan, several times 070-346 Exam The bloody wolf helped these people, and many of the masters of the Wanjin Chamber of Commerce, their faces were tightened, and the palms slowly stretched out to the waist.
Hey The two palms touched each other, and a figure shook his shoulders, which was to remove the power, Managing Office 365 Identities and Requirements 070-346 2019 while the girl was awkward and retired several steps.
you called Lin move empty symbol teacher tower seventh floor, staring at Managing Office 365 Identities and Requirements 070-346 2019 the week through the forest move, after the long, open road.
This practice therefore, it is referred to as the theft of yin and yang.
Lin s eyes were micro microwaves, http://www.getitexam.com/GSLC.html but he did not feel any 070-346 accidents.
After this period of time carrying the mysterious stone charm, Lin Dong also found Managing Office 365 Identities and Requirements 070-346 a small secret, that is, every five days or so, in a small groove on the Microsoft 070-346 2019 stone, it will be filled with a small drop of red The liquid, this liquid forest is no stranger, it is the kind of light red liquid that 070-346 2019 appears in the stone pool after dropping blood, but the color of this droplet is obviously much stronger than that in the stone pool.
In the 070-346 Actual Test tower of the teacher, there are many ancestors who 070-346 Practice Test Pdf have been immersed in the 070-346 Practice Exam spirit of life.
Lin Xiao s fist was involuntarily clenched, but his face was flashing deep into the bone marrow.


The D'Alembert system is not nearly as well known as its more popular cousin the Martingale system. Even if you're a veteran of Australian casinos, you may not have run into this one, or at least not heard the name thrown around in the same way the Martingale is. However, it's a pretty simple way to manage your money in a roulette game, and while it can't turn you into a winner at the roulette wheel overnight, it's a fun way to sometimes score big wins when a losing streak suddenly turns into a winning run.
Like in the Martingale, you'll begin the D'Alembert system by making a bet of a single unit – the table minimum or any other small amount works just fine. As in many roulette betting systems, you'll also have to stick with even money bets here, so pick one that you like: odd or even, black or red, whatever you feel lucky with.
The D'Alembert system works by having you increase your bet after losses, and reduce your wagers after you. At the start, you'll be making your minimum bet, so if you win, you'll just stay right where you are. However, if you should lose, you'll add another "unit" to your next bet. A unit is defined as the small amount you starting betting with on your first spin, so if your first bet was $10, that's your unit size.
If you lose, your next bet will move up to a cost of $20. That's the same thing that would happen in the Martingale – but here's where things start to diverge from that system. Should you lose again, the D'Alembert won't have you doubling your bet again; instead, you'll just add yet another unit, meaning your next bet will be for $30.
Similarly, a win isn't treated the same way as it is in the Martingale, either. If you win that $30 bet, you won't drop back down to the $10 level. Instead, you'll only need to remove one unit from your next bet. In our example, you'd now be betting $20 on your next spin.
As you can see, the D'Alembert is essentially a moderated version of the Martingale system. Instead of the extreme changes in bet size you'll see in the Martingale, your bet sizes will slowly change. If you go on a winning streak, you'll eventually see your bet fall back down to the single unit level; however, losing streaks will slowly see your bets rise to higher and higher amounts.
One common variation on the D'Alembert sets a ceiling on how much you're willing to bet on any single bet. For instance, you may place a ceiling at five units, thus making sure you never get into a situation where you're making bets you're not comfortable with. This may make it more difficult to win your money back after a bad losing streak, but it's still preferable to making gigantic wagers for many players.
When compared to the Martingale system, the D'Alembert has the advantage of avoiding having to make any absolutely enormous bets in an attempt to win back your losses. The Martingale is fun when you're slowly building a profit, but having to make a bet of 32 or 64 units after a short string of losses can be more terrifying than fun.
On the other hand, the Martingale does at least usually give you a way to try to win back your losses. After a long losing streak, it may simply be unrealistic to get back to even with the D'Alembert, since you won't be increasing your bets in a way that will guarantee you a profit by winning your next bet. It's true that in the pure D'Alembert, however, any time you make it back to the single unit bet size, you'll have made a profit (how big will depend on how large your bets got before you starting winning).
Finally, it's important to tell you that like other betting systems, the D'Alembert will not allow you to beat the casino at roulette in the long run. These systems are designed to give you ways to spend your money at the table in ways that are more entertaining to you, or that structure your wins and losses in a way you like.
The D'Alembert system is actually named after a French mathematician who – while a brilliant man who contributed greatly to many fields – had the incorrect notion that a coin that flipped heads several times in a row was more likely to then come up on tails. Since we've already explained before how that notion is simply untrue, this system isn't going to show you a profit in the long run. On the other hand, it can be a great alternative to the wild swings of the Martingale system for those who enjoy using betting systems when they play roulette.


Mini Golden Doodles. Lighter and Darker Apricot Coloring. Recently examined by a Veterinarian. All Vaccinations up-to-date + de-wormed. Puppies will be 25-30 pounds fully grown! DOB December 17, 2018. 14 Males Available!
Call or Text for more details!


text:
"""
PaddleBoi? PaddleBoi.

"""
import os; os.environ["PYGAME_HIDE_SUPPORT_PROMPT"] = "hide"
import pygame  # pip3 install pygame
from numpy import array, clip, sqrt, sin, cos, arctan2, pi as PI
from numpy.random import uniform

##################################################

class PaddleBoi:
    """
    |P A D D L E B O I|
    Move your paddleboi with the arrow keys (or "WASD").
    A wild ball bounces around. Help it hit green zones to improve your life.

    """
    #### GLOBALS
    # Hashmap from valid decisions to corresponding action values
    CHOICES = {"stall": ( 0,  0),
                "left": (-1,  0),
               "right": ( 1,  0),
                  "up": ( 0, -1),
                "down": ( 0,  1)}
    ####

    def __init__(self, width=500, height=500,
                 boi_size=20, boi_speed=5,
                 ball_size=20, ball_speed=5,
                 zone_size=20):
        """
        PaddleBoi constructor.

        width: extent of the domain's x-dimension (pix)
        height: extent of the domain's y-dimension (pix)
        boi_size: radius of paddleboi's circular hitbox (pix)
        boi_speed: max distance covered by paddleboi per update (pix/step)
        ball_size: radius of the ball's circular hitbox (pix)
        ball_speed: max distance covered by the ball per update (pix/step)
        zone_size: radius of the zone's circular hitbox (pix)

        """
        # Store provided parameters
        self.width = int(width)
        self.height = int(height)
        self.boi_size = int(boi_size)
        self.boi_speed = int(boi_speed)
        self.ball_size = int(ball_size)
        self.ball_speed = int(ball_speed)
        self.zone_size = int(zone_size)
        # Establish initial game data
        self.reset()

    def reset(self):
        """
        Sets game data to default initial conditions.

        """
        # Set paddle position to center of domain
        self.boi_x = (self.width - self.boi_size) // 2
        self.boi_y = self.height // 2
        # Set random but valid ball position and direction
        self.ball_x = int(uniform(self.ball_size, self.width - self.ball_size))
        self.ball_y = int(uniform(self.ball_size, self.height - self.ball_size))
        self.ball_dx = cos(uniform(0.0, 2*PI))
        self.ball_dy = sqrt(1.0 - self.ball_dx**2)
        # Set random but valid zone position
        self.zone_x = int(uniform(self.zone_size, self.width - self.zone_size))
        self.zone_y = int(uniform(self.zone_size, self.height - self.zone_size))
        # Set life-improvement score to minimum
        self.score = 0

    def get_state(self):
        """
        Returns an array of floats that encode your current situation.

        """
        return array((self.boi_x,
                      self.boi_y,
                      self.ball_x,
                      self.ball_y,
                      arctan2(self.ball_dy, self.ball_dx),
                      self.zone_x,
                      self.zone_y), dtype=float)

    def update(self, decision):
        """
        Advances the game forward by one step using the provided decision.
        Returns the reward earned for this transition.

        decision: any valid member of CHOICES, it's up to you

        """
        # Turn symbolic decision into an action value, if valid
        try:
            action = PaddleBoi.CHOICES[decision]
        except KeyError:
            raise KeyError("Invalid decision provided to update PaddleBoi. "
                           +"Choose from: {0}.".format(PaddleBoi.CHOICES.keys()))
        # Update paddle position based on speed parameter and decided action
        self.boi_x += action[0]*self.boi_speed
        self.boi_y += action[1]*self.boi_speed
        # Prevent paddle from leaving the domain
        self.boi_x = clip(self.boi_x, self.boi_size, self.width - self.boi_size)
        self.boi_y = clip(self.boi_y, self.boi_size, self.height - self.boi_size)
        # Update ball position
        self.ball_x = int(clip(self.ball_x + self.ball_speed*self.ball_dx, self.ball_size, self.width - self.ball_size))
        self.ball_y = int(clip(self.ball_y + self.ball_speed*self.ball_dy, self.ball_size, self.height - self.ball_size))
        # Reflect ball if hit boundaries
        if (self.ball_x <= self.ball_size) or (self.ball_x >= self.width - self.ball_size):
            self.ball_dx *= -1.0
        if (self.ball_y <= self.ball_size) or (self.ball_y >= self.height - self.ball_size):
            self.ball_dy *= -1.0
        # Reflect ball if hit paddleboi
        dist_x = self.boi_x - self.ball_x
        dist_y = self.boi_y - self.ball_y
        dist = sqrt(dist_x**2 + dist_y**2)
        if (dist < self.boi_size + self.ball_size) and (dist > 1e-6):
            # This is "meant" to be "broken"
            dir_x = dist_x / dist
            dir_y = dist_y / dist
            s = 2*(dir_x*self.ball_dx + dir_y*self.ball_dy)
            self.ball_dx -= s*dir_x
            self.ball_dy -= s*dir_y
            # Rebound
            self.boi_x -= 2*action[0]*self.boi_speed
            self.boi_y -= 2*action[1]*self.boi_speed
        # Renormalize
        norm = sqrt(self.ball_dx**2 + self.ball_dy**2)
        self.ball_dx /= norm
        self.ball_dy /= norm
        # Impose consequences
        dist_x = self.zone_x - self.ball_x
        dist_y = self.zone_y - self.ball_y
        dist = sqrt(dist_x**2 + dist_y**2)
        if dist < self.zone_size + self.ball_size:
            reward = 1
            self.zone_x = int(uniform(self.zone_size, self.width - self.zone_size))
            self.zone_y = int(uniform(self.zone_size, self.height - self.zone_size))
        else:
            reward = 0
        self.score += reward
        return float(reward)

    def display(self, screen):
        """
        Draws the current situation on the provided screen.

        screen: a Pygame.Surface you are okay with completely drawing over

        """
        # Set screen title to game name and current score
        pygame.display.set_caption("PADDLE BOI - {0}".format(self.score))
        # Wipe all pixels to black
        screen.fill((0, 0, 0))
        # Select a color representative of current score
        color = (int(255*(2.0**(-self.score/30))), int(255*(1.0 - 2.0**(-self.score/30))), 0)
        # Draw the paddle
        pygame.draw.circle(screen, color[::-1], (self.boi_x, self.boi_y), self.boi_size, 0)
        # Draw the ball
        pygame.draw.circle(screen, color, (self.ball_x, self.ball_y), self.ball_size, 0)
        # Draw the consequence zone
        pygame.draw.circle(screen, (0, 255, 0), (self.zone_x, self.zone_y), self.zone_size, 0)
        # Render the image
        pygame.display.update()

    def play(self, policy=None, rate=60):
        """
        Runs the game using the given policy function and at the specified update rate.
        If a policy is not given, then decisions are read live from human input.

        policy: function that takes a state vector and returns a valid decision
        rate: max number of updates (and display frames) per second of real time

        """
        # Create visualization of domain
        screen = pygame.display.set_mode((self.width, self.height))
        # Enter main loop
        playing = True
        while playing:
            # Record current real time (in milliseconds)
            start_time = pygame.time.get_ticks()
            # Draw current situation to the screen
            self.display(screen)
            # Use policy or human input to make decision
            if policy:
                decision = policy(self.get_state())
            else:
                keys = pygame.key.get_pressed()
                if keys[pygame.K_LEFT] or keys[pygame.K_a]:
                    decision = "left"
                elif keys[pygame.K_RIGHT] or keys[pygame.K_d]:
                    decision = "right"
                elif keys[pygame.K_UP] or keys[pygame.K_w]:
                    decision = "up"
                elif keys[pygame.K_DOWN] or keys[pygame.K_s]:
                    decision = "down"
                else:
                    decision = "stall"
            # Evolve the situation by one step with the chosen decision
            self.update(decision)
            # Check for quit or reset command events
            for event in pygame.event.get():
                if (event.type == pygame.QUIT) or\
                   ((event.type == pygame.KEYDOWN) and (event.key == pygame.K_q)):
                    playing = False
                    break
                elif (event.type == pygame.KEYDOWN) and (event.key == pygame.K_r):
                    self.reset()
            # Rest for amount of real time alloted per loop less what was used
            remaining_time = (1000//rate) - (pygame.time.get_ticks() - start_time)
            if remaining_time > 0:
                pygame.time.wait(remaining_time)

##################################################

if __name__ == "__main__":

    game = PaddleBoi()
    game.play()

##################################################

redpajama_set_name: RedPajamaGithub


text:
Forgot password? Register for free
EntertainmentMovies, Celebs and TVArt & DesignArt and The ArtsLiteratureBooks, Genres, ReviewsMusicInstruments, Musicians & GenresVideo GamesPC & Console Gaming
Movie Review: The Outlaws is Coming (1965)
by StevenHelmer
A review of the 1965 Three Stooges movie also starring Adam West.
Synopsis: Three bumbling employees working for a conservation magazine travel west with their editor to investigate why the buffalo are being slaughtered. When they arrive, they discover a local outlaw's plot to cause a Native American uprising as part of a scheme to eventually claim the entire western territory for himself and his outlaw buddies.
Who's in it?
The movie stars Moe Howard, Larry Fine, Joe DeRita, Adam West, Nancy Kovack, Mort Mills and Don Lamond.
I came across this movie this past weekend and decided to record it so I could watch it while home for lunch during the week. I finally had an opportunity to finish it yesterday and, overall, I thought it was an OK film.
To tell you the truth, I did have some doubts about this movie when I first started watching it. While I don't mind the Three Stooges, I also wouldn't call myself a die-hard fan of their comedy (I personally like Abbott and Costello better). Plus, when I started watching the movie, I realized it was one of their later films, when they had Curly Joe (DeRita) and were pretty much past their prime. That being said, the movie did still prove to be surprisingly entertaining.
A bit part of the reason for this was the fact they had a strong ensemble cast supporting them. The Three Stooges were still the stars of the film and a good portion of the movie was dedicated to their slapstick comedy. But, Adam West's performance as their editor along with Nancy Kovack's starring role as Annie Oakley did help the movie keep a relatively normal plot so it didn't just turn into a series of sight gags.
The two main villains, Trigger (Mills) and Rance (Lamond) also helped this movie by giving it a spaghetti western feel. They were tough enough outlaws to give the movie some legitimacy. But, at the same time, they knew when to step back a little bit and let the stars take over so the film remained a comedy. This, admittedly, was a bit unexpected and was a big reason why I found I did actually enjoy watching this movie.
In fact, my only real complaint about this film was the fact it took place so late in the Three Stooge's career. I would have loved to have seen this film made when their comedy was still fresh and the trio was still in its prime because it could only have made it better.
The Three Stooges - The Outlaws Is Coming
Get the long and the short of the Three Stooges in this exciting Old West double feature, which contains one feature-length film from the '60s along with a classic short film fr...
As I said, I'm not a die-hard Three Stooges fan and, because of that, this isn't the type of movie I would watch on a regular basis. However, it did prove to be funnier than I was expecting it to be and, because of that, I would recommend taking the time to watch this movie at least once if you have the opportunity to do so.
My Grade: B
More By This Writer
Love Poems for My Wife
When Steve first met Cynthia back in 2000, he knew she was the woman for him and proposed to her just three months after their first date. Married to her since 2003, he has ofte...
The Icky, Sticky Mess on the Floor
A young boy discovers a mess in on his kitchen floor one morning and, before he knows it, is trapped as the icky, sticky mess grows larger. Can his mother save the day? The book...
Updated: 09/17/2015, StevenHelmer
Thank you! Would you like to post a comment now?
Only logged-in users are allowed to comment. Login
dustytoes on 09/18/2015
I love the Stooges, but I can't stand that Curly Joe, so I would never watch this movie. I've never heard of this one with Adam West.
Movie Review: Wreck-it Ralph (2012)
A review of the 2012 animated movie starring John C. Reilly and Sarah Silverman.
Movie Review of Ella Enchanted (2004)
A review of the 2004 movie starring Anne Hathaway as a woman with the gift/cu...
Movie Review: World War Z (2013)
A review of the 2013 zombie apocalypse movie starring Brad Pitt and Mireille ...
Disclosure: This page generates income for authors based on affiliate relationships with our partners, including Amazon, Google and others.
StevenHelmer
1058 Pages 100%
Author for 8 years
Message ▼New pages
Movie Review: Exiled (1998)on 01/23/2021 Law & Order: Special Victims Unit Episode Review: The Long Arm of the Witnesson 01/22/2021 Review of Walker Pilot Episodeon 01/22/2021 Review of Luige's Western Omelette Pizzaon 01/21/2021
27% 0 4 StevenHelmer
A review of the 2004 movie starring Anne Hathaway as a woman with the gift/curse of obedience.
A review of the 2013 zombie apocalypse movie starring Brad Pitt and Mireille Enos.
© 2023 Wizzley About Us | Terms and Privacy | Marketing Tools | Forum | Support


text:
» Collections » National AIDS Archive Collection
National AIDS Archive Collection
The National AIDS Archive Collection documents the history of AIDS education and prevention and related concerns in all Australian states, territories and nationally. It contains material from a wide range of government agencies, community-based organisations and individuals. It includes significant holdings of printed material, audio-visual material and ephemera.
As well as records of broad-ranging interest, the National AIDS Archive Collection contains records that are specifically oriented towards particular communities and concerns. Some of the targeted communities include the gay community, church groups, sex industry workers, people from non-English speaking backgrounds, indigenous Australians, intravenous drug users, and people living with HIV/AIDS. Specific concerns addressed include women's health, haemophilia, workplace health and safety, prisons, and safe sex.
This is a list of material we hold in the National AIDS Archive Collection. Several deposits are restricted and you will need the depositor's permission to use them.
Collection index
Deposit name
Deposit number
Quantity in
shelf metres
General library reference material H1 1985 - 1995 1.4 General reference items on AIDS in Australia as a whole. Included are catalogue listings from libraries, chronologies, personal research work
and bibliographies of researchers.
Products H2 1985 - 2008 9.3 An artificial collection, mostly publications, plus posters and AV material produced by the
Commonwealth Health Department and successor agencies, AIDS Education Unit, Communicable Diseases Branch. A small number of publications
are from other Commonwealth agencies. All relate to the HIV/AIDS education campaign.
Non Commonwealth Government Products H3 1986 - 1994 14.7 An artificial collection of all forms of printed material including posters, plus AV material produced by non Commonwealth government bodies as part of the HIV/AIDS education campaign.
Federation of Australia H4 1968 - 1992 20.1 Minutes, files and papers relating to administration, policy, education, contraception, finance, statistics, publicity, committees and related bodies including the South Pacific Family Planning programs and the International Planned Parenthood Federation.
Australian IV League
(AIVL) H5 1988 - 1992 2.25 Minutes, reports, conference and workshop papers, correspondence, subject, and general files, press cuttings and publications.
Australian Federation
of AIDS Organisations
(AFAO) H6 and H24 1985 - 2014 39 Policy records, minutes, project and subject files covering the major activities of the Federation, files from the Legal Rights Project Office and publications. Also includes
Foundation of
Australia (HFA)
includes predecessors H7 1977 - 1993 9.9 Council Executive,and Conference papers, correspondence with interstate societies and overseas bodies, general and research files, AIDS related files and papers, publications, press cuttings, audio-visual items and records of predecessors of the Australian Federation of Haemophilia Societies and the Haemophilia Society of Victoria.
AIDS Action Council
of the ACT H8 1984 - 1994 15 Board minutes, policy and project files, correspondence and printed material. Includes records of People Living with AIDS ACT and the National People Living with AIDS Coalition.
Phil Carswell Papers H9 and H18 1983 - 1993 3 Personal papers of Phil Carswell documenting his membership of the Victorian AIDS Council, NACAIDS, ANCA, and other AIDS related
bodies from 1983. Papers relate to AIDS policy, programs and work in this field with Ggovernment
and community liaison.
Geoffrey Harrison
Papers H10 1973 - 1993 7.35 Personal papers of Geoffrey Harrison covering his work as a publicist in the Performing Arts field and his involvement as a campaigner and advocate on
treatments, policy and education publicist in HIV/AIDS community and national organisations. Includes files, albums, diaries, posters, audiotapes and cassettes.
Association. (PHA) H11 1968 - 1998 10.65 Meetings papers, annual reports, correspondence and publications files, conference papers, membership lists, publications and papers about workshops, special interest groups and related organisations.
Magnus, Nankervis
and Curl H12 1985 - 1990 0.9 Records relating exclusively to the contract this company held to devise Phase 2 advertising campaigns for the National AIDS Education
Program, 1987-1990. Includes general files, media proposals, questionnaires, scripts production documentation and research papers.
ACTUP Melbourne
(AIDS Coalition to
Unleash Power) H13 1990 - 1993 0.45 Files about Melbourne campaign, publicity and planning, inter-organisational campaign papers plus news and publicity material from overseas
organisations. This collection consists of copies of records retained by ACTUP.
AIDS Trust of
Australia (ATA) H14 1987 - 1992 2 Trustees meetings papers, correspondence and subject files re donations, fundraising, sales, agreements and various activities; press releases, press cuttings, AIDS information papers and reports.
Scarlet Alliance H15 1988 - 1993 2.1 Subject files covering all aspects of their activities, meetings and conference papers, reports and submissions; documentation relating to sex worker rights, other sex worker organisations, and HIV/AIDS here and overseas.
Churches AIDS
Pastoral Care &
(CAPE) H16 1988 - 1993 2 History of the program, Committee of Management records, papers re sub-committees, correspondence and subject files, Youth Conference papers, kits and publications.
AIDS Society of ASIA
and the Pacific (ASAP) H17 1989 - 1992 1.2 Aims, rules, Executive Committee and conference papers and files re programs and activities.
Bill Bowtell Papers H19 1984 - 1994 3.3
Files documenting Bill Bowtell's involvement in HIV/Aids policy and administration (1983-93). He was Senior Policy advisor to the Health Minister (1983-86), and involved with ANCA, AFAO and other bodies.
of People Living
with AIDS (formerly
NPLWAC) H20 1991 - 1993 1.2 Classified file series covering aspects of the work of this organisation.
Index to archived documents of Greg Weir H21 1995 0.1 An index to documents deposited in the National Library of Australia as MS 8915. MS 8915 comprises 25 files of correspondence, articles, cuttings, reports, minutes, posters and other papers assembled by Greg Weir during twenty years of political activism. A list of the contents of MS 8915 is at http://www.nla.gov.au.virtual.anu.edu.au/ms/findaids/8915.html
Counselling notes H22 1983 - 1986 0.2 Notes made by Terry Goulden during his work at St Vincent's Hospital, Sydney.
AIDS in Australia H23 1980s - 1990s 25 Newspaper cuttings, research papers on AIDS in Australia compiled by Dr John Ballard.
Australian Federation of AIDS Organisations Deposit 2 H24 1985 - 2014 28 Minutes of the Australian Federation of AIDS Organisations and affiliated members, correspondence files, National and International conference programs and papers, policy files, legal files, National and International project files, Government and Non-Government liaison, medical research and treatments programs, educational resources, publications, audiovisual and printed material.
Children living in a
world with AIDS poster
H25 1997 0.1 A poster from the New Zealand AIDS Foundation.
Noel Butlin Archives Centre


text:
Girl Scouts sanitizes abortion backgrounds of selected role models
GSUSA has been holding up women like Hillary Clinton and Betty Friedan as role models while hiding their history as abortion leaders.
Paul Rondeau
Tue Feb 18, 2014 - 7:10 pm EST Fri Jun 18, 2021 - 5:15 pm EDT
February 18, 2014 (LifeSiteNews.com) – Tease: A wholesome organization selling iconic cookies or an organization that (mis)leads girls down the path to immorality?
Over the past weeks, many national pro-life organizations called for a boycott of Girl Scout cookies, claiming that the Girl Scouts USA promotes a pro-abortion ideology. GSUSA emphatically denies it and especially any connections to Planned Parenthood.
However, as early as 2004, then-Girl Scout CEO Kathy Cloninger confirmed in a Today Show interview that Girl Scouts works with Planned Parenthood nationally. "We have relationships with our church communities, with YWCAs, and with Planned Parenthood organizations across the country, to bring information-based sex education programs to girls," said Cloninger.
Cloninger reconfirmed as much in an interview at Harvard in 2007: "And I feel like we cannot be the nation's expert on girl issues without dealing with how issues of sexuality affect the girls of this nation. We believe parents are part of the discussion, but girl scouting needs to be part of education and discussion as well."
Politifact.com of Texas says it was asked to check the accuracy of the claim that GSUSA promotes "pro-abortion women as icons for our children to emulate." It concluded that Girl Scouts does not simply because the Girls Scout guide does not specify "any woman's activism per abortion as a reason for singling her out."
That logic is nonsense. Holding up women as role models while hiding their history as abortion leaders only makes the selections dishonest, not unbiased.
American Life League—the nation's oldest Catholic pro-life group—and other pro-life organizations did not get it wrong. Unfortunately, the bigger story may actually be worse.
ALL double-checked its own facts and found that, of the 11 women discussed with the PolitiFact writer, 80-89 percent are not just pro-abortion, but celebrated pro-abortion leaders.
GSUSA selections include Betty Friedan, the founder of NARAL Prochoice; Pauli Murray, a founding member of the radically pro-abortion NOW; Rosa Parks, a past member of Planned Parenthood's Board of Advocates, and two women (Hillary Clinton and Dolores Huerta) who won the Margaret Sanger Award "for leadership, excellence, and outstanding contributions to the reproductive health and rights movement."
Click "like" if you are PRO-LIFE!
When asked about the imbalance, Kelly Parisi, spokeswoman for the New York-based Girl Scouts, said, "We're not trying to be balanced because we're not trying to promote a political agenda. We don't vet these women based on their political beliefs." She continued, "We are a nonpartisan, nonpolitical organization."
Some critics say that is just parsing words.
"The Girl Scouts' 'no position' means it is perfectly happy to promote well-known abortion rights activists as role models like Gloria Steinem, Betty Friedan, Geraldine Ferraro (and on and on) as long as that woman has done some other good deed alongside her advocacy for the right to kill innocent children in the womb," says Christy Volanski, a former troop leader whose two ex-scout daughters founded the website SpeakNowGirlScouts.com. She continued, "It does not mean they refrain from engaging in these issues; it means they are totally 'indifferent' to the sanctity of life in the womb and the dignity of marriage. And I find that very sad."
Parisi's also stated that the Girl Scouts "believe [abortion] is a private matter for girls and their families." That is not only at odds with Cloninger, it does not address why local troops openly work with abortion advocates and providers.
According to the Catholic News Agency, "The Girl Scouts have filled their national leadership team and board of directors with unwavering ideologues whose careers, nonprofit work, and philanthropic choices reflect a hefty commitment to liberal causes—same-sex marriage, gay and lesbian rights, abortion rights, comprehensive sex education, and 'girl power' feminism."
Parisi is an example: Prior to GSUSA, she was vice president of marketing and communications for pro-abortion Ms. Foundation for Women. MFW lists "reproductive rights and health" as a top priority. While there, Parisi reportedly channeled her outrage "at women's inequality and gender injustice" that she saw daily and was proud of her work in MFW helping Planned Parenthood to attack Susan G. Komen.
GSUSA's current $393,000 CEO, Anna Maria Chavez, who succeeded Cloninger in 2011, has long been associated with pro-abortion politicians and policymakers.
GSUSA's tack to the left also includes an "all inclusive" policy that contains "insistence on being a voice for all girls, regardless of their . . . sexual orientation, or gender identity."
Deb Taft, chief development officer at GSUSA, serves on the national board of governors for the Human Rights Campaign, the biggest gay lobby in the nation. She chaired HRC's 2010 and 2011 New England Gala Dinners.
But putting aside GSUSA leadership associations, if GSUSA is neutral on abortion, then why does it refuse "to allow pro-life advocacy to count towards badge work" but "reproductive health" advocacy is specified as meeting GSUSA leadership program objectives?
GSUSA is also the largest member and therefore a $1.4 million financial supporter to WAGGGS, the World Association of Girl Guides and Girl Scouts, a global organization that wants "to rapidly improve the status of the girl child… especially on sexual and reproductive health and rights."
GSUSA dismisses the association, comparing WAGGGS to the United Nations—saying you do not have to agree with everything to have a seat at the table.
Even with the scrubbing of GSUSA and WAGGGS websites, it is perplexing how often pro-abortion and sexual diversity advocates, ideas, and organizations still mysteriously orbit around the "neutral" Girl Scouts.


I am getting a "autom4te: cannot lock autom4te.cache/requests with mode 2: Resource temporarily unavailable" when running make on a samba mounted share from a mac. My samba server is running on gentoo. I suspect the locking needs to be adjusted (http://www.samba.org/samba/docs/using_samba/ch08.html#samba2-CHP-8-TABLE-6) but I am not sure which one needs to be changed.


A former roommate has T-Mobile. He also likes to snowboard, and his favorite haunt is Copper Mountain. The drive there leaves him without service in some areas, but the higher he goes up Copper, the better service he gets. Full 3G too. From what I hear, even Verizon doesn't have the area covered that well, despite the fact that they hold an 850MHz license for the area.


text:
/*
 *  pygame fastevent module
 */
#define PYGAMEAPI_FASTEVENT_INTERNAL
#include "pygame.h"
#include "pgcompat.h"
#include "fastevents.h"

static int FE_WasInit = 0;

#define FE_INIT_CHECK()                                                 \
    do                                                                  \
    {                                                                   \
        if (!FE_WasInit)                                                \
            return RAISE(PyExc_SDLError,                                \
                         "fastevent system not initialized");           \
    }                                                                   \
    while (0)

static void
fastevent_cleanup (void)
{
    if (FE_WasInit)
    {
        FE_Quit ();
        FE_WasInit = 0;
    }
}

/* fastevent module functions */

/* DOC */ static char doc_init[] =
/* DOC */ "pygame.fastevent.init() -> None\n"
/* DOC */ "initialize pygame.fastevent.\n"
/* DOC */ ;
static PyObject *
fastevent_init (PyObject * self)
{
    VIDEO_INIT_CHECK ();

#ifndef WITH_THREAD
    return RAISE (PyExc_SDLError,
                  "pygame.fastevent requires a threaded Python");
#else
    if (!FE_WasInit)
    {
        if (FE_Init () == -1)
            return RAISE (PyExc_SDLError, FE_GetError ());

        PyGame_RegisterQuit (fastevent_cleanup);
        FE_WasInit = 1;
    }

    Py_RETURN_NONE;
#endif /* WITH_THREAD */
}

/* DOC */ static char doc_pump[] =
/* DOC */ "pygame.fastevent.pump() -> None\n"
/* DOC */ "update the internal messages\n"
/* DOC */ "\n"
/* DOC */ "For each frame of your game, you will need to make some sort\n"
/* DOC */ "of call to the event queue. This ensures your program can internally\n"
/* DOC */ "interact with the rest of the operating system. If you are not using\n"
/* DOC */ "other event functions in your game, you should call pump() to allow\n"
/* DOC */ "pygame to handle internal actions.\n"
/* DOC */ "\n"
/* DOC */ "There are important things that must be dealt with internally in the\n"
/* DOC */ "event queue. The main window may need to be repainted. Certain joysticks\n"
/* DOC */ "must be polled for their values. If you fail to make a call to the event\n"
/* DOC */ "queue for too long, the system may decide your program has locked up.\n"
/* DOC */ ;
static PyObject *
fastevent_pump (PyObject * self)
{
    FE_INIT_CHECK ();
    FE_PumpEvents ();
    Py_RETURN_NONE;
}

/* DOC */ static char doc_wait[] =
/* DOC */ "pygame.fastevent.wait() -> Event\n"
/* DOC */ "wait for an event\n"
/* DOC */ "\n"
/* DOC */ "Returns the current event on the queue. If there are no messages\n"
/* DOC */ "waiting on the queue, this will not return until one is\n"
/* DOC */ "available. Sometimes it is important to use this wait to get\n"
/* DOC */ "events from the queue, it will allow your application to idle\n"
/* DOC */ "when the user isn't doing anything with it.\n"
/* DOC */ ;
static PyObject *
fastevent_wait (PyObject * self)
{
    SDL_Event event;
    int       status;

    FE_INIT_CHECK ();

    Py_BEGIN_ALLOW_THREADS;
    status = FE_WaitEvent (&event);
    Py_END_ALLOW_THREADS;

    /* FE_WaitEvent will block forever on error */
    if (!status)
        return RAISE (PyExc_SDLError, "unexpected error in FE_WaitEvent!");

    return PyEvent_New (&event);
}

/* DOC */ static char doc_poll[] =
/* DOC */ "pygame.fastevent.poll() -> Event\n"
/* DOC */ "get an available event\n"
/* DOC */ "\n"
/* DOC */ "Returns next event on queue. If there is no event waiting on the\n"
/* DOC */ "queue, this will return an event with type NOEVENT.\n"
/* DOC */ ;
static PyObject *
fastevent_poll (PyObject * self)
{
    SDL_Event event;
    int       status;

    FE_INIT_CHECK ();

    status = FE_PollEvent (&event);
    if (status == 1)
        return PyEvent_New (&event);
    else
    {
        /* Check for -1 */
        return PyEvent_New (NULL);
    }
}

/* DOC */ static char doc_get[] =
/* DOC */ "pygame.fastevent.get() -> list of Events\n"
/* DOC */ "get all events from the queue\n"
/* DOC */ ;
static PyObject *
fastevent_get (PyObject * self)
{
    SDL_Event event;
    PyObject  *list, *e;
    int       status;

    FE_INIT_CHECK ();

    list = PyList_New (0);
    if (!list)
        return NULL;

    FE_PumpEvents ();

    while (1)
    {
        status = FE_PollEvent (&event);
        if (status != 1)
            break;
        e = PyEvent_New (&event);
        if (!e)
        {
            Py_DECREF (list);
            return NULL;
        }

        PyList_Append (list, e);
        Py_DECREF (e);
    }

    return list;
}

/*DOC*/ static char doc_post[] =
/*DOC*/ "pygame.fastevent.post(Event) -> None\n"
/*DOC*/ "place an event on the queue\n"
/*DOC*/ "\n"
/*DOC*/ "This will post your own event objects onto the event queue.\n"
/*DOC*/ "You can past any event type you want, but some care must be\n"
/*DOC*/ "taken. For example, if you post a MOUSEBUTTONDOWN event to the\n"
/*DOC*/ "queue, it is likely any code receiving the event will expect\n"
/*DOC*/ "the standard MOUSEBUTTONDOWN attributes to be available, like\n"
/*DOC*/ "'pos' and 'button'.\n"
/*DOC*/ "\n"
/*DOC*/ "Because pygame.fastevent.post() may have to wait for the queue\n"
/*DOC*/ "to empty, you can get into a dead lock if you try to append an\n"
/*DOC*/ "event on to a full queue from the thread that processes events.\n"
/*DOC*/ "For that reason I do not recommend using this function in the\n"
/*DOC*/ "main thread of an SDL program.\n"
/*DOC*/ ;
static PyObject *
fastevent_post (PyObject * self, PyObject * arg)
{
    SDL_Event     event;
    int           status;

    if (!PyObject_IsInstance (arg, (PyObject *) &PyEvent_Type)) {
        PyErr_Format (PyExc_TypeError, "argument 1 must be %s, not %s",
                      PyEvent_Type.tp_name, Py_TYPE(arg)->tp_name);
        return NULL;
    }

    FE_INIT_CHECK ();

    if (PyEvent_FillUserEvent ((PyEventObject *) arg, &event))
        return NULL;

    Py_BEGIN_ALLOW_THREADS;
    status = FE_PushEvent (&event);
    Py_END_ALLOW_THREADS;

    if (status != 1)
        return RAISE (PyExc_SDLError, "Unexpected error in FE_PushEvent");

    Py_RETURN_NONE;
}

static PyMethodDef _fastevent_methods[] =
{
    {"init", (PyCFunction) fastevent_init, METH_NOARGS, doc_init},
    {"get", (PyCFunction) fastevent_get, METH_NOARGS, doc_get},
    {"pump", (PyCFunction) fastevent_pump, METH_NOARGS, doc_pump},
    {"wait", (PyCFunction) fastevent_wait, METH_NOARGS, doc_wait},
    {"poll", (PyCFunction) fastevent_poll, METH_NOARGS, doc_poll},
    {"post", fastevent_post, METH_O, doc_post},

    {NULL, NULL, 0, NULL}
};

/*DOC*/ static char doc_fastevent_MODULE[] =
/*DOC*/ "pygame.fastevent is a wrapper for Bob Pendleton's fastevent\n"
/*DOC*/ "library.  It provides fast events for use in multithreaded\n"
/*DOC*/ "environments.  When using pygame.fastevent, you can not use\n"
/*DOC*/ "any of the pump, wait, poll, post, get, peek, etc. functions\n"
/*DOC*/ "from pygame.event, but you should use the Event objects.\n"
/*DOC*/ ;
MODINIT_DEFINE (fastevent)
{
    PyObject *module, *eventmodule, *dict;
    int ecode;

#if PY3
    static struct PyModuleDef _module = {
        PyModuleDef_HEAD_INIT,
        "fastevent",
        doc_fastevent_MODULE,
        -1,
        _fastevent_methods,
        NULL, NULL, NULL, NULL
    };
#endif

    /* imported needed apis; Do this first so if there is an error
       the module is not loaded.
    */
    import_pygame_base ();
    if (PyErr_Occurred ()) {
	MODINIT_ERROR;
    }
    import_pygame_event ();
    if (PyErr_Occurred ()) {
	MODINIT_ERROR;
    }

    /* create the module */
#if PY3
    module = PyModule_Create (&_module);
#else
    module = Py_InitModule3 (MODPREFIX "fastevent",
                             _fastevent_methods,
                             doc_fastevent_MODULE);
#endif
    if (module == NULL) {
        MODINIT_ERROR;
    }
    dict = PyModule_GetDict (module);

    /* add the event module functions if available */
    eventmodule = PyImport_ImportModule (IMPPREFIX "event");
    if (eventmodule)
    {
        char *NAMES[] = {"Event", "event_name", NULL};
        int  i;

        for (i = 0; NAMES[i]; i++)
        {
            PyObject *ref = PyObject_GetAttrString (eventmodule, NAMES[i]);
            if (ref)
            {
                ecode = PyDict_SetItemString (dict, NAMES[i], ref);
                Py_DECREF (ref);
                if (ecode == -1) {
                    DECREF_MOD(module);
                    MODINIT_ERROR;
                }
            }
            else
                PyErr_Clear ();
        }
    }
    else
    {
        PyErr_Clear ();
    }
    MODINIT_RETURN (module);
}


Stäubli, with its product line Schönherr carpet systems participated in this year's Domotex in Hanover. The welcoming booth in Hall 6 underlined the proximity of the company to its customers and allowed to present latest carpet samples woven on ALPHA 500 carpet weaving systems.
"Our existing and prospective customers were keen on discovering innovative weaving structures that can be realized on our machines. At the same time, the flexibility and versatility of our weaving systems for most economic weaving operations were appreciated. Alpha 500 weavers are ready for future trends in carpet production" says Mr Fritz Legler, the new sales and marketing manager of the product line Schönherr.
Outdoor carpets and versatile rugs with fascinating designs based on exclusive and innovating binding technologies gave visitors an overview on the vast possibilities offered by Stäubli. Creating unique designer rugs economically on the 5.3m wide ALPHA 500 UNIVERSAL or entering into new carpet business fields with economically produced wall to wall carpets, in flat, pile or loop style, everything is possible when opting for the ALPHA Series.
Domotex 2019 has been a great opportunity to show the strength of Stäubli to existing and prospective customers – many high level talks with decision makers were held during the exhibition. Relationships were rekindled – the new management team of Stäubli`s Schönherr Carpet Weaving System is building confidence in the market. A successful participation in this year`s Domotex is a clear sign for many future opportunities. "We very much thank our customers for their confidence and trust in us" summarizes Fritz Legler.


Master Content Marketing In 30 Days has ClickBank Vendor ID of SA4ONLINE and and gravity of 0.0 is released on 2018-09-23.
You can obtain more details about Master Content Marketing In 30 Days and the customer comments in our site. Your valuable comments and opinions are also welcomed.
25% is offered to its affiliate for each sale of Master Content Marketing In 30 Days.Unsatisfied customers can always request for refund within 60 days of the purchase date . It is worth to give Master Content Marketing In 30 Days a try.


This is a Member Only Episode of The Apex Nutrition Podcast.
Kelli is back with another great episode of The Apex Nutrition Podcast. Listen in as Kelli tells you whether you should skimp or skip training fuel for shorter training or racing sessions.
She also gives you 3 quick tips on how to lose some fat during the offseason.
If you have any questions or thoughts about what you'd like to hear in future member only episodes, please let us know.
Tailwind Nutrition's Jeff Vierling joins Ben to discuss a variety of topics, including the history of Tailwind, details of the science behind refueling the body, specifics about their product and some tips from Jeff's extensive Leadville 100 experience.
We think that you'll find Jeff to be very engaging and passionate about training, racing, and providing others with clean training and racing nutrition through Tailwind.
Tailwind Nutrition Challenge - "If Tailwind doesn't make you stronger, happier, and less stressed during training and at your next event, we'll pay your entry fee."
Thanks to some great comments and questions by listeners, this is a great show with some very helpful answers. Kenny tries his best to derail the show for the first twenty minutes though by ripping on the Surly Krampus and how much he didn't like it.
What do you do if your cog doesn't fit on the freehub? What to do with a pf30 bottom brackets? Did Matt change his mind on carbon wheels? Listen in.
Kyle is MIA. Clara chats with pro racer Coryn Rivera about coming up through the junior ranks, juggling collegiate cycling with pro racing and 2014 goals and aspirations. Hope you enjoy!
Clara chats with Neil Browne and Mike Creed, who agreed to stand in for the show's regular co-host, Kyle, who took the week off to tend to his emotional health. We chat about Neil's job at Felt Bicycles, Mike's new position as a DS for Smartstop and male intimacy.
Kyle and Clara speak with Sarai about advocacy work, furthering women's cycling and Cyclofemme 2014.
In this episode (can you believe we've made it to three?!) we have a special guest who knows nothing about cycling, Kyle hates on cyclocross even though he knows Clara is a two time national champion and there is some PSA advice regarding embrocation.
Clara and Kyle wax philosophical on Richard Sherman, going to jail and oh yes, cycling.
Do you know what you're doing for training and race nutrition? What is the right amount of carbs per hour? Do you get too many or too little carbs? How about liquid? Kelli checks in with three strategies for training and race nutrition.
Kelli gives you some great insight into some basics you need to know. Listen in and if you need more help, check out her plans starting at $15 here.
Members get 15% off plans!


text:
'Double-whammy' leaves Whincup lamenting 11th in qualifying
By Simon Chapman
Sunday 20th September, 2020 - 11:02am
Jamie Whincup pic: Red Bull Holden Racing Team Twitter
Jamie Whincup pinpointed a lacklustre out lap and a mistake on his flying lap for 11th in Qualifying for Race 26 at The Bend Motorsport Park.
The Red Bull Holden Racing Team driver improved in the second time of asking, qualifying third for the final race of the Repco SuperSprint.
Meanwhile, Virgin Australia Supercars Championship points leader Scott McLaughlin recorded back-to-back pole positions for the Shell V-Power Racing Team.
"To be honest, I think it all started starting the lap," said Whincup.
"I didn't get a good out lap. The car was good through the first two sectors but (I) couldn't go on with it, and I made an error as well, which was a double-whammy.
"The field is so tight at the moment; you make a small error and the car's not perfect and boom, you lose two spots."
Whincup said he was happy to bounce back in the final qualifying for Race 27 of the season, but didn't believe he could go any better than third.
"We maximised the second run," Whincup explained.
"That was probably as fast as we were going to go, P3. But yeah, disappointing we didn't maximise the first (session)."
Whincup was among those hampered by tyre wear in Race 25, which was won by Fabian Coulthard.
The seven-time Supercars champion received a 15-second penalty for a Lap 1 incident involving McLaughlin but was unable to recover.
Ultimately, Whincup finished 18th while McLaughlin was 14th following a 15-second penalty for spinning Lee Holdsworth.
The Red Bull racer said tyre strategy will play its part again in Race 26 and 27.
"You don't want to come in too early because it's hard on tyres," said Whincup.
"We've made life a little bit harder for ourselves in the first race, but that's motorsport, that's racing."
Race 26 of the Virgin Australia Supercars Championship starts at 11:55 local time/12:25 AEST.


text:
Q: How to run 'bundle exec rake -P' "using the production group of your Gemfile"? I see this dreaded message;
remote:  !
remote:  !     Could not detect rake tasks
remote:  !     ensure you can run `$ bundle exec rake -P` against your app
remote:  !     and using the production group of your Gemfile.
remote:  !     /tmp/build_c4484669/bin/rake:8:in `require': cannot load such file -- rake (LoadError)
remote:  !     from /tmp/build_c4484669/bin/rake:8:in `<main>'
remote:  !
remote: /tmp/codon/tmp/buildpacks/50d5eddf222a9b7326028041d4e6509f915ccf2c/lib/language_pack/helpers/rake_runner.rb:106:in `load_rake_tasks!': Could not detect rake tasks (LanguagePack::Helpers::RakeRunner::CannotLoadRakefileError)
remote: ensure you can run `$ bundle exec rake -P` against your app
remote: and using the production group of your Gemfile.
remote: /tmp/build_c4484669/bin/rake:8:in `require': cannot load such file -- rake (LoadError)

Yet I've run bundle exec rake -P and it works fine. How exactly does one ensure they are running that command "using the production group of your Gemfile"?
Notes
Here are the help docs - can't see any option for using production group in Gemfile:
rake --help
rake [-f rakefile] {options} targets...

Options are ...
        --backtrace=[OUT]            Enable full backtrace.  OUT can be stderr (default) or stdout.
        --comments                   Show commented tasks only
        --job-stats [LEVEL]          Display job statistics. LEVEL=history displays a complete job list
        --rules                      Trace the rules resolution.
        --suppress-backtrace PATTERN Suppress backtrace lines matching regexp PATTERN. Ignored if --trace is on.
    -A, --all                        Show all tasks, even uncommented ones (in combination with -T or -D)
    -B, --build-all                  Build all prerequisites, including those which are up-to-date.
    -D, --describe [PATTERN]         Describe the tasks (matching optional PATTERN), then exit.
    -e, --execute CODE               Execute some Ruby code and exit.
    -E, --execute-continue CODE      Execute some Ruby code, then continue with normal task processing.
    -f, --rakefile [FILENAME]        Use FILENAME as the rakefile to search for.
    -G, --no-system, --nosystem      Use standard project Rakefile search paths, ignore system wide rakefiles.
    -g, --system                     Using system wide (global) rakefiles (usually '~/.rake/*.rake').
    -I, --libdir LIBDIR              Include LIBDIR in the search path for required modules.
    -j, --jobs [NUMBER]              Specifies the maximum number of tasks to execute in parallel. (default is number of CPU cores + 4)
    -m, --multitask                  Treat all tasks as multitasks.
    -n, --dry-run                    Do a dry run without executing actions.
    -N, --no-search, --nosearch      Do not search parent directories for the Rakefile.
    -P, --prereqs                    Display the tasks and dependencies, then exit.
    -p, --execute-print CODE         Execute some Ruby code, print the result, then exit.
    -q, --quiet                      Do not log messages to standard output.
    -r, --require MODULE             Require MODULE before executing rakefile.
    -R, --rakelibdir RAKELIBDIR,     Auto-import any .rake files in RAKELIBDIR. (default is 'rakelib')
        --rakelib
    -s, --silent                     Like --quiet, but also suppresses the 'in directory' announcement.
    -t, --trace=[OUT]                Turn on invoke/execute tracing, enable full backtrace. OUT can be stderr (default) or stdout.
    -T, --tasks [PATTERN]            Display the tasks (matching optional PATTERN) with descriptions, then exit. -AT combination displays all of tasks contained no description.
    -v, --verbose                    Log message to standard output.
    -V, --version                    Display the program version.
    -W, --where [PATTERN]            Describe the tasks (matching optional PATTERN), then exit.
    -X, --no-deprecation-warnings    Disable the deprecation warnings.
    -h, -H, --help                   Display this help message.

redpajama_set_name: RedPajamaStackExchange


text:
Resiliency From the Ground Up: How Diverse Cover Cropping Can Profit Your Farm and Community
A webinar with Keith Berns and Didi Pershouse on Thursday, May 7, 2020, at 11 AM EST
Watch the Webinar On-Demand
This webinar occurred on May 7, 2020, and is now available on demand.
After signing up for this webinar, you will be taken to the curriculum, where you will see the Zoom link for you to register and watch the webinar.
Join Keith Berns and Didi Pershouse, two respected voices in the Soil Health movement, to learn why diverse cover cropping is key to resilient communities--both above and below ground.
What makes a landscape resilient to flooding and drought? How do we address the extinction of so many bird, insect, and animal species at once? Why are researchers finding that a mixture of plants often performs better than a monoculture of the best performing plant in the mix?
The many beneficial outcomes from diverse cover cropping defy "common sense" and run contrary to how most of us were taught to farm (though Nature has been trying to tell us this for millenia!) The secret lies in each plant species having unique liquid carbon root exudates that provide a balanced diet of sugar, energy, proteins, and nutrients to the soil microbial population--allowing the soil's functional microbiome to increase and diversify dramatically--with benefits right up the food chain.
Plants that are surrounded by diverse, abundant microbial communities are more drought-tolerant, and are better supplied with plant nutrients, making the plants (and those who eat them) more resistant to disease. All this microbial activity also improves soil structure, which improves the function of the whole watershed/catchment. Plant diversity also reduces insect pressure on plants, by attracting beneficial insects and birds, keeping the circle of life going.
Diversity is a powerful force for people as well. Human communities benefit greatly from a diverse agricultural landscape, and from diversity in our food, farmers and friendships. Here's a chance to diversify your education by joining us for this interactive webinar!
Even if you are not a farmer, or are relatively new to the concept of diverse cover-cropping, you are welcome to attend, and will learn a lot about food, health, and the many benefits of a healthy functional landscape.
This webinar is offered for free, but we encourage people to donate towards the work of the Land & Leadership Initiative to make more of these offerings possible.
About the instructors:
Keith Berns combines over 20 years of no-till farming with 10 years of teaching Agriculture and Computers. In addition to no-tilling 2,500 acres of irrigated and dryland corn, soybeans, rye, triticale, peas, sunflowers, and buckwheat in South Central Nebraska, he also co-owns and operates Green Cover Seed, one of the major cover crop seed educators and providers in the United States. Through Green Cover Seed, Keith has experimented with over 100 different cover crop types, and hundreds of mixes, planted into various situations and has learned a great deal about cover crop growth, nitrogen fixation, moisture usage, and grazing utilization of cover crops. Keith was honored by the White House as a 2016 Champion of Change for Sustainable and Climate-Smart Agriculture. Keith also developed the SmartMix CalculatorTM one of the most widely used cover-crop selection tools on the internet. Keith has a Masters Degree in Agricultural Education from the University of Nebraska and teaches on cover crops and soil health more than 30 times per year to various groups and audiences. Keith was also recently appointed by Nebraska Governor Pete Rickets to be the chairman of the Nebraska Healthy Soils Task Force.
Didi Pershouse is the author of The Ecology of Care: Medicine, Agriculture, Money, and the Quiet Power of Human and Microbial Communities and Understanding Soil Health and Watershed Function. She is a lead author for the "Future Directions" chapter of the UN-FAO Technical Manual on Soil Organic Carbon Management, and a contributing author for Health in the Anthropocene.
Pershouse is a skilled facilitator, who brings conservatives and liberals together into effective working groups with common goals: improving soil health, public health, water security, and regional resilience through simple changes in land management. Both online and in-person, her participatory workshops engage farmers and ranchers, policy makers, investors, and scientists in systems thinking and deep listening, to allow for emergent strategies. She was one of five speakers at the United Nations-FAO World Soil Day in 2017.
She is the founder of the Land and Leadership Initiative and the Center for Sustainable Medicine, and a co-founder of Regenerate Earth and the "Can we Rehydrate California?" Initiative. She is currently working on projects with the UN-FAO Farmer Field School program; the Climate Resilient Zero Budget Natural Farming Initiative in Andhra Pradesh, India; and the No Regrets Initiative. She is a member of the Vermont State appointed Payment For Ecosystem Services and Soil Health Working Group and is on the board of directors of the Soil Carbon Coalition and the Vermont Healthy Soils Coalition.
You can learn more about her work at www.didipershouse.com
Free Webinar Coupon Discount
Free Webinar and I will donate $10 to the Land and Leadership Initiative Coupon Discount
Free Webinar and I will donate $100 to the Land and Leadership Initiative Coupon Discount
When will the webinar occur?
The webinar will occur on May 7, 2020, at 11 AM EST. Once it has finished, it will be available on demand.
How long do I have access to the webinar?
How does lifetime access sound? After enrolling, you have unlimited access to this webinar for as long as you like - across any and all devices you own.
What if I am unhappy with the webinar?
We would never want you to be unhappy! If you are unsatisfied with this offering purchase, contact us in the first 30 days and we will give you a full refund.
© Land and Leadership Initiative 2023
Learn more about Didi Pershouse.


Problem with setting vertices positions and smoothing groups.
So, I have a two-part problem. I've started playing around with mesh/vertex manipulation in code with the information available in the docs. I have a planar that, when hit with a raycast takes the closest x amount of vertices from the hit point and lowers their Y position by 0.02. This works fine. I wanted to keep the hard, visible edges, so I exported a plane (both flat and curved, to test both) from 3DS with all smoothing groups cleared. With the flat plane, it works fine, but automatically smooths all of the normals, which I don't want. With the curved plane, it smooths some of the normals, but also breaks some of the edges. I've made sure there are no overlapping vertices, tried messing with the normals and tangents settings in the importer dialog but nothing seems to be working so far. Does anyone know how to stop both/either of these from happening?
So I've managed to sort the problem with the normal smoothing out, but the edges are still breaking.
So I've solved the second problem as well. According to a really old thread that was difficult to find, having a non-smoothed object uses multiple vertices to render additional normal directions, so the edges weren't 'breaking' per-se, the vertices simply weren't all being moved. I've written something to get all the duplicate verts here, if anyone's interested. This is quite an expensive operation, however, so any refinement or less CPU-heavy code would be greatly appreciated!
Basically, this gets the X amount of vertices closest to the hit point and stores the index numbers of those vertices in an array. It then takes that array and iterates through it, checking the rest of the verts for identical positions, which are added to a JS array. It converts the JS array to a built-in, which can then be modifed however you wish.
Your actual answer wasn't a valid answer since you just said "you sorted the problem out" which isn't an answer that answers the question. However your comment is much more an answer and there you actually explained something.
So i edited you answer and integrated your comment into the answer.
Since you use a raycast against a MeshCollider you get far more informations than the world space hit point. You get also the triangle index of the triangle that was hit as well as the barycentric coordinates of the hit point within that triangle. With that information you can easily find the closest vertex without any looping. However as you have discovered already, if the mesh doesn't fully share the one vertex you get in trouble. If you know or plan to have many manipulations on a certain mesh, you can simply create some additional preprocessed information for the mesh.
With prebuild vertex groups you need no loops as you can directly access all information that you need.
Final note: Keep in mind that you have to update the MeshCollider as well. This will be the thing which most likely take the most time. Also watch out, the MeshCollider is a bit buggy when you dynamically change the mesh. I'm not sure if this is already fixed, however if not just search here on UA and the forums and you'll find quite a bit on that topic.
Sorry about that. I found that for the normal smoothing, if the adjustments to the vertices are in smaller increments, the smoothing effect seems to be a lot less. Also, having figured out the multiple vertex problem, the normals seem to retain their hard edges now anyway.
I changed this to simply create two temporary floats, adding the Vector3 values together and then simply comparing the floats. Probably a much more elegant solution to doing so, but since it's only looking for verts that are in the absolute same world-space position, it works well enough since I'm comparing around 3,500 verts against 40, 80 or 100.
I do have the mesh, bounds and normals recalculating in a seperate function (run every 0.3 seconds while the mesh is being modified, since it's another heavy call), but I'm curious about what you said about the vertex groups. Is this something within 3DS Max? Because within Max there are no overlapping vertices, which leads me to believe the additional verts are added in the exporting process.


text:
Is Now The Time To Put Shoprite Holdings (JSE:SHP) On Your Watchlist?
6 December 2022, 5:13 am ·3-min read
Investors are often guided by the idea of discovering 'the next big thing', even if that means buying 'story stocks' without any revenue, let alone profit. Unfortunately, these high risk investments often have little probability of ever paying off, and many investors pay a price to learn their lesson. Loss making companies can act like a sponge for capital - so investors should be cautious that they're not throwing good money after bad.
So if this idea of high risk and high reward doesn't suit, you might be more interested in profitable, growing companies, like Shoprite Holdings (JSE:SHP). While this doesn't necessarily speak to whether it's undervalued, the profitability of the business is enough to warrant some appreciation - especially if its growing.
Check out our latest analysis for Shoprite Holdings
How Fast Is Shoprite Holdings Growing?
If a company can keep growing earnings per share (EPS) long enough, its share price should eventually follow. That makes EPS growth an attractive quality for any company. Over the last three years, Shoprite Holdings has grown EPS by 15% per year. That growth rate is fairly good, assuming the company can keep it up.
Top-line growth is a great indicator that growth is sustainable, and combined with a high earnings before interest and taxation (EBIT) margin, it's a great way for a company to maintain a competitive advantage in the market. Shoprite Holdings maintained stable EBIT margins over the last year, all while growing revenue 9.6% to R184b. That's a real positive.
In the chart below, you can see how the company has grown earnings and revenue, over time. For finer detail, click on the image.
earnings-and-revenue-history
In investing, as in life, the future matters more than the past. So why not check out this free interactive visualization of Shoprite Holdings' forecast profits?
Are Shoprite Holdings Insiders Aligned With All Shareholders?
We would not expect to see insiders owning a large percentage of a R132b company like Shoprite Holdings. But we do take comfort from the fact that they are investors in the company. Indeed, they have a considerable amount of wealth invested in it, currently valued at R18b. Coming in at 13% of the business, that holding gives insiders a lot of influence, and plenty of reason to generate value for shareholders. So there is opportunity here to invest in a company whose management have tangible incentives to deliver.
Does Shoprite Holdings Deserve A Spot On Your Watchlist?
As previously touched on, Shoprite Holdings is a growing business, which is encouraging. To add an extra spark to the fire, significant insider ownership in the company is another highlight. That combination is very appealing. So yes, we do think the stock is worth keeping an eye on. It is worth noting though that we have found 1 warning sign for Shoprite Holdings that you need to take into consideration.
The beauty of investing is that you can invest in almost any company you want. But if you prefer to focus on stocks that have demonstrated insider buying, here is a list of companies with insider buying in the last three months.
Please note the insider transactions discussed in this article refer to reportable transactions in the relevant jurisdiction.
When night falls in Tatiana Trofimenko's village in southern Ukraine, she pours sunflower oil that aid groups gave her into a jar and seals it with a wick-fitted lid. "This is our electricity," Trofimenko, 68, says. It has been over 11 weeks since Ukrainian forces wrested back her village, Kalynivske, in Kherson province, from Russian occupation.
The News Puzzle: Test your knowledge of this month's events
As January comes to an end, why not test your knowledge of recent notable events with a quiz? The FT has launched the News Puzzle, the first in a monthly series of cryptic crosswords which takes the topical events of the past month as its theme. A band of crossword compilers will take it in turns to fill a grid with the people, places and events that FT readers have read about in our recent news coverage.


A handy merchandiser that comes with six 63350 2 piece magnetic LED lights.
Extra bright 8 lumen double-chip LED for continuous use up to 8 hours. Strong magnets attach to ferrous metal objects for hands free use. Compact ABS housing fits into tight areas where standard flashlights will not. Thumb switch for easy on and off. Includes 2 CR2032 batteries with quick change battery holder design for easy battery replacement.


The next step is to perform a series of tests to determine the individual characteristics of your sports vision skills. This will make up your personal Sports Vision Profile.
Now that you've finished your Sports Vision Profile and Athletic Profile, a program will be designed specifically for you.
You'll begin seeing improvements within 14 hours of training. Just like with weight training, plyometrics and other training regimens, you'll see transfer of your sports vision skills evidenced by an improvement in your athletic performance.
This will help with football, basketball, baseball, soccer, tennis and more!
When you start E.D.G.E. Sports Vision Training, you'll get a completely personalized program based on your sport, your position and your goals.
Depending on your sport, position and current level of performance, we will sit down and determine your goals for improvement.
Sports vision is the information that tells your body where and when to perform. There are many visual skills that are necessary for success in sports. Each one of these skills can be improved to bring about peak athletic performance.
What are the advantages of E.D.G.E. Sports Vision?
Our program is sports specific and position specific. Each sport has certain visual skills that are more important than others. Even a position that a player plays affects the sports vision skills the he/she needs most.
Copyright © Optometrists serving Sugar Land TX - Bright Eye Care & Vision Development. All Rights Reserved.


text:
Collared owlet
In Thai: นกเค้าแคระ, nok khao khrae
Binomial name: Glaucidium brodiei , E. Burton, 1836
The collared owlet (Glaucidium brodiei), also known as the collared pygmy owl, is a species of owl in the family Strigidae. Its natural habitat is submontane and montane forests with open spaces and is distributed throughout oriental Asia. It is the smallest owl in Asia, at 15 cm and 60 g.
The collared owlet was first described in 1836 as Noctua brodiei by the English zoologist Edward Burton. It was moved to the genus Glaucidium based on a comparison of mitochondrial DNA sequences and proved to be closely related to the jungle owlet (Glaucidium radiatum) and the Asian barred owlet (Glaucidium cuculoides).
Two subspecies are recognised:
G. b. brodiei (Burton, 1836) – Himalayas to south China south through Indochina and the Malay Peninsula
G. b. pardalotum (Swinhoe, 1863) – Taiwan
The Sunda owlet (Glaucidium sylvaticum) was formerly treated as a subspecies of the collared owlet. It was promoted to species status based on the results of a vocalisation study published in 2019.
The collared owlet, being Asia's smallest owl species, measures between 15 and 17 cm. Females are generally larger than the males, weighing approximately 63 grams, whereas males weigh in at 52 grams.
This bird has a grey-brown colour (depending on age-morph) and has a barred back and flanks, while the head is more spotted than barred. They have prominent white eyebrows, vibrant lemon-yellow-coloured eyes and a white throat patch. The chin, center of the breast and belly are mostly white. The pale collar and the two black spots on each side of the nape imitate eye spots and make it seem like the owl is staring at you from behind. This is known as the "occipital face". It has a greyish-brown pale-spotted pectoral band on upper breast and lacks ear-tufts. You can see its tail when in flight, longer than most pygmy owls, and has rapid wingbeats.
Colour morphs
Collared owlets transition through various age-dependent colour morphs. A capture-recapture study of collared owlets in Taiwan provided evidence of this. On the first capture, the individual was 56 days old and showed fledgling colour morph stage; having less spots and barring on the back and top of the head and not having a completely formed occipital. On the second recapture, the individual was captured 165 days after hatching and demonstrated a rufous morph; having an overall orange-red colour, barred back, spots on the head and a formed occipital. On the third recapture, the individual was 394 days old and was in its final grey morph.
Vocalizations
The collared owlet has very unusual but distinctive vocalizations. The male produces a 4-note phrase "wüp-wüwü-wüp" repeated at intervals of a few seconds, sometimes having incomplete phrases ending in "wüwü". Their call starts mellow and becomes shriller with excitement while turning their head in all directions, creating a ventriloquial effect and making it hard to locate the bird.
The collared owlet is a resident bird in its range.
The collared owlet has a very large range occurring in the Himalayas of northern Pakistan all the way to eastern China and Taiwan. Its range extends southwards through Malaysia. This bird can be found in the following countries: Bhutan, Brunei Darussalam, Cambodia, China, India, Lao People's Democratic Republic, Malaysia, Myanmar, Nepal, Pakistan, Taiwan, Thailand and Viet Nam.
Their preferred habitat varies from evergreen forests, forest edges, mixed deciduous-evergreen forests with oak, rhododendron and fir and open woodlands with scrub. They can be found in submontane and montane habitats varying between 1350–2750 meters in altitude, but they have also been seen near cultivated lands as low as 700 meters in altitude.
Species in the genus Glaucidium are secondary cavity-nesters. For example, the Asian barred owlet was found to use the nest cavity of a collared scops owl once it was no longer using the nest. As for its other close relative, a study showed that the jungle owlet was found active in a secondary cavity nest in riparian forests. Just like the collared owlet's relatives, this small owl does not create its own nest, but rather nests in natural tree hollows or chambers created by woodpeckers and barbets.
Compared to other owls in the genus Glaucidium, the collared owlet is most active during daylight. Being diurnal, this bird can be seen perching, hunting and calling during most parts of the day, and sometimes during the night. It is often mobbed by other small birds when roosting.
Although not much is known about the reproductive methods of the collared owlet, it is believed that the mating couple only remains together during the period of breeding season, which is from March to April.
As mentioned previously, they nest in natural tree hollows or holes created by woodpeckers or barbets, which are often very rotten and found high in tree trunks that are in a clearing or in an open area in the forest. The eggs are laid between late April and mid-June and their young are fledged from mid-June to early August. Clutch size varies between 3 and 5 hatchlings, and their eggs are round and white.
Food and feeding
Few studies has precisely identified the exact diet of the collared owlet, but we can presume that it is similar to the diet of its closest relative, the jungle owlet. The jungle owlet is seen to prey on small mammals such as house mice, little Indian field mice, brown spiny mice and white-toothed pygmy shrews; reptiles such as skinks; birds; amphibians and many invertebrates. Therefore, the diet of the collared owlet consists mainly on small birds, insect, lizards, invertebrates and small mammals. Although its small size, this raptor is extremely fierce and has been seen to capture prey as large as itself. Once their prey is captured, it is brought to a perch by its talons and torn up with upward pulls of the bill.
Although the collared owlet is at least concern on the IUCN Red list, its main threat is habitat loss. In a study examining the effects of fragmentation on nocturnal birds in Asia, collared owlets were never found in forest fragments smaller than 100 hectares. The authors concluded that anthropogenic pressures such as deforestation can affect even small species such as the collared owlet.
Glaucidium brodiei
Thai: นกเค้าแคระ, nok khao khrae
Glaucidium brodiei borneense , Richard Bowdler Sharpe, 1893
Glaucidium brodiei brodiei , E. Burton, 1836
Glaucidium brodiei pardalotum , Robert Swinhoe, 1863
Glaucidium brodiei sylvaticum , Charles Lucien Bonaparte, 1850
Glaucidium brodiei, Collared owlet
Glaucidium cuculoides, Asian barred owlet
Creative Commons Attribution-ShareAlike 4.0 International Prateik Kulkarni
Creative Commons Attribution-ShareAlike 2.0 Generic Soumyajit Nandy, Kolkata
Creative Commons Attribution 2.0 Generic http://www.flickr.com/photos/31003918@N05
Pathio District, Chumphon
Umphang Wildlife Sanctuary
Range map of Glaucidium brodiei in Thailand