text:
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.Linq;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using AForge.Imaging;
using AForge.Imaging.Filters;
using Tellurium.MvcPages.Utils;
using Tellurium.VisualAssertions.Screenshots.Domain;
using Image = System.Drawing.Image;

namespace Tellurium.VisualAssertions.Screenshots
{
    public static class ImageHelpers
    {
        private static readonly BinaryDilatation3x3 DilatationFilter = new BinaryDilatation3x3();
        private static readonly Pen DiffPen = new Pen(Color.FromArgb(128, Color.Red));

        public static Bitmap CreateImageDiff(Bitmap a, Bitmap b, IReadOnlyList<BlindRegion> globalBlindRegions)
        {
            var unified = UnifyImagesDimensions(a, b);
            var filter = new ThresholdedDifference(0) {OverlayImage = unified.Item1};
            var imageDiff = filter.Apply(unified.Item2);
            DilatationFilter.ApplyInPlace(imageDiff);
            var fixedBitmap = CloneBitmapFormat(imageDiff);
            MarkBlindRegions(fixedBitmap, globalBlindRegions);
            var result = CloneBitmapFormat(unified.Item2);
            DrawBounds(fixedBitmap, result);
            return result;
        }

        private static Tuple<Bitmap, Bitmap> UnifyImagesDimensions(Bitmap a, Bitmap b)
        {
            if (a.Width == b.Width && a.Height == b.Height)
            {
                return new Tuple<Bitmap, Bitmap>(a,b);
            }

            if (a.Height >= b.Height && a.Width >= b.Width)
            {
                return new Tuple<Bitmap, Bitmap>(a, RedrawOnCanvas(b, a.Width, a.Height));
            }

            if (b.Height >= a.Height && b.Width >= a.Width)
            {
                return new Tuple<Bitmap, Bitmap>(RedrawOnCanvas(a, b.Width, b.Height), b);
            }

            var maxWidth = Math.Max(a.Width, b.Width);
            var maxHeight = Math.Max(a.Height, b.Height);
            return new Tuple<Bitmap, Bitmap>(RedrawOnCanvas(a, maxWidth, maxHeight), RedrawOnCanvas(b, maxWidth, maxHeight));
        }

        /// <summary>
        /// Create copy of bitmap and prevent 'A Graphics object cannot be created from an image that has an indexed pixel format.' issue
        /// </summary>
        private static Bitmap CloneBitmapFormat(Bitmap originalBmp)
        {
            return RedrawOnCanvas(originalBmp, originalBmp.Width, originalBmp.Height);
        }

        /// <summary>
        /// Create copy of bitmap with given dimensions
        /// </summary>
        /// <param name="bitmapToRedraw">Bitmap to copt</param>
        /// <param name="canvasWidth">Max width</param>
        /// <param name="canvasHeight">Max Height</param>
        private static Bitmap RedrawOnCanvas(Bitmap bitmapToRedraw, int canvasWidth, int canvasHeight)
        {
            var resultBitmap = new Bitmap(canvasWidth, canvasHeight);
            using (var g = Graphics.FromImage(resultBitmap))
            {
                g.DrawImage(bitmapToRedraw, 0, 0);
            }
            return resultBitmap;
        }

        /// <summary>
        /// Draw rectangles surrounding point clumps
        /// </summary>
        private static void DrawBounds(Bitmap bitmapWithPoints, Bitmap bitmapToDrawOverlay)
        {
            using (var resultGraphics = Graphics.FromImage(bitmapToDrawOverlay))
            {
                foreach (var boundingRectangle in GetBoundingRectangles(bitmapWithPoints))
                {
                    resultGraphics.DrawRectangle(DiffPen, boundingRectangle);
                }
            }
        }

        /// <summary>
        /// Create a bitmap which represents XOR of two other bitmaps
        /// </summary>
        /// <param name="a">Bitmap a</param>
        /// <param name="b">Bitmap b</param>
        /// <param name="blindRegions">List of squares to ignore</param>
        public static Bitmap CreateImagesXor(Bitmap a, Bitmap b, IReadOnlyList<BlindRegion> blindRegions)
        {
            var unified = UnifyImagesDimensions(a, b);
            var pixelBufferA = GetPixelBuffer(unified.Item1);
            var pixelBufferB = GetPixelBuffer(unified.Item2);
            var resultBuffer = new byte[pixelBufferB.Length];
            Array.Copy(pixelBufferB, resultBuffer, pixelBufferA.Length);

            for (int k = 0; k + 4 < pixelBufferA.Length; k += 4)
            {
                var blue = pixelBufferA[k] ^ pixelBufferB[k];
                var green = pixelBufferA[k + 1] ^ pixelBufferB[k + 1];
                var red = pixelBufferA[k + 2] ^ pixelBufferB[k + 2];

                if (blue < 0)
                { blue = 0; }
                else if (blue > 255)
                { blue = 255; }

                if (green < 0)
                { green = 0; }
                else if (green > 255)
                { green = 255; }

                if (red < 0)
                { red = 0; }
                else if (red > 255)
                { red = 255; }

                resultBuffer[k] = (byte)blue;
                resultBuffer[k + 1] = (byte)green;
                resultBuffer[k + 2] = (byte)red;
            }

            var resultBitmap = new Bitmap(unified.Item1.Width, unified.Item1.Height);
            var lockBoundRectangle = new Rectangle(0, 0,resultBitmap.Width, resultBitmap.Height);
            var resultData = resultBitmap.LockBits(lockBoundRectangle, ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb);
            Marshal.Copy(resultBuffer, 0, resultData.Scan0, resultBuffer.Length);
            resultBitmap.UnlockBits(resultData);
            MarkBlindRegions(resultBitmap, blindRegions);
            return resultBitmap;
        }

        private static byte[] GetPixelBuffer(Bitmap sourceBitmap)
        {
            var lockBoundRectangle = new Rectangle(0, 0, sourceBitmap.Width, sourceBitmap.Height);
            var sourceData = sourceBitmap.LockBits(lockBoundRectangle, ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);
            var pixelBuffer = new byte[sourceData.Stride*sourceData.Height];
            Marshal.Copy(sourceData.Scan0, pixelBuffer, 0, pixelBuffer.Length);
            sourceBitmap.UnlockBits(sourceData);
            return pixelBuffer;
        }

        /// <summary>
        /// Get rectangles surrounding point clumps
        /// </summary>
        private static List<Rectangle> GetBoundingRectangles(Bitmap bitmapWithPoints)
        {
            var bitmapData = bitmapWithPoints.LockBits(
                new Rectangle(0, 0, bitmapWithPoints.Width, bitmapWithPoints.Height),
                ImageLockMode.ReadWrite, bitmapWithPoints.PixelFormat);

            var blobCounter = new BlobCounter
            {
                FilterBlobs = true,
                MinHeight = 5,
                MinWidth = 5
            };

            blobCounter.ProcessImage(bitmapData);
            var result = blobCounter.GetObjectsRectangles();
            if (result.Length == 0)
            {
                blobCounter = new BlobCounter
                {
                    FilterBlobs = true,
                    MinHeight = 1,
                    MinWidth = 1
                };
                blobCounter.ProcessImage(bitmapData);
                result = blobCounter.GetObjectsRectangles();
            }
            bitmapWithPoints.UnlockBits(bitmapData);
            return RemoveNestedRectangles(new List<Rectangle>(result));
        }

        private static List<Rectangle> RemoveNestedRectangles(List<Rectangle> result)
        {
            var toRemove = result.Where(rectangle => result.Any(r => r != rectangle && IsRectangleInside(rectangle, r))).ToList();

            foreach (var rectangle in toRemove)
            {
                result.Remove(rectangle);
            }

            return result;
        }

        private static bool IsRectangleInside(Rectangle rectangle, Rectangle container)
        {
            return rectangle.Left >= container.Left
                &&  rectangle.Right <= container.Right
                && rectangle.Top >= container.Top
                && rectangle.Bottom <= container.Bottom;
        }

        private static void MarkBlindRegions(Image image, IReadOnlyList<BlindRegion> blindRegions)
        {
            if (blindRegions == null || blindRegions.Count == 0)
                return;

            var graphic = Graphics.FromImage(image);
            foreach (var blindRegion in blindRegions)
            {
                graphic.FillRectangle(Brushes.Black, blindRegion.Left, blindRegion.Top, blindRegion.Width, blindRegion.Height);
            }

            graphic.Save();
        }

        /// <summary>
        /// Calculate image hash ignoring given regions
        /// </summary>
        /// <param name="screenshot">Source image for hash</param>
        /// <param name="blindRegions">Global Regions to ignore</param>
        public static string ComputeHash(byte[] screenshot, IReadOnlyList<BlindRegion> blindRegions)
        {
            if (screenshot == null)
                throw new ArgumentNullException(nameof(screenshot));

            var bitmap = ApplyBlindRegions(screenshot, blindRegions);
            var imageBytes = bitmap.ToBytes();
            using (var md5 = MD5.Create())
            {
                return BitConverter.ToString(md5.ComputeHash(imageBytes)).Replace("-", "");
            }
        }

        public static Bitmap ApplyBlindRegions(byte[] img, IReadOnlyList<BlindRegion> blindRegions)
        {
            if (img == null)
                throw new ArgumentNullException(nameof(img));

            var image = img.ToBitmap();
            MarkBlindRegions(image, blindRegions);
            return image;
        }
    }
}


Wrangler Q-Baby Ultimate Riding Booty Up Jean – West 20 Saddle Co.
The Ultimate Riding Jean just got even better. The newest Q-Baby styles from our Ultimate Riding Jean collection feature Booty Up Technology, specially placed darts that lift and define your rear view. The flat comfort seams and no gap waistband make riding comfortable.


The U.S. territory of Puerto Rico has faced widespread devastation since Hurricane Maria made landfall Sept. 20 — and it won't be letting up anytime soon.
Despite an influx of federal and private aid, the situation in Puerto Rico still remains dire, with residents facing a shortage of medical resources, clean water and electricity, which is expected to take months to fully restore.
Here's how the situation in Puerto Rico stands nearly three weeks out from Hurricane Maria's initial impact.
While local and federal governments are making progress restoring services in Puerto Rico, there's still a long way to go.
According to the Federal Emergency Management Agency, just 11.7% of Puerto Rico had power as of Sunday, while only 56.8% of Puerto Rico Aqueduct and Sewer Authority customers had drinkable water.
Roads throughout Puerto Rico still remain impassible in the wake of the hurricane; only 392 of Puerto Rico's 5,073 miles of roads are currently open, according to FEMA. Meanwhile, transport coming in and out of the island is more functional, with 100% of airports and federally maintained ports open or open with restrictions.
The Puerto Rican government is reporting that many local services are also continuing to be restored. Ninety-two percent of post offices are currently open, along with 78% of gas stations, 57% of banks and 77% of grocery stores.
Telecommunications services are currently 51% operational, though cell phone service remains limited. The government reports that roughly 19% of cell phone antennas are currently operational, while 28% of cell towers are in working order.
Resources remain particularly limited in the island's more remote areas; the Los Angeles Times reported Friday that according to a local doctor, many towns are currently only accessible by helicopter — resulting in a shortage of supplies and services that's beginning to result in a major public health crisis.
President Donald Trump has been quick to praise the federal government's response to Hurricane Maria — and while FEMA and other government agencies have been devoting significant resources to Puerto Rico, it's clear their efforts haven't been able to match the widespread scale of the devastation.
FEMA reported that more than 19,000 federal staff and military personnel — including more than 1,400 FEMA workers — are currently on the ground in Puerto Rico and the U.S. Virgin Islands. FEMA and other federal partners have distributed resources to the Puerto Rican people, including millions of meals and liters of water; the USNS Comfort, a Department of Defense hospital ship that can treat up to 1,000 patients, arrived in Puerto Rico on Tuesday.
CNN reported Sunday that the Trump administration submitted a request for $29 billion in disaster relief for hurricanes Harvey, Irma and Maria, which the House is expected to vote on by the end of the week — though CNN also cited sources who said they expected additional aid will be needed for Puerto Rico in the near future.
After previously being coordinated by town mayors, relief efforts in the island's smaller towns are also becoming militarized, the Miami Herald reported Sunday. Under the new strategy, 10 to 20 military officials will be stationed in each municipality and tasked with delivering relief supplies.
Though the federal government initially waived the Jones Act a week after the hurricane hit, lifting restrictions on foreign shipping between U.S. ports, the waiver expired Sunday night and will not be renewed, the Department of Homeland Security announced.
The Trump administration was chastised for not doing more in the immediate aftermath of the tragedy, and the president's Tuesday visit to the island — during which he threw paper towels at a crowd of Puerto Ricans — was widely criticized.
The Miami Herald reported that Puerto Rican residents and city officials often have wildly different opinions on how the relief effort going, with officials on the ground in Puerto Rico still saying the federal government's response has not been enough.
San Juan Mayor Carmen Yulín Cruz, whose outspoken criticism of Trump has repeatedly drawn the president's ire, had even harsher words about the lack of federal assistance. On Sunday, Cruz tweeted that it was becoming "increasingly painful to understand the American people want to help and the U.S. [government] does not want to help. She also criticized FEMA for not responding to a request for support for a San Juan hospital that lost power.
With the federal government's assistance often falling short, the island has also relied on the generosity of private donations. Private companies and individuals have flown and shipped supplies to Puerto Rico; one survivalist in New Jersey donated 80 barrels of food he spent decades collecting to two Puerto Rican towns. Google has also joined the relief efforts, providing balloons that will deliver cell phone service to the island until existing cell towers are restored.
Though distributing this influx of supplies remains a challenge, given the numerous impassible roads and poor communication services, Puerto Ricans have remained grateful for the outpouring of support.
"How do I feel? The world has heard our cry for help and has responded with one voice. We are not being forgotten," Puerto Rico resident Benjamin Puente Nelida Trujillo told USA Today upon seeing a private delivery of supplies.
The lengthy recovery efforts in Puerto Rico mean the ongoing devastation from Hurricane Maria is beginning to have widespread and tragic effects.
With an economy that was already in crisis — in May, the government became the first U.S. territory or state to declare bankruptcy — Puerto Rico's increasing debts mean a potential economic disaster is imminent.
"Financial damages of this magnitude will subject Puerto Rico's central government, its instrumentalities and municipal governments to unsustainable cash shortfalls," he said.
The territory's treasury secretary, Raul Maldonado, warned that if the U.S. government does not provide the island with emergency aid, Puerto Rico will run out of money by the end of October, causing a government shutdown that would halt many ongoing relief efforts.
The country's economic output will become even worse by the mass exodus of Puerto Ricans to the U.S. mainland. Thousands of residents have already fled the island, the LA Times reported, while others plan to depart in the near future.
The mass arrival of former Puerto Rican residents is expected to impact "a large number of states as diverse as Florida, Pennsylvania, New Hampshire, Indiana, Wisconsin, Ohio, Texas and beyond," Rosselló predicted in his letter to Capitol Hill. But those on the U.S. mainland may also feel the effect of Puerto Rico's devastation through their much-needed medications, many of which are manufactured on the island.
U.S. hospitals are already facing a shortage of intravenous saline solutions, the Washington Post reported. A wide variety of drugs are manufactured in Puerto Rico, including the cholesterol drug Lipitor and treatments for cancer and HIV. The New York Times noted, however, that many companies consider their manufacturing locations to be a "trade secret," leading to a lack of transparency that makes it hard to know the full extent of the problem.
In a press statement, Food and Drug Administration commissioner Scott Gottlieb said even manufacturing facilities that sustained minor damages had their operations impacted. "New shortages could result from these disruptions, and shortages that existed before the storms could potentially be extended," Gottlieb warned.
The most pressing disaster, however, is the immediate effect of the storm on the health of Puerto Rico's residents, many of whom are suffering — and dying — from depleted medical care and basic resources.
According to BuzzFeed News, funeral directors throughout Puerto Rico are reporting far higher death counts from hurricane-related causes than the government is officially counting. The official death toll stood at 39 people as of Sunday, according to CBS News correspondent David Begnaud.
Many Puerto Ricans are hurting indirectly from the hurricane, whether from a lack of medical care or stress-related diseases such as heart attacks, Buzzfeed noted. The LA Times also warned that outbreaks of mosquito-borne illnesses, such as Zika and dengue fever, are expected in the near future.


text:
Residents say oil still on beaches as cleanup winds down (VIDEO)
In Featured News, Important Articles, Oil Spill Facts, Politics, Recovery, Research, Response, Restoration, Spill Damages
FORT MORGAN, Alabama – While cleaning crews moved along the water line, tarballs that a property owner said have been on the beach for months lay untouched a few feet away.
Greg Miller of Fort Morgan Realty said recent reports by BP PLC that the beach cleanup is winding down have him concerned that sites such as the Gulf-front house he owns five miles from the fort will be left uncleaned when the process is done.
"It's been that way all summer," Miller said. "We've asked them numerous times to clean it up and then this past Sunday, it came out in the paper that it was all clean, so I thought I'd go down and see. They tell us they're cleaning it and you can see where they've been out there working, but when you look close, it's all still there."
Miller said that when potential renters call asking if oil is still on the beach, he has to say that tarballs caused by the April 20 BP PLC oil spill are in the sand. The material has caused some renters to cancel or change plans, he said.
"We filed claims with BP," Miller said. "The claims on that particular house have been denied."
The tarballs ranged in size up to about four inches in diameter. Patches of the material lay along an area about 40 feet from the water
Tire prints and the tread marks of heavy machinery mark the sand, some of the tracks running over the tarballs. Miller said the tracks are from the cleaning crews, some of which are in place about 100 yards from the house.
"They run all over it every day. How can they just drive over it? I know they don't have to do a deep clean, but for God's sake … at least pick it up," Miller said. "We're 10 months into this deal and that's the condition of the beach now."
Orange Beach Mayor Tony Kennon said officials from Gulf Shores, Dauphin Island and Orange Beach will meet Monday with representatives from the Alabama Department of Environmental Management, U.S. Coast Guard, congressional delegation and other agencies to discuss cleanup efforts. Kennon said the meeting would not be open to the public.
Kennon said oil is still washing on shore and that tarballs left in one area can affect the entire beach.
"It doesn't just stay there," Kennon said. "It washes back in the water and moves east and west."
Justin Saia, BP spokesman, said the material will be cleaned up even though some of the biggest cleaning efforts are winding down.
"We've got crews out there and plans are in place beyond Operation Deep Clean," Saia said.
Grant Brown, Gulf Shores spokesman, said city officials also do not want cleaning efforts halted before all the oil is removed from local beaches.
"We're very concerned," he said. "We're aware of the situation in that location and we want those situations resolved."
Brown said officials with ADEM have been contacted about the site near Miller's rental house, which is also next to property owned by the U.S. Bureau of Land Management.
Beaches were cleaner farther to the east with no tarballs or other material visible at the Bon Secour National Wildlife Refuge or other locations. On the refuge beach, Paula Hamman of Medford, Wis., said she had seen a few scattered tarballs while collecting shells, but few other signs of oil. "I saw some shells that had some oil on them, but that's about it," she said.
Her mother, Lilah Hammond, said she had seen few tarballs in the month she had been visiting from Adams, Wis. "A little bit, but nothing like I expected after everything I'd heard," she said. "I was so glad of that. We come down every year, although we missed last year, and I was so worried."
See video here: http://blog.al.com/live/2011/02/residents_say_oil_still_on_bea.html
Hackers, 'virtual assault rifles,' and how Jeff Bezos has lost control of Amazon

redpajama_set_name: RedPajamaCommonCrawl


text:
Getty claims man stole as many as 3,400 of its images, resold them on Facebook
By Hillary K. Grigonis	 June 15, 2016
Code words and a private Facebook group weren't enough to keep Getty Images from uncovering the illegal resale of as many as 3,400 of its photos. The stock image company filed a lawsuit on June 8 against an Ohio man, Walter A. Kowalczuk, who allegedly downloaded and then resold images through a private Facebook group.
Kowalczuk appears to have gained access to those images through the unauthorized use of a paid account, though how he obtained the login information is unclear, according to Photo District News.
According to the court documents, he allegedly used code words within the Facebook group, like "spaghetti" for Getty and "apples" for Associated Press. A screenshot included in the court paperwork indicates the images were resold for about 75 cents a piece in bulk quantities.
Getty discovered the resales when Photo File, a distribution partner of Getty's, contacted Kowalczuk last year about purchasing some Chicago Blackhawks images offered for sale through the Facebook group. According to the lawsuit, Kowalczuk then "gave specific instructions for ordering the images, directing that each image be identified by the catalog number assigned by Getty Images."
Getty then conducted its own investigation into the matter, purchasing 29 images from Kowalczuk's Facebook group on March 29, April 1, and April 29, 2015. Most of the images that were allegedly resold were related to sports — including NHL, MLB, and NFL games. According to Photo District News, Getty is still working to identify some of the buyers. Getty is known for pursuing even the smaller offenders when it comes to unauthorized image use.
Kowalczuk is facing charges for willful copyright infringement, contributory infringement, computer fraud, and Digital Millennium Copyright Act violations. The case is being reviewed in U.S. District Court in Cleveland.
How to run a free background check
The best Android apps (January 2021)
What is WhatsApp?


A series of portraits to celebrate neurodiversity.
The Neurodiversity Project has been on going since 2016 and is in development once more. We want to fill rooms, big or small, with incredible, neurodiverse faces and stories. We want their stories and abilities to inspire others and change opinions. We need your help. If you would like to be involved or recommend someone for the project, then please get in touch, or if you'd like to find out more please read below!
Every person featured is highly regarded in their field. We should want to be like them, befriend or employ them. They are fantastically able in so many ways.
This is a subject close to my own heart as someone with severe dyslexia. The project is an informative celebration of the abilities and attributes of people who are Neurodiverse, raising awareness and informing of the unique skills on offer to the world across multiple areas and disciplines.
The world is starting to pay attention to that fact that many people have different brains and shouldn't have to pretend they are like everyone else. This is my chance to learn about many areas I haven't come across before, whilst taking portraits of fantastic people. In my one tiny way, helping to change opinion, inspire and encourage. This is the next frontier of inclusivity.
The world is made up of so much diversity, not all of it visible. This will be a series of portraits of individuals with neuro-differences that you cannot see, I may encounter them when working with each sitter but will not try to represent them in any way, nor will I try to hide them. I will see what the world does. Or how the person projects themselves to the world.
I want to fill a room with aspirational neurodiverse people for both neurodiverse and neurotypicle adults and children alike - accompanied by their stories. To see, to think about, to inspire.
I am currently taking one portrait every week or two. If you would like to be involved or recommend someone, then please get in touch.
We are just about to put a funding button and new email address here.
Sign up with your email address to receive new posts and updates from me.


This warranty only applies to AMSOIL lubricants for which a separate, specific warranty is not written.
The warranty herein applies only to AMSOIL lubricants, which are packaged by AMSOIL INC. and sold by AMSOIL INC. or an authorized distributor.
Replacement of the defective lubricant.
The cost, including labor and materials, to repair damaged equipment, or at the option of AMSOIL INC., the cost to replace damaged equipment, resulting directly from the use of AMSOIL INC. lubricants when used in the proper applications.
AMSOIL INC. shall not be liable for special, incidental, or consequential damages including, but not limited to, damage or loss of other property or equipment, loss of profits or revenue, cost of capital, business interruption, lodging, towing, or cost of replacement equipment. The liability of AMSOIL INC. arising out of the manufacture, sale, delivery, installation, technical directions or recommendation of any lubricant- whether in contract, tort, warranty or otherwise - shall not exceed the value of the equipment in which the product(s) were used. The remedies to the purchaser herein are exclusive.
In the event of a claim against AMSOIL INC., the procedure below must be completely followed.
Where the original warranty from the equipment manufacturer is still in effect, the customer shall file a warranty claim with the Original Equipment Manufacturer (OEM) in accordance with the OEM warranty procedure.
Customer shall retain failed parts for inspection by AMSOIL INC. unless given to the OEM.
An eight (8) ounce representative oil sample taken from the failed equipment and put into a clean container.
Documentation including make, model, and year of equipment, total accumulated miles and/or hours, and duty cycle or service environment.
Equipment or vehicle maintenance history documentation including miles or hours at the time of AMSOIL lubricant installation, general equipment repairs, and oil analysis results if available.
Proof of purchase for AMSOIL lubricant.
Batch number from oil container or Certificate of Analysis.
In cases where the OEM warranty is still in effect and that warranty coverage is denied based on the use of an AMSOIL lubricant, the customer shall immediately notify AMSOIL INC. and provide a written copy of the OEM warranty denial.
AMSOIL INC. may, at its option, notify its insurance carrier of the claim.
AMSOIL INC. or its insurance carrier may conduct an investigation that includes, but is not limited to, an inspection of the failed parts, a review of the operating conditions, and a thorough review of the information requested above. The customer agrees to cooperate with such investigation.
If AMSOIL INC. or its insurance carrier pays a claim, an attempt may be made to recover amounts paid from the OEM. If this occurs, the customer may be asked to provide further information pertaining to the failure and to cooperate with AMSOIL INC. or its insurer in the recovery process.
AMSOIL lubricants used in mechanically deficient equipment as a result of abnormal operation; negligence; abuse; damage from casualty, shipment or accident; or equipment modification done without written authorization from the OEM.
AMSOIL lubricants that have been used for the purposes of racing or in applications where the OEM required lubricant standards do not match those stated by AMSOIL INC. without the written approval from AMSOIL INC.
AMSOIL lubricants that have been contaminated after leaving the AMSOIL INC. premises due to improper handling, storage or through equipment deficiencies in which an AMSOIL lubricant has been installed.
AMSOIL lubricants which have been packaged, regardless of container, by anyone other than AMSOIL INC. or an AMSOIL authorized packager.
Any allegedly defective AMSOIL lubricant for which a reasonable sample has not been preserved.
Failure of equipment when AMSOIL lubricants are not used in strict accordance with either the written recommendations of AMSOIL INC. or the OEM for warranty coverage.
AMSOIL lubricants that have been used in conjunction with any other product or additive that has not been authorized for use by AMSOIL INC.
Failure of equipment due to a pre-existing condition that is unrelated to the use of AMSOIL.
Repair or replacement of equipment because of normal wear.
Failure to follow all OEM recommendations for warranty coverage, including lubricants, maintenance, and drain intervals, prior to the first installation of AMSOIL lubricants.
AMSOIL INC. was not notified within 30 days from the date of failure.
Parts inspected do not substantiate a claim or indicate failure.
Parts requested were not sent or are unavailable for inspection.
Oil sample was not provided.
Failure of the customer to follow the written procedure herein.
Customer refused to cooperate with the investigation.
Failure was the result of an OEM defect.


Ashburton Library is located at 154 High Street, Ashburton, and has 2 meeting rooms that can be combined to accommodate up to 80 people.
Booking requests are answered during working hours Monday to Friday only. Requests may take up to 5 working days to process.
For meeting room enquiries, email Library Meeting Rooms.
Audiovisual equipment: Samsung digital monitor, data projector, ceiling speakers, lectern with microphone.
Wireless internet (library membership required).


The We Jazz organisation returns for this live recording from their annual We Jazz Label Night at Scope Festival, performed at Club Monarch in Berlin in October 2017. The album essentially features two performances each by three groups from the We Jazz roster, Jaska Lukkarinen Trio, Bowman Trio and Black Motor, who have all previously released albums on the Finnish record label over the recent years.
Separating the release into three, with Jaska Lukkarinen Trio beginning with 'Pengerkadulla', a dynamic but fluid composition that features drummer and producer Jaska Lukkarinen, Jussi Kannaste on tenor saxophone and Mattias Welin playing upright bass. Here, Jussi Kannaste leads the way with his strong melodic phrasing who is furthermore joined by complimentary bassist Welin while the impeccable timing of Lukkarinen underpins the arrangement. 'Roger' starts as a more straightforward swing number before becoming looser and more sporadic, especially Lukkarinen's drum solo which contains some intricately sharp fills and patterns.
Bowman Trio commence their section with 'Just A Scratch', a relaxed piece possessing a somewhat languid quality, albeit, containing space for all band members to flourish, with the group consisting of Tomi Nikku on trumpet, Joonas Tuuri on bass and Sami Nummela playing drums. 'The Hillary Step', which in its studio form was released on the b-side of their 7" release 'The Chase (Version 1)' in October 2018, preserves their more traditional (but definitely not trad) sensibility. As Bowman Trio is one of the less leftfield signees to We Jazz, they focus heavily on their arrangements and the art of composition. All very successfully done and with flair and precision.
And finally, Black Motor offer 'Lähempänä Taivasta' and 'Branches (Berliner Musik)'. This trio has existed for over 10 years in various configurations and they embody a more spiritual jazz and freer aesthetic than the two other groups. Here, the line-up consists of Tane Kannisto playing flute, shehnai and nagaswaram (both Indian reed instruments), Ville Rauhala on double bass and drummer Simo Laihonen. 'Lähempänä Taivasta' is relatively slow and sparse piece that evolves over its duration, revealing some high quality improvisational interaction between members. 'Branches (Berliner Musik)' becomes increasingly textured and dense, with the Indian wind instruments played by Kannisto supporting its spiritual jazz temperament.
All of the compositions featured are either previously unreleased or are new arrangements (and a small detail but the vinyl and CD/digital versions have a differing track order.) At times there is noticeable crowd and ambient noise during some of the quieter passages of the recordings, including the sound of the local emergency services passing the venue during 'Lähempänä Taivasta', but it's never intrusive and there has always been a symbiotic relationship between jazz and live recordings – and long may that continue.
Capturing the instant and spontaneous nature of a live set on vinyl and other purchasable formats and using solid sound engineering techniques seems to be returning in popularity, with We Jazz Live Plates, a new series for the label of which this is the first, showcasing their numerous live exploits and thus, this release is thoroughly welcomed.


text:
Q: List items per sales using JPA I have two entities :
Items(id, user_id, title, price);
Purchases(id, item_id, user_id, date);

Using JPA, I'd like to list all the items that have been purchased more than X times, ordered by their purchased times (the first being the most purchased).
I managed to have the correct SQL request, but how can I do that in JPA (possibly without using createQuery or something equivalent) :
SELECT i.title, COUNT(p.id) as rank FROM items AS i LEFT OUTER JOIN purchases AS p ON p.item_id = i.id WHERE rank > X GROUP BY i.title ORDER BY rank DESC;
// of course, X is an int!

Thank you for your help! :)
Update:
I indicated to avoid createQuery but I didn't explained why.
The thing is, I made a class dedicated to generating the query, it looks like :
public class Arguments {
    protected HashSet allowedOrders = new HashSet();
    protected Collection args = new ArrayList();

    // constructor and some other methods

    // this one works great
    public void setPriceMin(int price) {
        query += " AND price > ?";
        args.put(price);
    }

    // sames method for setPrice (= ?), and setPriceMax (= <)

    // this one doesn't :/
    public void setSalesMin(int sales) {
        // here's my problem
    }
}

But It's (really) possible that my methods isn't good. And since you bring up the Criteria, maybe I should take a look at it, even for "setPriceMin" and all the other methods.
How'd you do?

A: You can't do it without a Query.
Either rewrite the Query as JPQL (very similar, but you will have to replace ids with objects and do joins on properties, not on tables), or use the JPA 2 CriteriaQuery API. (Or use your SQL as a native Query, but this is usually a bad idea)

redpajama_set_name: RedPajamaStackExchange


When grazing is in short supply, bring grazing into the stable with our Brix. These compressed 1 kg blocks of forage should be fed whole and dry for your horse to gnaw on. Great boredom buster and a chance to get rid of some anger as well! They can be fed any time, and as with all our feeds, they are free from straw.
MeadowBrix are compressed blocks of mainly Timothy grass. Each block is around 1 kg in weight, so portion control is easy. You just give the m to the horse as they come, and your horse will enjoy getting his teeth into them. It gives them a satisfying gnaw and imitates grazing more closely than any other feed we know. You can use this amazing feed as a treat, a very quick and easy small meal replacer, late night top up or to replace some of the hay ration. Two MeadowBrix are equivalent to a good slice of hay from a normal small bale.
LucieBrix are similar but made from lucerne instead of grass. They have more protein and slightly higher feed value, but are lower in sugars. They are another high fibre feed and particularly good if your horse is sensitive to sugars or grass. They are also an ideal choice if ulcers are a concern, as the chewing and gnawing help to generate plenty of saliva and the feed itself buffers acid in the stomach and the caecum.
Two innovative feeds that will do your horse good as well providing some occupational therapy at a time of year when he needs it most. Or any time for that matter!


All razor adverts require a chic bathroom: so buddy, we're giving you one. Well, for the night, at least.
To mark the release of the Wilkinson Sword Xtreme 3 Duo Comfort, engineered to offer the quality of a premium razor with the convenience and value of a disposable razor, Wilkinson Sword is giving one reader a night of luxuriance at the 41 Hotel in London, along with a year's supply of razors.
For details on how to enter online, specific T&Cs for this competition and the competition question, please see the below. The competition closes at midnight on 28/09/17. The winner will be selected from all entries received before the closing date. Standard T&Cs here.


I'm not 100% but I think this was a pickup I bought in '85. From memory I bought a dimarzio. Maybe this isn't it and it's an old chinese/jap pickup, it measures 11.5k , does anyone have a clue on this ?
I just found it in my bits box and remembered the one I bought back then. What are the holes on the ends of the base plate for?


text:
June 17, 2020 • Rachel Valinsky on three new lecture-performances by Carissa Rodriguez, Naama Tsabar, and Pablo Helguera
Screenshot from Twitch stream of Carissa Rodriguez and George Liu, This is living, 2020. Image courtesy of Center for Experimental Lectures.
THE ARTIST'S TALK CAN BE A DULL AFFAIR: a PowerPoint presentation attesting to careerism and credentialization, an exposition of past and current projects and institutional engagements, uninspired commentary by an artist who seemed fascinating at a distance. The contemporary circuitry of MFA visiting lectureships alone harks back to the form's origins in academic professionalization, which has largely become a requirement for critical and commercial success despite the unbearable (and unjustifiable) burden of graduate school tuition. Born out of boredom with this standardization of the lecture format, the Center for Experimental Lectures, founded in 2011 by artist Gordon Hall and now co-organized with curator Joseph Lubitz, has so far invited over forty artists to produce work that addresses the lecture as a creative medium.
Even before the onset of Covid-19, CEL had begun to expand its programming beyond in-person gathering and live performance. They've hosted radio lectures in partnership with the publisher Montez Press, which operates an occasional radio station out of the gallery 47 Canal, and a recent program at Artists Space with Amalle Dublon and Aria Dean that took as its constraint the possibilities of online radio transmission. In May, new commissions by Pablo Helguera, Naama Tsabar, and Carissa Rodriguez were reconfigured for the web due to the pandemic shutdown and presented in collaboration with the Rhode Island School of Design's Department of Sculpture (where Hall is currently provost teaching fellow), the RISD Museum, and the RISD Center for Arts & Language.
Still from Zoom recording of Pablo Helguera, Free of All Ties, 2020. Image courtesy of Center for Experimental Lectures.
Early in the month, Helguera delivered Free of All Ties from his home in Red Hook. Two months into lockdown, the artist discussed contracting and recovering from the virus, an experience of skirting death. He took the Zoom audience outside for a walk, speculated on trash accumulation during quarantine, inventoried neighborhood businesses that had folded during the lockdown, and recalled the area's erased Italian immigrant history. He flashed to memories of his native Mexico City in the 1970s, of shops with long lines and sporadic hours, of living with unpredictability. In his reflections on memory and place, Helguera claimed to want to cast away the lingering hold of his own nostalgic predisposition, though a plangent sense of longing remained close at hand.
Returning to his apartment, Helguera settled at a computer to deliver the remainder of his talk. He transported himself back to a suburb of Chicago, Illinois, where his family settled after immigrating to the United States, illustrated through photographs of his childhood home, its ornaments, heirlooms, family memorabilia, and idiosyncratic art collection—generations' worth of things. "The very act of immigration is an act of catastrophic loss," Helguera said. Free of All Ties narrated the irretrievability of a past many times displaced, even as it insisted on maintaining often painful object attachments as the necessary work of memory. A seasoned art educator who currently directs the now-gutted education department at MoMA, Helguera expertly performed an object lesson on the lives of objects: his father's portrait of Beethoven by the nineteenth-century Mexican artist Ignacio Rosas; a series of books self-published by his grandfather that no one but his father read; photographs of elders now passed, beckoning the artist to eventually join their ranks—all time capsules, latent things waiting for the catalytic moment of their historical activation.
Screenshot from Zoom meeting for Pablo Helguera, Free of All Ties, 2020. Image courtesy of Center for Experimental Lectures.
The following week, Hall introduced the second lecture-performance—Borders, by the Israeli artist Naama Tsabar—with avant-garde composer Pauline Oliveiros's meditative 1968 essay "Some Sound Observations." "As I sit here trying to compose an article for Source, my mind adheres to the sounds of myself and my environment," she writes. It's no surprise that Tsabar's original plans for the commission, which centered on layered sound and corporality, were the most hampered by measures to reduce contagion. Performers would have piled up atop PA speakers, the accumulation of bodies dampening the emitted noise. Inconceivable in the time of social distancing, this principle of somatic layering took on new form in the virtual presentation of Borders, for which the artist invited four students from Hall's class, "Talking is Dancing, Lecture-Performance as Form," to deliver a talk on a subject of their choice. Asher White extolled the virtues of the now-shuttered Borders bookstore as a site of identity formation, gender expression, and performance; Muireann Nic an Bheatha recited a text in Gaelic over a video of a sailboat bobbing in the distant sea; Teo von Baeyer presented a miniature object theater inside a cardboard box; and Ariana Padovano spoke about the relation of physics and theology over a recording of Google searches. Tsabar herself launched into a monologue in Hebrew about the Cocteau Twins and their lead vocalist Elizabeth Fraser, whose unique glossolalia exploited the affective valence of vocal textures in the band's ethereal songs.
It's alright, I thought to myself, that I have no idea what she is saying, because soon the five lectures were aggregated into a single frame, a visual collage ushering in an excess of simultaneous sonic inputs. The undifferentiated digital field washed over me: a familiar feeling of information saturation and sensory overload, filtered through a newer, immanent experience of Zoom fatigue. I resigned myself to incomprehension. It's better this way, if I don't try to so hard to extract meaning, when it's so clearly trying to elude my grasp. The piece culminated in a composition by singer Lindsay Powell (who uses the stage name FIELDED) livestreamed via Twitch, in which she mixed all the lectures' audio tracks into a dense soundscape. "I've been here for a while," she crooned through pop beats, "I've been here for too long." Sounds familiar.
Still from Naama Tsabar, Borders, 2020. Image courtesy of Center for Experimental Lectures.
On May 19, I watched Carissa Rodriguez's collaboration with George Liu, a student of hers from Harvard, where she was a visiting lecturer from 2018 to 2019. If Borders ate away at the edges of individual comprehension as viewers became subsumed under the collective logic of the aggregate, Rodriguez and Liu's lecture took aim at the injunction to visibility and disclosure that conditions constant virtual participation. In the first half of the performance, an unidentified figure—concealed behind a large curtain that wrapped around three sides of a sparse, nondescript room—repeatedly poked a long instrument (an unfurled tape measurer, I surmised) at a wall-mounted camera, whose bird's-eye view captured the scene. Vigorous prodding and thrusting finally unhinged the device from its fixture; it cascaded down, violently collapsing into a new position mid-air, before the video ended.
The scene then shifted to a live exchange between Liu in his campus housing, and Rodriguez, who wasn't pictured. She gave him queues to click through a collection of photographs he had preselected on his computer as virtual backgrounds for their Zoom video call. Liu, who attempted to camouflage his ghostly, glitchy face with that of the most prominent figure in each photo, offered unscripted commentary throughout. An Elizabeth Warren rally: "Oh god, how do I feel about her? I guess I feel bad about her . . . And I feel like my understanding of Joe Biden is like a soup of images of him having dementia and assaulting women. . . I guess I feel pretty nihilistic about the situation." Ei Arakawa's recent WEWORK BABIES at Artists Space, in which Liu and fellow performers lobbed plastic infants in an alley outside the venerable nonprofit's new building: "I can't believe David Joselit saw me doing this!" Photographs of a now-shuttered Harvard building; of a porcelain pig with clover patterning. Liu oinked. "What if I don't have any parting words?" he asked, before bringing his eye uncomfortably close to the laptop camera, twitching and blinking repeatedly in a long sequence that would make Chien andalou fans squeamish.
View of laptop in Joseph Lubitz's apartment streaming Carissa Rodriguez and George Liu, This is living, 2020. Image courtesy of Center for Experimental Lectures.
Tuning into this rare, regular appointment with the Center for Experimental Lectures three times in May, it was hard not to read these distinct events as a logical sequence progressing through coronavirus time—a formless extension of days and news cycles recently shattered by the nationwide uprisings against police brutality and white supremacy sparked by the killing of George Floyd at the hands of Minneapolis officers. These talks, all of which occurred before the protests, articulated the changing, collective structure of feeling of which they were also symptomatic. I thought often of Helguera's tender performance, which grew devastating as it morphed through discussions with friends and cropped up in therapy sessions, illuminating the peculiar, creeping phenomenon of regression that has seemed to grip so many. Regression is frequently pathologized, but this being in memory felt like a force field then, as we collectively navigated the prospect of "reopening" to an uncertain future. There can be comfort in regression, Helguera reminds us, as well as heartache: We remember, only to know the past can't be fully retrieved. We cling to the promise of connection, only to be reminded of how far we are apart.
At the same time, Tsabar and Rodriguez pushed in other directions, even against the limited cathexis of recollection, proposing instead we pay attention to the saturated and chaotic platforms on which we produce and reproduce ourselves, readily, every day. As Lubitz remarked in conversation, we should be more cautious of our "tendency to fall into thinking that these online conditions of work and participation from our domestic spaces are somehow new." "They are not," he insisted. Rodriguez and Liu's work, in many ways the most unpolished—with jarring sound levels, occasional bandwidth stuttering, and largely dull dialogue—surfaced an agonistic, even recalcitrant relation to the structuring pressures of our moment, where artistic and pedagogic labor are expected to adapt with ease to the increased demand for content production and virtual consumption. Called I am alive. You are alive. We are alive. This is living. after a two-channel video by Bruce Nauman in which two actors reciting one hundred variations on this mantra grow out of sync and incensed, their work reconstrued the uneasy assurances of Nauman's script into affirmations no less resonant for their undeniable irony.
— Rachel Valinsky


We're back!!!!! You knew we wouldn't be away for long. So let's pick up right where we left off: defining the news, slinging the reviews and dropping information that you just can't find with this kind of style anywhere else (well, we're also proud to say that we are present in an exclusive monthly column in the prestigious "Stars and Stripes" newspapers available only all U.S. military bases worldwide now). It's all about urban/Hip Hop Hollywood entertainment - film, TV and new technology - done our way! And if you have any news, comments, etc. always feel free to reply here or directly at thealistmag@gmail.com. So let's kick off the premiere issue, shall we?
DVD DIVERSITY...Once upon a time, black and latino audiences were, well, almost forgotten by Hollywood. Now, not only is the industry wooing this movie-going crowd in hopes of bigger box office numbers, but they are also implementing special DVD marketing to target this demographic. According to press statements by Ken Graffeo, senior VP of marketing at Universal Studios Home Video, "While Caucasians purchased an average of 8.8 DVDs during the past six months, Latino Americans purchased an average of 13.1 DVDs, and African-Americans purchased an average of 12.8 DVDs during that same time frame." To take advantage of these growing markets, studios such as Universal have multicultural marketing divisions that now target specific DVD advertising on more minority outlets, such as BET and Univision. And no wonder, by all reports, Latinos have a purchasing power of $700 billion, espected to reach a trillion by 2010. And African-Americans spent some $650 billion annually and that will increase in four years to $850-plus billion. Cha-Ching.
REEL AWARDS...Well, as the awards season kicks into high gear, of course headz will be watching to see if the nods include a diverse bunch. To help keep the scales balanced, The 7th Annual Black Reel Awards hosted by the Foundation for the Advancement of African-Americans in Film (FAAAF) have recently announced their nominations. And there's no surprise here. Terrence Howard tops the list--receiving three, count 'em three nominations: Best Actor (Hustle & Flow), Best Supporting Actor (Crash) and Best Supporting Actor, TV (Lackawanna Blues). Whew. What a year. If you can get there, the winners' envelopes will be opened Feb. 18 at the National Press Club in Washington, DC. Congrats, Terrence!
CONNECTING THE DOTS...Believe or not, legendary B-baller Kareem Abdul Jabbar is about to try his hand at another form of entertainment: filmmaking. He is producing a documentary about three elements quite dear to his heart: basketball, jazz and hip hop. Insiders say he is planning to demonstrate commonalities between each of these typically dominated African-American culture points. We'll keep you posted on notables to be included in the upcoming flick and who will distribute the project.
DIGITAL DIVA...A-List co-founder Lauren Coleman and owner of hip-hop multimedia communications company PunchMedia, has just inked a hot deal with IODA (Independent Online Distribution Alliance), the leading digital distribution company for global independent music and visual properties. Under this new partnership, Punch is one of the first to offer independent hip-hop artists, labels and visual production companies the ability to access the most powerful digital retail outlets today: itunes, emusic and Rhapsody as well as cable and satellite on-demand outlets. The new division for this venture will be entitled Empire Audio (TM) and Empire Visual Entertainment (TM). She's already signed up hip hop knowns such as mega record producer Shareef Scott of Directorz, Inc., who is transitioning to film and is in talks with such artists as Raekwon of Wu-Tang fame to create special series, insider looks and more. For further info on this or pitches, please email empirebrand@yahoo.com.
We don't like to toot our own horn (yeah, we do), but we have to admit the year is really starting off well for our Lauren Coleman. In addition to the aforementioned deal, she and her company are now the official bridge between Hip Hop Hollywood and The Cannes Film Festival--the most prestigious annual film marketplace on the planet.
The Festival's International Critics' Week (aka SIC or "Semaine Internationale de la Critique") will join forces with Coleman's hip hop multimedia communications company, Punch Media, to attract a greater influx of diverse films for potential 2006 jury selection. In this groundbreaking move, SIC, (the Festival strain responsible for spotting new talent while the main portion focuses on established creatives) is now working to extend outreach and attract greater hip hop-themed/urban films among its submissions of all genres to better meets its goals of diversity in selection, particularly from the U.S. market. Coleman and her company will generate awareness regarding this portion of the Cannes Film Festival among new U.S. filmmakers while actively seeking hot hip hop/urban films for possible jury selection for SIC.
Thankfully, this will help introduce hip hop/urban films to a global marketplace, allowing them a chance to break the stereotype that black films don't appeal to international audiences.
"It is a great opportunity for all parties involved," says Coleman. "SIC is always looking for well-crafted stories which have not yet necessarily been told, so there is a wealth of possibility in hip hop-themed cinema. I now have the power to do something that no other festival can really do: bring the possibility of a global spotlight right onto the right hip hop-themed projects. This is about being worldwide and running with the best! My main goal is to use this to opportunity to give light to hip hop filmmakers and film producers out there so their creativity can be heard above all the Hollywood static."
"We are very happy to partner with Lauren and her company," adds Christophe Le Parc, General Coordinator of SIC. "We are really looking forward to this particular portion of the U.S. market understanding how we function within the Festival and what a terrific opportunity this is."
Filmmakers--of features, shorts, documentaries--have got to hurry, though. The submission deadline is March 31, 2006. The International Critics' Week of the Cannes Film Festival will take place May 17 - 28, 2006 in Cannes, France. For submission information, filmmakers should contact 310-280-3245.
Actress Joy Bryant shopping at Whole Foods on Fairfax in L.A... R&B singer-of-the-moment Keyshia Coles jumping out of a chauffeur driven '06 Range Rover to make a quick run into Best Buy on lower Broadway in New York, complete with doggie in tow...Randy Jackson, Kimberly Elise, Aisha Tyler, Kevin Frazier, "that hunky" (our tipster's comment) James Pickens Jr., and, of course, the NAACP's Vic Bulluck at the 7:15AM NAACP Image Awards announcements at the Peninsula Hotel in Beverly Hills...Mystery man. What film director (who lives in New York when not making deals in Hollywood) stays at the Wyford Executive Suites at the Ovation in Toronto when filming in the TO? You can probably spot him in the Ovation's private theatre, bowling alley or billiards room. We can't tell you who. Victor Oh, Manager of Operations of Wyford Executive Suites, has sworn us to secrecy.
' If you would like to be deleted from The A-List, please email us at thealistmag@gmail.com, but why be on the b-list looking in?


Runners up for two years on the trot, the Lions will be looking to convert their run of silver medals into gold. Yet 2018 presents a number of new challenges. The impact of the departure of ex-coach Johan Ackermann's positive influences and forward-thinking strategies and game plans remains to be measured.
They do have a well-salted and respected replacement in Swys Joubert, who was Ackermann's understudy. Joubert is a quieter, more reticent figure than the larger-than-life Ackermann, and we will watch his progress with interest.
The departure of Ackermann is compounded by the departure of some senior players, including Ruan Ackermann, Julian Redelinghuys, Faf de Klerk, and Akker van der Merwe.
In 2017 the Lions came very close to achieving their goal of a Super Rugby trophy. Their march to the title was thwarted by an unfortunate, but deserved, red card shown to Kwagga Smith. Playing with 14 men against the Crusaders for most of the game was a bridge to far, and they went down by 25 to 27.
Despite the loss in the final, the Lions can be proud of their season, occupying the top segment of the stats table in every aspect of the game that counted. Perhaps their fixture list helped a bit, they avoided New Zealand opposition right through to the playoffs, but then they showed that they knew how to step their game up to match the New Zealanders when the playoffs arrived.
2018 will be a little different. They will play four of the New Zealand team this year.
The Lions have one of the kindest draws of the year. They kick off their season with a home game against the Sharks, a repeat of last year's playoff quarterfinal. Then they host the Jaguares at Ellis Park before crossing the mighty Apies river to play the Bulls at Loftus. They return home to play the Blues and the Sunwolves.
Their first "tour" away from South Africa follows, with a fixture against the Jaguares before a somewhat difficult two weeks back home, hosting the Crusaders and then the Stormers before their first bye weekend.
The bye week comes at just the right time to prepare for a four-week trip to Australia and New Zealand where they play the Waratahs, the Reds, and then the Hurricanes and the Highlanders before returning home to host the Brumbies. They then head off to Cape Town to play the Stormers before the mid-season June Test window opens.
Their final three weeks are relatively easy, an away game against the Sharks, followed by a bye, and then a season closer against the Bulls back at Ellis Park.
That is a very kind fixture list.
New additions to the Lions' ranks for this competition are Jacobie Adriaanse, Ashlon Davids, Aphiwe Dyanti, Willie Engelbrecht, Marco Jansen van Vuren, Len Massyn, Christiaan Meyer and Marnus Schoeman.
There is a fairly stable squad of stalwarts remaining in the Lions camp, although they might be a bit light in the halfbacks. The loss of Faf de Klerk puts extra pressure on Ross Cronje to stay fit and injury free. He only has the inexperienced Dillon Smit and a youngster in Marco Jansen van Vuuren as back-up in the 9 jersey.
At flyhalf Elton Jantjies will have to be supported by Andries Coetzee and Shaun Reynolds, while the Lions nurture young Ashlon Davids.
There will be a lot of interest in the form and fitness of Warren Whiteley after almost a year away from the game.
It would take a brave man to bet against the Lions being right up there again in 2018. The foundations laid by Johan Ackermann, the continuity represented by Swys Joubert's elevation to head coach, and the retention of the core of their 2017 squad all count in favour of a good year.
The one weakness in the team is at half-back, where they have two Springboks in Jantjies and Cronje, and then very little else. This might just be their Achilles Heel.
I expect them to be in the play-offs, again.


text:
Q: Best practices for accessing methods of one class from methods of another class So we have this class class Identity and also a  class CanineCommunication
then if we want to define a class
class Dog {
    public Dog() {
        Identity id;
        CanineCommunication cc;
    }
    id.getParticulars(); //we can call all the public Identity methods
    cc.getMoves(); //and also the public CanineCommunication methods
}

But assuming the methods in the class CanineCommunication require the use of Identity methods - one obvious way to do it would be:
class CanineCommunication {
    getNoises(Identity id) {
        id.getParticulars();
        //~~if small be squeaky &c~~
    }

Another way would be:
class CanineCommunication {
    Identity id;
    public canineCommunication (Identity id) {
         this.id=id;
    }
    getNoises() {
        id.getParticulars();
        //~~if small be squeaky &c~~
    }

How do these methods compare? And are there any other (better/worse) ways to achieve this?

A: It depends on what your design is :
In the case where you are passing Identity object to constructor, you are working on a single instance of Identity and you might need to take care of any static variables or threas unsafe variables
In the case where you pass Identity object everytime you are in a similar sitiuation as above if you pass the same object but you have the flexibility to pass new object everytime
More or less it depends on your requirement

A: If your CanineCommunication instance works only with one Identity then the second approach would be better. So each CanineCommunication has its own Identity and works exclusively with this Identity.
If your CanineCommunication#getNoises method should work with different Identities then the first approach would be better.

A: The question is a matter of relation: where does the noise belong to? Is bark a property of Dog or does Dog use doBark from the SoundSystem?
The "correct" implementation always depends on your actual code. For example it might be better to have a SoundSystem implementation to make sure actual wave files are not duplicated in memory and to limit access to the sound channels. Because in this case the "sound" is (as a resource in memory) related to a resource manager.
But if you have some lightweight way of communication and the "sound" is nothing but a single String, then it might be easier to have something like myDog.bark().

A: Hm, i would use enums to modle the caninccommunication. Then a dog would have a list of type CanineCommunication.
And a small dog would be a class that extends your class dog and automaticly has a squeky canine communication in his list.
you could then do something like this:
for(Dog myDog : myDogs)
{
   if(myDog.getCanineCommunications().contains(CanineCommunication.SQUEKY))
   {
     myDog.doSomething();
   }
}


text:
Q: scanf() - getting field count and checking for EOF I'm trying to parse and convert a csv and thought I'd try my hand at c since I'm currently learning the language.
int main()
{
  char * s1, * s2;
  int field_count = 0;
  while ((field_count = scanf("%20[^;];%s", s1, s2)) != EOF)
  {
    printf("%d\n", field_count));
    if (field_count != 2)
      continue;
  }
  return 0;
}

I don't get why field_count is always 0 no matter how many fields there are in each line, and the loop never ends either.
I tried changing the while clause to:
while ((field_count = scanf("%s", s1)) != EOF)

but it made no difference.
I've tried googling, but examples retaining the return value AND checking for EOF were hard to find.

A: This is an example of code that should work.
It allocates a storage buffer for s1 and s2.
This code expects that the fields are at most 99 characters long.
int main(int argc, char * argv[])
{
  char s1[100], s2[100];
  int field_count = 0;
  while ((field_count = scanf("%99[^;];%99[^\n]", s1, s2)) >= 0)
  {
    printf("%d '%s' '%s'\n", field_count, s1, s2);
  }
  return 0;
}

Scanf is a bit limited to parse an input string. You might get unexpected result when you give it an empty string.


I will soon be giving an intensive weekend and want to use this occastion to tell you a bit more about this kind of journey so you can make an informed decision if it's something you can benefit from.
An intensive is a special process as the sessions are not at regular intervals of a week (as usual) but you get two sessions per day for a number of consecutive days (3-5 days): one in the morning, one in the afternoon.
This allows for a faster and deeper level of experience and understanding.
As with most things in life doing an Intensive is a decision. And conscious decision-making is powerful. If you decide to dedicate a weekend to a subject in your life that you care about but that you usually don't address, it means you are willing to look at and deal with it in a positive, constructive way because you want to. And you want to learn how to relate differently to it.
Making conscious choices is powerful. It strengthens your confidence and willpower.
Who is an intensive for?
There are several types of people for whom an intensive can be extremely beneficial.
Your lifestyle doesn't allow for weekly sessions and a more steady process but who still want to make substantial progress on a certain subject and in a specific situation in their life.
You don't want to wait any longer and want results quickly.
Deepened experience because of the shorter breaks between sessions, you do not return fully to your default setting and the follow-up sessions start at a different level of attention and awareness. This kind of process allows you to reach deep levels of experience, not just excitement or a fast rush of energy. Also deep silence and quietness.
If you choose to go for an intensive weekend, you choose to take those days out of your every-day. It's best not to plan too many other appointments and commitments. It's a time for deep learning, introspection and taking care of yourself.
Training to focus on the positive.
Based on the principle 'What you put your attention to grows' you will have a full weekend that is dedicated to focus your attention on a quality or state of being that you want more of in your life. I don't believe something good can come out of trying not to feel the negative.
An intense experience creates strong memories. Your body will remember the deep level you reach over this weekend.
Do you have a busy life? Are you ambitious and would like to improve on many levels at the same time? The wish to improve can add to your stress by adding more background noise to your daily life. Making the time for an intensive allows you to weekend that is only dedicated to you and your goal.
You choose to dedicate a full weekend to yourself and your goal or quality. By investing time and energy – in the form of money and attention – you are creating the best environment for personal transformation. It means you care enough about yourself.
I believe in the power of conscious choosing.
You don't need to know how to get there (showing you possible ways is my job in this journey. By acknowledging that you want something and making space for it in your life counts for the first two steps in your journey.
Choosing to dedicate 2 ½ days to yourself means you're fully enrolled in the process. And you choose to do something for yourself. It's a great gift to yourself.
I hope this was helpful for you if you consider participating in such a journey.
Dates for upcoming Intensives are listed on the events page.


102 acres with stick built, 1456 sq. ft, 2 bedroom ranch home with vinyl siding, deck, hot water heat, split A/C, very well maintained. It has a 32 X 50 pole building, 32 X 40 barn, 61 acres tillable, 31 acres wooded and 10 acres of pastureland with a creek running through, all on a BT town road.


text:
BLHS baseball falls to De Soto 7-4 Tuesday night
By LUKE PETERSON / lpeterson@leavenworthtimes.com
The Basehor-Linwood baseball team hosted De Soto on Tuesday for a conference matchup. De Soto would take the game 7-4.
The Bobcats were led on offense by Colby Kimberlin and Jackson Herbel each having two hits. Jackson Jennings, Taylor Brownback, Matthew McKnight and Carter Bergman each had a hit. Chase Torkelson pitched four innings for the Bobcats, allowing seven hits, six runs with seven strikeouts. Wyatt Wagner came in for the final three innings, allowing one hit, one run with five strikeouts. Bobcats head coach Andrew See said the game was not what he was expecting when the team arrived at the ballpark.
"I thought we as a team had really figured out what it feels like to put a whole game together," See said. "We came out flat and got into a big hole that we couldn't escape from. We didn't win in any of the three phases of baseball. We didn't pitch well, we weren't hitting our spots consistently, we let them run all over us and we left a lot of pitches over the middle of the plate and we were beat for it. Our defense let us down as well. We made some very uncharacteristic mistakes on the field. De Soto really capitalized on our mistakes as well."
See said the team will only go as far as the defense and pitching will take them. He said the hitters were "asleep" until the fifth inning.
"We didn't have any attitude or aggression at the plate," See said. "We let Tyler Barkmeier dictate what he wanted to do. We finally settled down and got in the counts we wanted to and made a small comeback. But when De Soto's relievers came in, we went right back to the same approach and couldn't finish the comeback off."
See said he still thinks the team can be "amazing" and can go far.
"This team could go really far," See said. "If we can play the next game like it's the championship and if we can find some internal motivation to play our 'A' game for seven innings (we can win). When this team finally starts playing for each other and for the singular goal that we want to reach, it could be really special."
Basehor-Linwood is off until next Tuesday when they travel to Lansing to take on the Lions. The game is scheduled to begin at 5 p.m.
The Lansing Lions rolled Veritas Christian 15-0 Tuesday night.
Senior Dylan McLain improved to 3-0 on the mound, allowing only one hit with eight strikeouts.
"I thought Dylan was really good (Tuesday night)," head coach Michael Basler said. "He got ahead of hitters and he dictated the at-bats. He used off-speed to put hitters away. He continues to get better and better each time he pitches."
Dakota Sill led the team with two hits on the night. Seven Lions recorded a hit on the night including Jayden Raymond, who Basler said hit a "monster" home run. The Lions will travel to Lawrence this weekend for the River City Classic. Lansing will face Shawnee Mission North at 8:15 p.m. Thursday at Lawrence High. The Lions will then face Sioux Falls Lincoln out of South Dakota on Saturday. The game will be played at 9 a.m. at Lawrence High School.
The Leavenworth Pioneers cruised past Turner 10-2 Tuesday night.
Head coach Justin Bode said the Pioneers have emphasized competing at practice. He said the team did just that Tuesday.
"Our emphasis in practice has been to compete," Bode said. "(Tuesday night) we did just that. We made mistakes but we managed to compete through those mistakes instead of letting mistakes snowball. We still have a ton of work to do, but tonight was a step in the right direction."
Bode said Eric Harding set the tone for the Pioneers both on the mound and plate. The junior went 1-for-3 with a home run and two RBI. Harding also started on the mound for Leavenworth and allowed three hits, two runs, three walks with six strikeouts in five innings.
"He didn't have his best stuff," Bode said. "But he completed every pitch."
Robert McKinley came in for relief with three strikeouts in 1.2 innings pitched. McKinley also went 2-for-3 at the plate with an RBI. Tyler Robinson was 1-for-2 with an RBI, JW Hickman was 2-for-4 and an RBI, Davin Bailey was 2-for-3 with an RBI, Kruz Wahwahsuck was 1-for-1 with a double and an RBI and Dylan Shaw went 1-for-3 with a double and an RBI.
"The whole team came together at the plate and got it done," Wahwahsuck said.
Bode said the team had a few miscues on defense but managed to not allow Turner to have big innings.
"Allowing big innings has plagued the Pioneers this season," Bode said. "So (Tuesday) was a showing of growth in the area of competing every pitch."
Bode also said there was similar growth on offense with the team putting pressure on the Golden Bears in the first inning and capitalizing on Turner's mistakes.
"The Pioneers got two-out hits (Tuesday night)," Bode said, "with many of them producing runs, which has been an area that the Pioneers have faltered in this season. After a two-out, RBI single by Tyler Robinson and another by JW Hickman, Harding put the Pioneers out to a 4-0 lead in the bottom of the first with a two-run home run to left, his first of the season. Senior Kruz Wahwahsuck made his return to the field after injury with an RBI double as well."
After the game, Harding and Hickman both said the team played well but there is still work to be done.
"Defensively we have a couple things to clean up," Harding said. "But no one got down after a bad play and we came through together."
Hickman had a similar statement and also praised Harding's pitching.
"Eric pitched a very good game," Hickman said. "The outfield and infield played well. We still need to make some adjustments to keep improving."
Bode also had high praise for his outfield defense.
"Our outfield played extremely well," Bode said. "We have one of the best defensive outfields in the state. There were several balls hit tonight that are not caught by many teams, yet our guys made the plays look absolutely routine. They have been the strength of our team defensively and tonight they stepped up in a big way for our pitchers."
The Pioneers return to action on Friday when they travel to Lawrence for the River City Classic. The Pioneers will face Belton out of Missouri at Lawrence Free State at 6 p.m. The team will then return to Lawrence Saturday at 9 a.m. to take on Lawrence Free State at the University of Kansas' Hoglund Ballpark.


text:
Mastering MongoDB 3.x: An expert's guide to building fault-tolerant MongoDB applications
by Alex Giamas
Publisher: Packt Publishing
Sales Rank: #707880 (See Top 100 Books)
Master the advanced modeling, querying, and administration techniques in MongoDB and become a MongoDB expert
Covers the latest updates and Big Data features frequently used by professional MongoDB developers and administrators
If your goal is to become a certified MongoDB professional, this book is your perfect companion
MongoDB has grown to become the de facto NoSQL database with millions of users—from small startups to Fortune 500 companies. Addressing the limitations of SQL schema-based databases, MongoDB pioneered a shift of focus for DevOps and offered sharding and replication maintainable by DevOps teams. The book is based on MongoDB 3.x and covers topics ranging from database querying using the shell, built in drivers, and popular ODM mappers to more advanced topics such as sharding, high availability, and integration with big data sources.
You will get an overview of MongoDB and how to play to its strengths, with relevant use cases. After that, you will learn how to query MongoDB effectively and make use of indexes as much as possible. The next part deals with the administration of MongoDB installations on-premise or in the cloud. We deal with database internals in the next section, explaining storage systems and how they can affect performance. The last section of this book deals with replication and MongoDB scaling, along with integration with heterogeneous data sources. By the end this book, you will be equipped with all the required industry skills and knowledge to become a certified MongoDB developer and administrator.
Get hands-on with advanced querying techniques such as indexing, expressions, arrays, and more.
Configure, monitor, and maintain highly scalable MongoDB environment like an expert.
Master replication and data sharding to optimize read/write performance.
Design secure and robust applications based on MongoDB.
Administer MongoDB-based applications on-premise or in the cloud
Scale MongoDB to achieve your design goals
Integrate MongoDB with big data sources to process huge amounts of data
Alex Giamas is a Senior Software Engineer at the Department for International Trade, UK Government. He has also worked as a consultant for various startups. He is an experienced professional in systems engineering, NoSQL and big data technologies, with experience spanning from co-founding a digital health startup to Fortune 15 companies.
He has been developing using MongoDB since 2009 and early 1.x versions, using it for several projects around data storage and analytical processing. He has been developing in Apache Hadoop since 2007 while working on its incubation.
He has worked with a wide array of NoSQL and big data technologies, building scalable and highly available distributed software systems in C++, Java, Ruby and Python.
Alex holds an MSc from Carnegie Mellon University in Information Networking and has attended professional courses in Stanford University. He is a graduate from National Technical University of Athens, Greece in Electrical and Computer Engineering. He is a MongoDB Certified developer, a Cloudera Certified Developer for Apache Hadoop and Data Science essentials.
He publishes regularly for the past 4 years at InfoQ in NoSQL, big data and data science topics.
Chapter 1. MongoDB – A Database for Modern Web
Chapter 2. Schema Design and Data modelling
Chapter 3. MongoDB CRUD operations
Chapter 4. Advanced Querying
Chapter 5. Aggregation
Chapter 6. Indexing
Chapter 7. Monitoring, Backup and Security
Chapter 8. Storage Engines
Chapter 9. Harnessing BigData with MongoDB
Chapter 10. Replication
Chapter 11. Sharding
Chapter 12. Fault Tolerance and Availability
Intelligent Robotics and Applications: 13th International Conference, ICIRA 2020
Delivering Superior Health and Wellness Management with IoT and Analytics
Skylines and Other Dominance-Based Queries
Modeling, Machine Learning and Astronomy: First International Conference, MMLA 2019, Bangalore, India
WINDOWS 10 BEGINNERS GUIDE 2021: The Complete Step-by-Step Dummies to Expert Illustrative Guide for Microsoft Windows 10 with Latest Update and Useful Shortcuts, Tips and Tricks
Mastering Ethereum
Hyperledger Cookbook
Data Science: Advanced Guide to Learn the Realms of Data Science Effectively
Data Modeling & DesignData Processing


Exhale British Columbia, they've done it. After nearly two and a half weeks, they've finally done it.
On the strength of Elias Pettersson's two point night, Adam Gaudette's first NHL goal and Sam Gagner's first tally since returning to the big leagues, the Canucks pulled off their first win in nine tries on Saturday, a 4-2 victory over the spiraling Los Angeles Kings.
This win may just be another two points from a game in the middle of November, but it means so much more than that to the Canucks. Just over 24 hours before, Vancouver had been shutout 4-0 by the San Jose Sharks in a game where they couldn't seem to muster any major scoring chances and bad luck followed them at every turn.
I was at the SAP Center on Friday night, and let me say, it was tough to watch. Imagine being a skater or returning goalie Anders Nilsson in that scenario. It's hard not to second guess yourself.
But they didn't let it get to them. Not even the fact that former head coach Willie Desjardins was behind the Kings bench, or that they were playing one of the few teams having a worse run than they were, was going to stop them from winning. They took a game against a weaker opponent, which are somehow the hardest wins to get on a losing skid like Vancouver's.
One win was enough to change the Canucks' outlook. Alex Edler and Anders Nilsson both returned to the lineup over the US Thanksgiving weekend, and it's likely that Jay Beagle and Brandon Sutter will be fit to play again sooner rather than later. The timeline is a lot less clear for Brock Boeser and Sven Baertschi's injuries, but baby steps are key for this team right now.
With Vancouver returning home for a five-game set at Rogers Arena, including another game against the Kings on Tuesday, there's a chance for the Canucks to regain some lost ground. The grind of the season is well underway, and the next month and a half will show us if that eight-game slump was a sign of things to come, or if this year's Canucks will leave the 2018 calendar year stronger than ever.
You have to imagine there was some sheepishness on the Canucks' part when they called up Sam Gagner earlier in the week. But with the injuries piled to the brim and Gagner torching the AHL with 15 points in 15 games it was a no-brainer to bring him back to Vancouver.
The NHL rust was obvious early in his first game against the Jets, but overall he's looked pretty good since. He even made the most of his time on the power play unit last night in Los Angeles.
It took the Canucks long enough to figure out how well he works as the slot man on power plays, so maybe he has a future in Vancouver after all.
Antoine Roussel was all over the place on Friday night, but his night ended in a less than ideal fashion.
Up to that point, I'd really liked Roussel's effort at both ends of the ice on Friday. But as entertaining as he is on a nightly basis, this was going a little too far. Aside from the obvious "you shouldn't do that" lecture, this team has really bad memories associated with biting that I really don't wanna see being shown side-by-side with Roussel's incident for the rest of the season.
– Whenever Tyler Motte is brought up by management or online, "hard worker" seems to be the first phrase that pops up. From what I saw live that description seems accurate, but sometimes he's a little too aggressive on the puck carrier and takes himself out of the play to finish a check. Taking the man is important, but not as much as taking away time and space from the oncoming forecheck. Easing back a little on the hits could make Motte a much tougher player overall.
– One of the guys I noticed a lot on Friday was Brendan Leipsic, who finally seems to be carving out a role for himself as a speedy grinder. He threw the Sharks rhythm off in the neutral zone and defensive end on multiple occasions, and even had a breakaway chance on Aaron Dell in the second period. If he keeps up the tenacity, the points should follow.
– Nikolay Goldobin is Actually Good™. That's all I want to say, honestly.
– Anders Nilsson's first game back from injured reserve wasn't spectacular, but that's not surprising. What made Anders' return so important was the fact that Jacob Markstrom can finally get some much needed rest, along with some time to work on the details of his game with Canucks goalie coach Ian Clark. Having both goalies available should not only help the two of them improve in the long run, but even help turn the Canucks' fortunes around. If Jacob's solid night against the Kings was any indicator, there's hope for the team yet.
– This column wouldn't be complete without giving props to Adam Gaudette for scoring his first NHL goal last night on a nifty feed from Jake Virtanen.
Hopefully this was the first of many for the Hockey Gaud, along with hoping that Jakey V learns how to properly fish pucks out of the opponents' net. Congrats, Adam.
Whether you like it or not, it's back.
I honestly don't mind it, but if you get squeamish looking at a mask with ears, you might need some more scares in your life.
Thanks for reading! Which player stood out for you most in the Canucks' 4-2 win over the Kings? Leave a comment below!