The Print Shop Online

https://theawesomer.com/photos/2021/07/the_print_shop_online_t.jpg

The Print Shop Online

Link

’80s kids might remember a little computer program called The Print Shop. Broderbund’s whiz-bang piece of software let users print out greeting cards, banners, and signs on dot-matrix printers. Now you can relive this classic thanks to Melody and April Ayres-Griffiths online emulation, complete with the ability to print to PDFs.

The Awesomer

Comic for July 20, 2021

https://assets.amuniversal.com/66b1b810c0a20139694a005056a9545d

Thank you for voting.

Hmm. Something went wrong. We will take a look as soon as we can.

Dilbert Daily Strip

A Beginner’s Guide to Concrete

https://content.artofmanliness.com/uploads/2021/07/concrete-2.jpg

Concrete is the most widely used building material on earth. Humans have been using it for thousands of years and have built impressive structures with it that have stood the test of time. If you’re a homeowner, you’ll likely use concrete for some simple DIY jobs: setting a fence post or a basketball hoop, or laying a concrete slab for a patio. 

Despite the ubiquity of concrete, there’s a good chance you don’t know that much about it. Let’s remedy that today by going over a few basics about this building material.  

What Is Concrete Made Of?

Concrete is a composite material made of three main ingredients: cement, aggregate, and water. 

Cement. People often use the words “concrete” and “cement” interchangeably, but they’re not the same thing. Cement is a component of concrete. It binds together the aggregate (more on that in a bit) and, when combined with water, gives concrete its solid and durable properties. 

Most modern cement is Portland cement. To make Portland cement, cement manufacturers combine limestone with a silica source (like slag, fly ash, or clay) in a giant kiln. They then heat up the mixture to temperatures as high as 3,000 degrees Fahrenheit. This drives all the water out of the mix as well as the carbon dioxide from the limestone. The heat chemically mixes all the ingredients together to form a new compound called clinker. The clinker is then ground to a very fine powder and mixed with gypsum. 

Boom. Portland cement. 

Aggregate. Cement is rarely used on its own. You typically mix it with some sort of aggregate. Aggregate can be sand and small rocks. Cement mixed with sand gives you mortar to lay a brick wall. Cement mixed with sand and epoxies gives you grout to fill the gap between tiles. Cement mixed with sand and small ground-up stones (up to an inch in diameter) gives you concrete. 

The ready-mix bags of concrete that you buy at Home Depot already have cement and aggregate combined. You just need to add . . .

Water. Water is the third and final ingredient of concrete. When you add water to your cement and aggregate mix, a chemical reaction occurs between the components called “hydration” or “curing.” 

The hydration process results in calcium silica hydrate (CSH). CSH hardens and interlocks to give concrete its solid and durable nature. In short, water is what makes concrete hard. 

Understanding that water is what kickstarts a chemical reaction in cement to give concrete its hardness should clear up a popular (yet erroneous) belief that concrete hardens by drying out. In fact, if your newly laid concrete slab dries out too fast, you’ll end up with a weakened concrete slab. This is why, as we’ll see below, properly laying concrete requires that you keep it moist for the first few days, as this is when most of the curing takes place. 

Concrete Mixing Tips

Mixing concrete isn’t difficult. For most DIY projects around the home, you can simply use bags of the just-add-water concrete mix you can buy at Home Depot or Lowes.

It’s easiest to mix concrete in a wheelbarrow. The wheelbarrow’s ample tub makes mixing large amounts of concrete and moving your concrete mix to where you need it much easier. But you can also use a bucket or some other tub if that’s all you have. 

First dump the dry concrete mix into your wheelbarrow or tub and push it all the way to one side. 

Now comes the tricky part: Knowing how much water to put in: Too little and you won’t get the hydration process going; too much, and you’ll get a soupy mix that will result in weakened concrete. 

Your ready-mix bag should tell you how much water you need to add, but you also need to apply your own eyeballs and judgement to this general recommendation. Fill a bucket with the recommended amount of water and slowly pour some of it into your dry concrete mix in the wheelbarrow. Don’t add all of the water right away. After you’ve poured some water in, mix it with the concrete mix using a hoe. Pour some more water in. Mix with the hoe. Pour some more water. Mix. Repeat the process until you’ve got a mix that’s neither too dry nor too wet. 

Concrete that’s too dry will look like clumpy balls. Concrete that’s too wet will look really soupy. Just-right concrete is pliable but not runny. It looks like a thick porridge. 

Typically, concrete starts curing a few hours after mixing, so you should use your newly-created concrete within that time frame. For larger projects, you’ll want to look into renting a concrete mixer. This will not only make mixing large amounts of concrete easier, but the constant rotation of the mixer will keep the concrete in its liquid form and prevent curing from starting. 

Be sure to clean up your wheelbarrow and tools as soon as you’re done with your job. You don’t want the concrete to cure and stick to them. The easiest way to get the job done is to rinse the concrete off with water and scrub with a stiff brush. As long as you’ve diluted the remaining concrete residue with plenty of water, it’s okay to pour it out in an inconspicuous place in your yard. Some people also just dig a hole, pour the residue in there, and then cover with dirt. Concrete is mostly limestone, so you’re just adding limestone to the ground. Won’t hurt anything as long as it’s not large quantities and it’s thoroughly diluted. 

Keeping Your Newly-Poured Concrete Damp 

Concrete does most of its curing in the first few days. As mentioned above, water is a necessary component of that curing process. That’s why it’s a good idea to keep your newly-poured concrete damp for a few days after you’ve poured it. Simply mist it with a hose. That’s it. 

Weather and Concrete

Because concrete requires water to cure and harden, you’ll need to consider the weather when working with concrete. If it’s too hot outside, the water in the freshly-made concrete can evaporate too quickly for the hydration process to occur. If it’s too cold, the water can freeze, disrupting the curing process. 

Ideally, work with your concrete when the temperature is between 40 degrees and 90 degrees Fahrenheit. You’re less likely to have issues within that range. 

With that said, you can still work with concrete above and below that range; you’ll just need to take extra precautions. If it’s really hot outside, be especially vigilant about keeping your concrete damp. 

If it’s freezing outside, you can add a chemical accelerant to your concrete so that the curing process speeds up. You can also keep heaters near your concrete or put tarps over your newly poured concrete to keep it warm.

The above is a basic intro on how concrete works and how to mix it. You’ll be able to set a post or basketball hoop or even make some concrete weights with the above instructions. 

If you’re looking to pour a concrete slab or make concrete stairs, you’ll want to check out all the fantastic video tutorials that exist on YouTube. 

At the least, you now know not to call concrete cement. 

The post A Beginner’s Guide to Concrete appeared first on The Art of Manliness.

The Art of Manliness

ODNR Offers 7th Annual Ohio Women’s Outdoor Adventures Weekend

https://www.buckeyefirearms.org/sites/buckeyefirearms.org/files/styles/slideshow/public/field/image/ODNR_2.jpg?itok=ZBBMRG1j

Outdoor education and skill building courses for women returns

COLUMBUS, Ohio – The 7th Annual Ohio Women’s Outdoor Adventures weekend will kick off on Friday, September 17 and run through Sunday, September 19 at Salt Fork State Park. This annual event held by the Ohio Department of Natural Resources (ODNR) combines boating, fishing, and outdoor skills with other activities focused on nature and conservation activities.

“We’re excited to offer another weekend full of outdoor recreation skill building, networking, and fun at this year’s OWOA weekend,” said ODNR Director Mary Mertz. “As a past participant, I highly encourage women of all ages to join us for a weekend of discovering new outdoor pursuits and making new friends.”

Hosted by ODNR divisions of Parks and Watercraft and Wildlife, the weekend gives women a chance to try activities they may have never done before. This year’s program features stand up paddling, kayaking, power boating, fly fishing, shoreline fishing, gun safety and range shooting, archery, dutch oven cooking, hiking, blue birds, nature photography and more.

Participants will stay the weekend at the Salt Fork State Park Lodge and Conference Center, located outside of Cambridge in eastern Ohio. Salt Fork’s thousands of land and water acres provide plenty of areas for exploration. Guests will have access to the indoor and outdoor pools, exercise room, restaurant and lounge, and professional golf course.

The event is open to all women aged 16 and older (minors must be accompanied by a parent or guardian). The cost is $330 per person and includes lodging, five meals, t-shirt, transportation between venues, and evening activities. There are 95 spots open for this year’s event. Registration opens for first time participants on July 15 and registration for past participants begins on July 22. A complete listing of sessions and registration details may be viewed here.

ODNR Division of Parks and Watercraft is responsible for managing Ohio’s 75 state parks and providing the finest outdoor recreational opportunities including first-class boat services, facilities and law enforcement for users of Ohio’s waterways and public lands.

ODNR ensures a balance between wise use and protection of our natural resources for the benefit of all. Visit the ODNR website at www.ohiodnr.gov.

Buckeye Firearms Association

How to Create Your Own Helper Functions in Laravel

https://ashallendesign.ams3.digitaloceanspaces.com/public/blog/25/how-to-create-your-own-helper-functions-in-laravel.png

Introduction

Helper functions can be extremely useful in your Laravel projects. They can help to simplify your code in your projects in a clean and easy way. Laravel comes with many helper functions out-the-box such as dd(), abort() and session(). But as your projects start to grow, you’ll likely find that you’ll want to add your own.

In this article, we’re going to look at how we can create and use our own custom PHP helper functions in our Laravel projects.

Creating the Helper Function

To add our own helper functions, we need to start by creating a new PHP file to place them in. So, let’s create a helpers.php file inside our app folder. As a side note, this location is down to personal preference really. Another common place I’ve seen the file placed is inside an app/Helpers/helpers.php file. So, it’s down to you to choose a directory that you feel works best for you.

Now, that we’ve got our file, we can add our helper function to it. As a basic example for this article, we’re going to be creating a super-simple function that converts minutes to hours.

Let’s add the function to our helpers.php file like so:

<?php
  
if (! function_exists('seconds_to_hours')) {
    function seconds_to_hours(int $seconds): float
    {
        return $seconds / 3600;
    }
}

As you can see in the example above, the function itself is really simple. However, one thing that you might notice is that the function name is written in snake case (e.g. seconds_to_hours) rather than camel case (e.g. secondsToHours) like you’d usually see with method names on a class. You aren’t necessarily fixed to using snake case for defining the function name, but you’ll find that all of the Laravel helper functions are written this way. So, I’d probably advise to use the format just so that you can follow the typical standard and format that’s expected. This is totally up to you though.

Another thing that you might have noticed is that we have wrapped the function name inside an ‘if’ statement. This is to stop us from accidentally redeclaring any helpers with the same name that have already been registered. For example, let’s say that we were using a package that already had a seconds_to_hours() function registered, this would prevent us from registering our own function with the same name. To get around this, we could just simply change the name of our own function to avoid any clashes.

It’s also really important to remember when creating helper functions that they are only supposed to be used as helpers. They aren’t really meant to be used to perform any business logic, but rather to help you tidy up your code. Of course, you can add complex logic to them, but if this is something you’re looking to do, I’d probably advise thinking about if the code would be a better fit in another place such as a service class, action class or trait.

Registering the Helper Function

Now that we’ve created our helper file, we need to register it so that we can use our new function. To do this, we can update our composer.json file so that our file is loaded at runtime on each request and is available for using. This is possible because Laravel includes the Composer class loader in the public/index.php file.

In your composer.json file, you should have a section that looks like this:

"autoload": {
    "psr-4": {
        "App\\": "app/",
        "Database\\Factories\\": "database/factories/",
        "Database\\Seeders\\": "database/seeders/"
    }
},

In this section, we just need to add the following lines to let Composer know that you want to load your file:

"files": [
    "app/helpers.php"
],

The autoload section of your composer.json file should now look like this:

"autoload": {
    "files": [
        "app/helpers.php"
    ],
    "psr-4": {
        "App\\": "app/",
        "Database\\Factories\\": "database/factories/",
        "Database\\Seeders\\": "database/seeders/"
    }
},

Now that we’ve manually updated the composer.json file, we’ll need to run the following command to dump our autload file and create a new one:

composer dump-autoload

Using the Helper Function

Congratulations! Your helper function should now be all set up and ready to use. To use it, you can simply use:

seconds_to_hours(331);

Because it’s been registered as a global function, this means you can use it in a variety of places such as your controllers, service classes and even other helper functions. The part that I love about helper functions most though is being able to use them in your Blade views. For example, let’s imagine that we had a TimeServiceClass that contained a secondsToHours() method that did the same as our new function. If we were to use the service class in our Blade view, we might have to do something like this:


As you can imagine, if this was used in multiple places across a page, it could probably start to make your view a bit messy.

Taking It Further

Now that we’ve seen how we can register and use the helpers, we will look at how we can take it one step further. Over time, as your Laravel projects grow, you might find that you have a large amount of helpers that are all in one file. As you can imagine, the file might start to look a bit unorganised. So, we might want to think about splitting our functions out into separate files.

For the sake of the article, let’s imagine that we have many helpers in our app/helpers.php file; some related to money, some related to time and some related to user settings. We could start by splitting those functions out into separate files such as: app/Helpers/money.php, app/Helpers/time.php and app/Helpers/settings.php. This means that we can now delete our app/helpers.php file because we don’t need it anymore.

After that, we can update our composer.json file in a similar way to before so that it nows loads our 3 new files:

"autoload": {
    "files": [
        "app/Helpers/money.php",
        "app/Helpers/settings.php",
        "app/Helpers/time.php",
    ],
    "psr-4": {
        "App\\": "app/",
        "Database\\Factories\\": "database/factories/",
        "Database\\Seeders\\": "database/seeders/"
    }
},

We’ll need to remember to dump the Composer autoload file again by running the following command:

composer dump-autoload

You should now be able to continue using your functions and have the benefit of them being split into logically-separated files.

Conclusion

Hopefully this article has shown you how to create and register your own PHP helper functions for your Laravel projects. Remember not to use them to perform complex business logic and to see them more as a way of tidying up little bits of code.

If you’ve enjoyed reading this post and found it useful, feel free to sign up for my newsletter below so that you can get notified each time I publish a new article.

Keep on building awesome stuff! 🚀

Laravel News Links

Memes that made me laugh 67

https://1.bp.blogspot.com/-mJ2fzWrlOig/YPTfrYaEHMI/AAAAAAAAtJA/egR3PlT-tWkaZWvvbpl0MsmB9Q8mLU8lACPcBGAsYHg/w349-h400/Meme%2B-%2Bghosts%2Band%2Bsheets.png

 

Gathered around the Intertubes over the past seven days.  Click any image for a larger view.

(Learn more about the seax)

More next week.

Peter

Bayou Renaissance Man

When Did Moderna Know About COVID-19?

https://img.patriotpost.us/01FAMYTW6MAXVH23RGK7XV57WH.jpeg?w=1200&h=600

If a report disseminated by a UK website called The Daily Expose is accurate, the world may have a major scandal on its hands.

“A confidentiality agreement shows potential coronavirus vaccine candidates were transferred from Moderna to the University of North Carolina in 2019, nineteen days prior to the emergence of the alleged Covid-19 causing virus in Wuhan, China,” the website reports.

The Expose produced the agreement itself, which can be viewed here. Page 105 is titled “Material Transfer Agreement” between the providers, named as the National Institute of Allergy and Infectious Diseases, National Institutes of Health (“NIAID”) and Moderna TX Inc. (“Moderna”), and the recipient is named as the University of North Carolina at Chapel Hill. The agreement states the providers will give the university “mRNA coronavirus vaccine candidates developed and jointly owned by the NIAID and Moderna.”

The agreement further states the research material may not be used on human subjects or used for “commercial purposes such as screening, production or sale, for which a commercialization license may be required.” The recipients who signed the agreement are Professor Ralph Baric, PhD, and Jaqueline Quay, Director of Licensing & Innovation Support, OTC. The providers are NIAID investigator Barney Graham, MD, PhD; technology transfer specialist Amy Petrik, PhD; Moderna investigator Sunny Himansu, PhD; and Moderna Deputy General Counsel Shaun Ryan. The dates accompanying the recipients’ signatures are December 12, 2019, and December 16, 2019, respectively. The dates under the providers’ first two signatures remain blank, while the second two are both dated December 17, 2019.

“All of these signatures were made prior to any knowledge of the alleged emergence of the novel coronavirus,” The Daily Expose reminds us. “It wasn’t until December 31st 2019 that the World Health Organisation (WHO) became aware of an alleged cluster of viral pneumonia cases in Wuhan, China. But even at this point they had not determined that an alleged new coronavirus was to blame, instead stating the pneumonia was of ‘unknown cause.’”

Its gets even more “curious” than that. Science News published an article titled, “New SARS-like virus can jump directly from bats to humans, no treatment available,” noting that researchers from Chapel Hill discovered “a new bat SARS-like virus that can jump directly from its bat hosts to humans without mutation.”

The senior author of that paper? The same Dr. Ralph Baric who signed the transfer agreement — and the same Dr. Baric who worked with Dr. Shi Zhengli, a.k.a. “bat lady,” at the Wuhan Institute of Virology (WIV) on coronavirus gain-of-function research.

The year Science News published that article? 2015.

A timeline of the pandemic provided by the World Health Organization (WHO) reveals that it requested information “on the reported cluster of atypical pneumonia cases in Wuhan from the Chinese authorities” on January 1. However, it took until January 9 before WHO revealed that “Chinese authorities have determined that the outbreak is caused by a novel coronavirus.”

Thus, the question becomes obvious: Why was an mRNA vaccine developed by Moderna transferred to the University of North Carolina at Chapel Hill nearly a month earlier?

A 2018 article published by CNBC might provide a clue. It reveals that “Wall Street newcomer” Moderna took a beating on its initial public offering, falling nearly 20%. Nonetheless, self-anointed stock guru Jim Cramer remained optimistic. “It’s got an exciting concept; you can argue that messenger-RNA-based medicine could revolutionize health care,” he asserted.

Three years later, the company has generated $1.94 billion in revenue during the first quarter. Its COVID-19 vaccine generated $1.73 billion of that revenue, and the company predicts the vaccine will generate $19.2 billion in revenue by year’s end. “Twelve months ago in Q1 2020, Moderna had never run a phase 3 clinical study, never got a product authorized by a regulator, and never made 100 million doses in a single quarter,” boasted company CEO Stéphane Bancel. “I am very proud of what the Moderna team has achieved.”

Americans might less enthused. For more than a year, anyone who even suggested COVID-19 originated anywhere other than nature was dismissed as a conspiracy theorist. Will those same howls of derision be aimed at anyone who dares to wonder why the development of a vaccine for a virus preceded public knowledge of that virus?

Still more “curious”? A cancer study published in November 2019 revealed the presence of SARS-CoV-2 RBD-specific antibodies in 11.6% of its patients. Since antibodies take time to develop, it’s possible some patients had active infections as early as August 2019. “This study shows an unexpected very early circulation of SARS-CoV-2 among asymptomatic individuals in Italy several months before the first patient was identified, and clarifies the onset and spread of the coronavirus disease 2019 (COVID-19) pandemic,” it stated. “Finding SARS-CoV-2 antibodies in asymptomatic people before the COVID-19 outbreak in Italy may reshape the history of pandemic.”

Unless history is obliterated by propaganda. It is no secret that an increasingly authoritarian Biden administration and its media echo chamber are all in on getting every American vaccinated, whether they want it or not. It is also no secret that those who even dare to suggest there are viable alternatives to the vaccines — alternatives that would abrogate the “emergency use authorization” under which all vaccines are being administered — are being dismissed as quacks and/or demonetized.

Yet reality continues to intrude. According to the Vaccine Adverse Events Reporting System (VAERS), as of July 7, 2021, there have been a reported 438,440 adverse reactions to vaccines, including 9,048 deaths. And while the media remain determined to frame vaccine resistance in terms of “enlightened” blue states vs. “backward” red states, the Kaiser Family Foundation reveals that as of July 8, the two cohorts with the lowest vaccination rates nationwide are blacks (34%) and Hispanics (39%). By contrast, 47% of whites and 62% of Asians have been vaccinated.

At the very least, the above data elicit concern, and also reveal that millions of Americans remain highly skeptical of what they are being told. That skepticism will undoubtedly be amplified by the latest revelation that the Johnson & Johnson vaccine will have a new warning added to its label noting that the shot is linked to a “rare side effect” known as Guillain-Barré syndrome, a malady that occurs when the immune system attacks the body’s nerves.

Yet that skepticism will pale by comparison to the disgust and anger Americans will feel if it turns out the public was kept in the dark about a deadly virus until a large drug company could set itself up to make maximum profits.

The Daily Expose wonders if the National Institute of Allergy and Infectious Diseases would like to explain itself in a court of law. As for an American public subjected to more than a year of often dubious admonitions to “follow the science” — even when that science and the censorship it engendered “evolved” 180 degrees away from its original proclamations — perhaps one of the oldest and most cynical explanations of all is far more apropos:

Follow the money.

The Patriot Post — Current Articles