This is an entry-level position, which requires excellent comprehension and speaking skills in English & other language(s). Preferred but not compulsory: 2-4 years of experience. The Telephone Interpreter is responsible for handling calls on demand, understand and render meaning of conversations between speakers of other language(s) and English. The Interpreter needs to be able to process information quickly and concisely, recognizes sensitive cultural differences, and is professional and courteous at all times. The calls may involve simple or complex, non-technical or technical subjects in the following fields: Healthcare, Government, Insurance, Law Enforcement, General Business and more. We are seeking interpreters/speakers who speak English and any of the following languages: Khmer Cambodian. Karen. Somali. Kirundi. Dinka. Slovak. Uyghur. Twi Lao Uzbek Tigrinya Oromo Tibetan Armenian Czech Foochow/ Fuzhounese. Saho. Afar. Kunama. Acholi. Soninke. Responsibilities and Duties: Location of work: Work away from the office. Telephone Interpreter works from his/her home, own office or more. It is essential to ensure a quiet & secure environment. Note pads and writing utensils, glossaries, and dictionaries are useful tools. Major Responsibilities and Principal Accountabilities: Renders correct concepts and meanings between other language(s) and English following complexity, clarity, and style from one language into another, upholding the correct rules for grammar and syntax in both languages. Good customer service, communication skills, clear enunciation, pronunciation, pleasant and professional voice as well as polite forms of expressions. Understands protocol and terminology in the following industry such as Medical, Insurance, Finance and Law. Is able to remain calm during stress related calls and remain consistently professional when interpreting client calls, which includes 911 emergency calls. Required Experience, Skills and Qualifications. Qualifications Native Fluency in other language(s) and English. Advanced skills in the cultural dynamics (cultural implication and idiomatic expression) of both other language(s) and English. Excellent listening, retention and note taking skills to maintain a high level of accuracy. Knowledge of industry-specific terminology; on-going study of glossaries and training materials including scripts provided by our clients. Ability to concentrate, stay detached from the conversation, and remain neutral and objective at all times. Ability to follow client's instructions closely. Ability to explain certain cultural concepts to avoid miscommunication with the permission or at request of the client. Education in languages/ interpretation or related fields preferred, but not required. CanTalk offers: Competitive rates. Huge flexibility with no schedule requirement. Ongoing training and competency opportunities. Being part of elite interpreter database from a Canadian company. Opportunity to assist newcomers and non-English speakers communicate in their native languages, in a variety of fields. Opportunity to break language barriers in a diverse community and help your own fellow countrymen communicate with English speaking businesses. Opportunity to participate and experience telephone interpretation.
Founded in August of 2008 and based in San Francisco, California, Airbnb is a trusted community marketplace for people to list, discover, and book unique travel experiences around the world. Whether an apartment for a night, a castle for a week, or a villa for a month, Airbnb allows people to Belong Anywhere through unique travel experiences at any price point, in more than 65,000 cities and over 191 countries. We promote a culture of curiosity, humanity, and creativity through our product, brand, and, most importantly, our community. Experiences on Airbnb are excursions or other activities designed and led by local hosts who give guests unique access into places and communities in their city. Guests can already book a wide variety of Experiences globally, such as making pizza with a local chef in New York and taking sketching lessons with a passionate artist in Paris.We're looking for amazing Ambassadors for Experiences that can help attract a large number of entrepreneurs for the categories Arts/Culture, Food/Drink, Entertainment/Nightlife, Nature/Outdoors, Sports/Wellness.You will be working as an independent freelancer, and earn a fixed fee for every Experience listing you generate and for one that obtains a booking on the platform . As an Airbnb Experiences Ambassador, you will find new Experience hosts for the platform. You must be living in the city you want to become an Ambassador for, and have your finger on the pulse of your city. We're looking Freelance Airbnb Experience Ambassadors who are: Knowledgeable: You know about Airbnb and Experiences, and can explain how awesome it is to others! Self-Starters: Able to create a plan of action and execute it Community networkers: You know the right people and can connect them to the Airbnb Experiences platform Promoters: Skilled at talking to others and spreading the word about great products like the Airbnb Experiences platform Great communicators: Able to communicate quickly, effectively and accurately to various audiences Fast learners: Comfortable with a fast-paced environment. Startup experience a plus Independent: Ability to flourish with minimal guidance and be proactive Please note: If you are an Experience host, you are not eligible to be an ambassador. What do Airbnb Experience Ambassadors do? Find creative ways and take initiative to grow the Airbnb Experience host community in your market. What do you get out of this? Empower a generation of entrepreneurs to share their passions with the world on the Experiences platform. You'll receive a fixed referral fee for each new Experience listing you generate on Airbnb and for each one that obtains a booking on the platform (up to $300 per published Experience). The details: As an Airbnb Experience Ambassador, you will work as an independent freelancer, and not on behalf of Airbnb. You will not be engaged as an employee, and will not be eligible for Airbnb employee compensation or benefits. You will be expected to work independently and manage your own time. You must live in your city full-time, and have the necessary work authorization. Airbnb will not be able to provide any work sponsorship for this role. Airbnb is committed to working with the best and brightest people from the broadest talent pool possible. We believe a diversity of ideas fosters innovation and engagement, and allows us to attract the best people, and to develop the best products, services and solutions. Qualified individuals from all walks of life are encouraged to apply to take part in this program.


As the development of information technology and intelligent tutoring, web-based learning has been widely used nowadays to help people acquire knowledge in a flexible way. Especially, web-based learning services can greatly facilitate farmers to gain knowledge on farming. It is observed that learning goals and preferences tend to be localized for farming knowledge due to similar climate and soil conditions in an area. Therefore, geographical information can be utilized to recommend agricultural learning resources. In this paper, an agricultural learning resource recommendation approach is proposed using agent-based simulation that takes geographical information into account. The agent simulation environment is introduced. A distance-aware agent reputation model is presented. A multi-agent collaborative recommendation approach is proposed. Simulation experiments are conducted for the evaluation of the proposed approach. The results show good performance of it.


text:
Immediate At Need
In the early days of the funeral home, a person could pay for their burial insurance premiums with chickens, eggs, vegetables, and other things of value. While that is no longer the custom, our funeral home continues to believe in fair prices. Our long-standing tradition has been to provide the finest facilities and service at a reasonable price. We know the importance of helping each family plan the funeral they want, within their own budget. Having the very best does not have to cost the most.
Today, Irby-Mitchell Funeral Home is large enough to give our families the same services as the largest funeral homes around, yet we are small enough that each family receives the level of attention and care they want and deserve. We are proud that our staff has deep roots in Clay and Greene counties. They take pride to provide you with a reputation of trust and a promise of professional service presented in a caring manner. Our staff dedicates themselves to making each service a special time of remembrance to your loved one, honoring them and celebrating their life. We are continuing the proud legacy that started over 100 years ago. We urge the public to stop by anytime to meet our staff and ask any questions that you may have concerning your burial policies or other burial arrangements.
Most Popular Flowers & Gifts
It's important to take the time to acknowledge the uniqueness of the deceased: the individuality of their personality, and the uniqueness of their life's path. Not just for them, but for you; it affirms the relationship, and leads to healing after loss. Honoring their life is truly an act of love - for the both of you.
With our online grief support you're assured of our commitment to helping you through this difficult time. You can access online counseling services, join in group grief support, or watch our interactive videos, anytime: 24/7. No matter how you feel at this moment, you have our commitment - you're never alone.
We give every family in our community unique opportunities to learn, share, and remember. Each of our educational, grief support or remembrance events is designed to appeal to a wide age range, including adults and children. It is our intention to enrich lives, educate minds, and ease sorrows.
The accepted customs of dress and behavior in a funeral have changed over time, but courtesy never goes out of style. Here's what we'd like you to know about funeral etiquette.
Telephone: (870) 595-3569 Fax: (870) 595-3560 Email: Click Here
Irby-Mitchell Funeral Home of Rector: (870) 595-3536 - FD#: 180 Irby Funeral Home of Marmaduke: (870) 597-4623 Piggott Mortuary: (870) 598-3836
Obituaries Flowers & Gifts What We Do About Us Grief & Healing Resources Plan Ahead Contact Us Our Prices
© 2022 Irby-Mitchell Funeral Homes and Piggott Mortuary - Funeral Home Website Design by funeralOne

redpajama_set_name: RedPajamaCommonCrawl


text:
Kansas Snapshots by Gloria Freeland - December 15, 2017
Just big kids
I notice his smile every time I pass by. For his age, his red hair and brown eyes are remarkably bright. Occasionally, he will talk with me if I coax him a little.
Can we go out?
Let's play cowboy.
Tell me a story.
Long ago, he lost his "crown" hat and his voice is often a bit garbled. But he still wears his red-striped shirt and black shorts. Matty Mattel and I frequently connect briefly at the end of the day. This is because this favorite childhood companion and other dolls occupy a place of honor next to books and family photos on the bookshelves by our bedroom door.
Christmas, more than any other time of year, makes me think of the toys I received as a youngster, as well as the ones husband Art and I gave our daughters. For a number of years now, those thoughts prompt me to notice the new selections inducted into the National Toy Hall of Fame. This year, they were the board game Clue, the paper airplane, and the Wiffle Ball.
An Associated Press article said the inductees are chosen "on the advice of historians and educators following a process that begins with nominations from the public. To make the cut, toys must have inspired creative play across generations."
Other toys selected in the past 20 years since the hall of fame was established include: Barbie, Play-Doh, Tinkertoys, Scrabble, Monopoly and Crayola Crayons.
Check, check, check, check, check and check. I have - or had at one time or another - all of the above.
In November 2012, I wrote A blanket statement about three other inductees - the blanket, box and stick. Those three simple items were favorites of daughters Mariya and Katie. And brother Dave, sister Gaila and I found all sorts of things to do with sticks when we were growing up on the farm. They became swords, music batons or tools to make roads in the dirt for our toy trucks.
Dave still has the Lionel train set he received when he was 6 or 7. Art's is packed away below the stairs to the basement. The train is another member of the hall of fame. Art's favorite toy was the Erector Set. It's also on the list.
Gaila and I spent hours playing with our Barbie dolls and all their accessories and clothes as did our girls Larisa and Katie.
One of the best investments I ever made was buying an old Tinkertoys set for $2 at a flea market. Katie and Mariya made vehicles, towers, windmills and other objects with the wooden parts.
They also liked LEGOs - also on the list. Mariya still adds a set or two to her Christmas list each year. She's also a "Star Wars" fan. Action figures from that movie franchise were added to the hall of fame in 2012.
So will toys from today make the famous list?
According to the "hottesttoysforchristmas.com" website (yes, there actually is one!), Cozmo the Robot, the Dancing Groot from Marvel Guardians of the Galaxy, the Nerf Super Soaker Zombie Strike Revenge Zombinator, the Fidget Spinner and Marvel action figures, such as Iron Man, Captain America, Hulk and Spiderman, will be popular this year. Another hot item, according to the site, will be Hatchimals. The website's description of them is:
Hatchimals - CollEGGtibles 4-Pack + Bonus (Styles & Colors May Vary) by Spin Master. Imagine holding an egg in your hands and watching it hatch into a 'Hatchimal CollEGGtible' as you rub the heart and wait for it to turn pink. Kids are going gaga for these toys, and there are more than 70 Hatchimals to collect in season one. Each Hatchimal has glittery wings and belongs to a family, which you can tell by the color of the speckles on the egg. It's always a joy watching the eyes of the children light up as each CollEGGtible hatches and they find out what's inside. It's always a surprise as well, so that sense of wonder and excitement is definitely present.
Maybe, but Beanie Babies, Pet Rocks and Cabbage Patch dolls were also considered "hot" at one time, but now, well, not so much.
Matty hasn't joined the elite in the hall of fame. Still, he's a classic to me. His sister - Sister Belle - is far, far away - on Gaila's bookshelf in Bolivia. Gaila never called her Belle, preferring "Linda" instead.
Matty, Linda, our Barbies, Dave's Lionel train, Art's Erector Set, the girls' LEGOs and Tinkertoys, and our old Life, Monopoly, Clue and Candy Land board games were once a big part of our childhoods. And thinking about them now still elicits smiles and good memories. So while in most regards we grow up, we also remain just big kids.
Left-to-right: Matty and Gloria, Linda and Gaila, Katie and Tinkertoys and Mariya and a Star Wars game.
Comments? [email protected].
Other columns from 2017 may be found at: 2017 Index.
Links to previous years are on the home page: Home


Trevor Cootes was born and raised in Port Alberni. He belongs to the ʔApwinisatḥʔ house, and is a descendant of the Dennis family and the Williams family. Trevor is serving his first term as an elected member of Executive Councilor for the Huu-ay-aht First Nation. He holds the Economic Development portfolio and is also co-chair on the Cooperative Management Board for Pacific Rim National Park. With 18 years of experience in the tourism industry these portfolios are a good fit with the skills Trevor brings to the table. He has worked in various areas of tourism, including accommodations, food and beverage, adventure guiding, culture, retail and campground work, as well as being an events coordinator and educator.


text:
Oman Flour Mills appoints new general manager for its subsidiary, Sohar Flour Mills
February 26, 2018 Food Business Africa
ASIA – Oman Flour Mills has appointed Endrik Mehlo as new general manager for its subsidiary Sohar Flour Mills, a state-of-the-art flour milling plant set with a vision to expand the production coverage of different types of flour across Oman.
Endrik Mehlo served at Oman General Mills as chief operating officer since 2011 and now will join Sohar Flour Mills effective March 1.
Sohar Flour Mills is a 60% subsidiary of Oman Flour Mills and is being established in Sohar with US$39 million investment using novel flour milling technology.
The subsidiary started the building of a 500-tonne-per-day capacity flour mill in September 2016, as part of the Omani government's national food security strategy, according to a report by Oman Daily Observer.
Oman Mills said that Mehlo will continue to support the company if need arises throughout the year 2018.
Mehlo received his education from the German Milling School where he trained as a milling engineer.
Before the appointment, he also worked as an operation manager and flour mill manager.
From 1999-2008, he worked as a commissioning engineer at Buhler before joining Oman Flour Mills.
He is set to use his experience in milling, engineering and leadership abilities to foster development agenda at Sohar mills and out of Oman.
Early 2018, Oman board of directors announced appointment of Haitham Mohamed al Fannah as the new chief executive officer of the company, effective March 1, 2018.
Haitham succeeded Salim Khairulla, who has served as interim CEO since long time CEO Ali Habaj stepped down on June 30, 2017.
With the new appointments, Oman Mills expects to deliver on its expansion agenda through its primary activities including milling of wheat and other cereals, flour sales, and the processing and sale of animal feed.
With its two major flour products brands, that is, Dahabi and Barakat brands, Oman Flour Mills aims to grow in the milling and food processing sector.
Flour Mills divests from Unicem
NIGERIA - In pursuit of the company's strategy and focus on the growth of its…
Honeywell Flour appoints Sandey to its Board
NIGERIA - Honeywell Flour Mills Plc (HFMP), one of Nigeria's leading milling companies has appointed…
WORLD NEWSinvestments, M&A, Oman, Sohar
Previous Previous post: Saudi Arabia barley imports to decrease, says USDA
Next Next post: Ardent Mills names Chris Meyerpeter as new CIO


text:
Coffee benefits
Coffee and Diseases in the Elderly
Recent studies suggest that the daily use of coffee can help preserve cognitive functions in the elderly, particularly in women. Several researches have studied the effects of coffee on neurodegenerative disorders like Alzheimer's and Parkinson's disease.
Researchers have identified that people who drink coffee regularly throughout their lives can delay cognitive deterioration, especially women, and this effect increases with age.
Thanks to these researches, most human studies suggest regular intake of coffee reduces the risk of developing Alzheimer's disease by 17% – 20%.
Furthermore, studies suggest regular coffee users are less likely to develop Parkinson's disease than non-users. This risk decreases with the increase of caffeine intake.
The components in coffee responsible for these effects on the neurological functions are still being studied, but caffeine could play an important role on this. Other neuroprotective, antioxidant and anti-inflammatory effects of coffee could also be responsible. However, Parkinson's disease researches suggest the preventive effects are related to caffeine.
Every day more studies and researches confirm the benefits of this drink on the health of its consumers, find Café 1820, the best coffee in Costa Rica at its main sales points and enjoy its benefits.
https://www.coffeeandhealth.org
BACK TO BENEFITS
LET'S TALK MORE ABOUT COFFEE
BECOME PART OF OUR COFFEE
Subscribe to our newsletter. You will receive unique and valuable information about coffee.
Address: Grupo Agroindustrial Numar, Frente a la Clínica Dr. Ricardo Moreno Cañas., Av 26, San José.
Phone: (+506) 2284 – 1000
Grupo AgroIndustrial NUMAR S.A. © 2019 Café 1820. All rights reserved.
Powered by WSI
Phone: +506 2284-1000


If you're generally inactive on the site for 60 days or longer, we may grant a request made by another user to reclaim a community you moderate in r/redditrequest. We may also grant a request posted to r/redditrequest if your account has been permanently suspended.
These requests may come from users unaffiliated with your community, members of your community, or they may come from established moderators lower on the requested community's mod list. Requests made by users who are not already moderators of your community will trigger a modmail to be sent to the requested community informing you (and any other mods for that community) of the request. If you are the top moderator and meet the requirements for inactivity, you may be removed from the mod list without further notice.
These removals are reviewed based on top-down activity on the mod list. This means that we first look at the top moderator's activity when making a decision. We will not remove moderators below an active top moderator, but we may remove multiple moderators, starting at the top and working our way down, if we find that they are all inactive.
Occasionally, we require further information to make a decision on a request. In these instances, we will reach out to the impacted moderator directly and give them a chance to speak to us before coming to a decision.


To say that the two-day long charrette was eventful would be an understatement. Broadly, the first day collected stakeholder feedback, while the second day turned the feedback into action items for the design process. From individual goal setting (which was subsequently voted on collectively to rank project priorities), to brainstorming of the top five ideas by interdisciplinary groups, no stone was left unturned. To cite one ambitious goal, one participant felt that the building's appeal should lead to it being sought after for social events like weddings. To indicate one creative idea, a 'Pokémon Go' styled augmented-reality method was suggested for learning about the building after it was built, where every material would have a QR code that could be scanned and explored further. A sampling of some of the strong themes which emerged follows, not in any order of priority.
Goals, ranked and ready for use.
The need for an urban agriculture subcommittee was recognized.
The site will have to be a smaller portion of the broader adjacent planned Eco-Commons district. Defining the extents of the site started with a series of questions.
What services does the site need to provide?
Treat greywater, collect rainwater, house urban agriculture, house geothermal wells, etc.
How does the LBC site interface with adjacent sites?
How would the contractor use the site for staging and conveyance?
How will the existing site topography accommodate universal design?
What are the considerations for promotion of biodiversity of landscape and animals?
Can an outdoor space for a gathering of 500 people be accommodated?
How can biophilic aspects such as 'prospect and refuge' and 'fear and awe' be accomplished?
A discussion on the site.
The questions set off a process that will eventually lead to the determination of the LBC Site Boundary and a context for the building and the services it requires. One of the clearly stated objectives was to blur the line between the outside and the inside.
While Red List chemical avoidance lies at the heart of the LBC Materials strategy, other aspects such as procurement timeline, cost impacts, durability, etc., require careful planning. Based on collective previous LBC experience, it was anticipated that about 1,000 materials would have to be vetted, at a time expenditure of eight hours per material. To put that in perspective, if only one person spent 40 hours a week on material vetting, the complete exercise is roughly a four-year time commitment.
It is also expected that achieving the 'Responsible Industry' imperative under the Materials Petal will be a formidable challenge. The imperative requires that all wood on the project be Forest Stewardship Council (FSC) certified. On most other projects this would be a simple matter of writing up a tight specification but in Georgia, especially on state-funded projects, legislation forbids the use of green building rating systems that work against employment of locally produced timber which uses other less rigorous certification standards supported by the local forest products industry. There are nuances to the nature of funding and the political nature of the challenge, but they are detailed enough to merit their own future blog post.
Towards the end, a 'materials working group' was established comprising of people from the design and construction management teams. The materials working group intends to get an early start on materials research.
Fenestration design that integrates aspects of solar control and daylighting will be key to achieving net positive energy and occupant satisfaction. Passive site features such as trees and sculptures that cut solar gain on the east and west-facing glazing figured heavily in participant feedback. Also recognized was the need for balancing such features with something akin to a screen on the façade of the building that occupants can control to more readily modulate their environment.
Strategies such as a green wall that doubled as a greywater treatment system and building enclosures which functioned as selective membranes were identified.
Each of the subtopics can be comprehensive enough to deserve a dedicated post but we will end with a summary list of those that did not figure in the detailed themes above.
A dashboard that goes beyond tracking energy and water performance and tracks other metrics such as health, happiness, and physical activity. The need for making the feedback more visceral for occupants was stressed.
Did your firm lead the Biophilia workshop, or simply participate?
Grant, thanks for the question. Georgia Tech and the design team got Sonja Bochart, who specializes in Biophilia, to facilitate the workshop.


The Magic Mushrooms video slot is one of Yggdrasil Gaming popular new releases. The slot is based on a whimsical woodland with a very forest-like feel to it. The symbols are all related to the overall theme and include different magic like Mushrooms, Tree Frogs, Snails, and Monkeys. There are grass and trees in the background. The music is very easy to listen to as you would expect with a slot with this kind of feel and the sound effects are minimal but enhance the gameplay.
The team at Yggdrasil Gaming have created many online slots since they launched back in 2013 and have since become one of the leading online software providers within the industry, winning several awards in that time.
The Magic Mushrooms online slot has 5 reels, between 3 and 5 symbols per reel (3 on the 2 outside reels, 4 on the 2 next to them and 5 on the middle reel) and 40 pay lines, 20 of which pay left to right and 20 of which pay right to left.
The play area has a green-blue feel to it with grass in the background. The music and sound effects are gentle and easy going, adding to the overall experience of this slot.
The Magic Mushrooms slot has an RTP of 96.4% with a maximum win of €64,000. The coin value can be adjusted from €0.01 giving a total spin value of €0.40, up to a maximum coin value of €0.50 and a total cost per spin of €20.00.
You can adjust a few options on the Magic Mushrooms online slot, including speed of the game, toggling music and sound effects on or off and Auto Play settings such as stopping after a certain level of win or loss.
This slot has standard Wilds on reels 1 and 5, Multiplier Wilds on reels 2 and 4 and a Spreading Wild on reel 3 giving more chances to win. The Spreading Wild creates up to 4 more Wilds anywhere in the play area and can create more Spreading Wilds at the same time.
The Magic Mushrooms free spin bonus awards players between 2 and 75 free spins when mysterious snails are landed upon.
3 of the free spin symbols anywhere in the play area on the main game gives 10 free spins, 4 in view equals 20 and 5 in view gives a huge 75 free spins. During a free spins win, any 2 in view gives an extra 2 free spins. When in free spin mode, there are more Wilds than in standard gameplay increasing your chances of hitting a big win.


text:
Google Chat goes free in 2021, while Hangouts loses features this month
Since it can be hard to keep track of the dozen-or-so messaging products Google has released over the years, before we get started, here's a glossary of the Google messaging apps that will be referenced in this article.
The single fact that this isn't a snide remark but a simple acceptance of reality is always telling.
There's a lot of back and forth by Google in this space but what's more striking is how the company insists on handling some transitions so awkwardly. Google Chat is supposed to take Google Hangouts' place in the messaging portfolio. And yet Hangouts is being stripped of features before those are added to Chat so as to ease user transition. Why on earth wouldn't Google just push the transition further down the line to try and time everything better is something I don't get personally. The company's IM strategy is muddled already that any move that doesn't go hand in hand with absolute clarity only works to its detriment at this point.
GitHub takes down YouTube video download tools after an RIAA notice
YouTube-DL fans pointed out, however, that not everyone uses the tool for piracy. Some people use it to download a backup of their own content, while others use it to archive videos that could be taken down anytime due to one reason or another.
RIAA is trying to claim that since a tool can be used to commit a crime, a tool is also illegal. To which I feel obligated to point out that we live in a world that understands morphine has proper medical uses, despite also being a controlled substance that can prove lethal to individuals, unlike YouTube-DL which YouTube itself doesn't take much issue with (which lives off of ad revenue, ad revenue that are only generated when someone streams instead of downloads with YouTube-DL) and can, at worst, lead to some profit loss.
And don't get me started on the idea that any pirated copy of anything equals profit loss, so battling piracy automatically means such and such profit will be made instead. This isn't how reality works.
The Closing Walls Around China's Independent Game Developers
EGM's article is quite the glimpse in what may feel like another dimension to many so I found myself struggling to not quote have of it here.
"You need to get the copyright files in China, which is not expensive, but you'd better have a partner in China to help you with it; then you must have a partner in China to help you to get the game license." Developers told me that it isn't a matter of just submitting an application to the appropriate department and requesting for a license. Instead, they have to work with a traditional publishing house—yes, those that publish books and other literature—which will apply for the license on the developer's behalf. If the license is awarded, developers will have to send monthly reports to this publishing house.
You have to work with a print publisher. Then work with a games publisher. I don't even know what to say.
Garner explained that this is why Another Indie has moved its operations from China to Taipei. "I'm an indie publisher that was in China, and now lives in Taiwan so that I can do things. I mean, the reason why we did it was mainly because we need access to the internet. It was just a case of like, well, how can I run a publishing company when I suddenly can't upload my trailer to YouTube, or things like that?
It's only natural for a Chinese or China-based games publisher to want to look towards the international market. But local restrictions can make it impossible to use tools and platforms that the game developers and publishers elsewhere in the world rely on on a daily basis. So much so Another Indie had to move out of mainland China just to be able to function as an international publisher.
12:00 Manos Vezos Reading List
One thought on "Reading List | 2020/44"
Pingback: Reading List | 2020/47 – The Vez


Sentencing in Federal Courts is guided by the Federal Sentencing Guidelines, which Congress enacted, inter alia to promote uniformity in Sentencing.
One of the problems associated with achieving uniformity in sentencing is that prosecutors have wide discretion to charge or not charge an offense. Imagine that every armed robbery resulted in a seven-year sentence. A serial offender, who is believed by the prosecutor to have committed 5 crimes could get a sentence between 7 and 35 years depending on which crimes the U.S. Attorney chose to prosecute.
Police officers have awesome influence, too. Suppose a undercover cop establishes a relationship with a drug dealer. He can buy an ounce or two. He will usually keep at it until he makes a big enough purchase to hammer the defendant.
Once the relevant conduct is determined by the court, the sentence is determined by looking on a matrix on which one axis is the offense and the other is the offender characteristics.
What is the relevant conduct for Scooter's obstruction of justice? May I suggests that it is Disclosure of Information Identifying a Covert Agent.
(2) 25, if the information was disclosed by a person with authorized access only to other classified information.
Obviously, Libby had authorized access to classified information identifying a covert agent. Thus, he starts off with a base level of 30. If the court finds that this is the relevant conduct, and assuming that Scooter was as clean as a whistle before this episode, then he is looking at a sentence of 97-121 months, or roughly 8-10 years. About 15% of that comes off for good behavior, but, even still, Libby is looking at real time.
if the offense involved obstructing the investigation or prosecution of a criminal offense, apply §2X3.1 (Accessory After the Fact) in respect to that criminal offense, if the resulting offense level is greater than that determined above.
Let's look at the Accessory After the Fact calculation.
The accessory after the fact guideline provides that the Base Offense Level is 6 levels lower than the underlying offense. If the base level for the underlying offense, Disclosing Information Identifying a Covert Agent, is 30, as seen above, then Scooter starts off with a Base Offense Level of 24.
Again, reference to the matrix shows that he's looking at 51-63 months.
There are serious reasons for concluding that Libby's conduct was at the upper range of the guideline, since, after all, we are talking about silencing a critic of the Administration who busted Cheney for misleading the country into war, with the result that an undercover counter-proliferation program was terminated.
The bottom line here is that Libby is facing a tough choice. He can play ball with Fitzgerald, and substantially reduce his sentence. Or he can prepare to take a 5-10 year trip to the pokey. He can hope for a pardon but if he puts his eggs in that basket, he is risking being an absent father during the next decade of his children's life.
Lots of folk are figuring that Bush's loyalty to friends will result in a pardon. Big Mitch doesn't believe that it is wise to rely on the loyalty of a narcissistic sociopath like Bush. Even if I am wrong, a pardon probably wouldn't come until the end of Dubya's term of office, nearly two years off. There's a better than average chance that Libby will have to do a year and a half before that happens.
Keep this in mind when you hear talking heads saying that Libby is realistically facing a sentence of a year or so.
There are now twenty five Holocaust Museums in big citires around the country. Are you one of the people bitching about the fact that the American Taxpayers are footing the bill for them?
If now, and even so, have you thought that just maybe your attitude about this loyal patriot stems from an inherent anti-semitism?
What's a 100 million dollars between friends?
Is this being tape recorded?


text:
Geografia
 Proença-a-Nova –  comune portoghese situato nel distretto di Castelo Branco

Persone
 Pedro Proença (1970) – ex arbitro di calcio portoghese
 Raul Proença (1884-1941) – filosofo, giornalista e scrittore portoghese

Pagine correlate
 De Proença

redpajama_set_name: RedPajamaWikipedia


text:
about philosophy, business, art and science
PERSIAN LESSONS CONQUERS THE WORLD: interview with director Vadim Perelman
Author: Natalia Matsenko
Posted: 23.09.2021
3 minutes for reading
STATE BANK AND ART: the beauty of Oleg Tistol's stereotypes
Share material
The collecting of art objects by banks has a long history, pursuing different goals – investing, creating and maintaining the desired image, fostering corporate values in the team. The rule of one of the world's leading corporate collectors, Deutsche Bank, is "Art works".
The names that appear in these collections are carefully selected among the best, so that in ten and fifty years they do not lose their relevance. In Ukraine, the history of corporate collections is still very new, but more and more companies, including state-owned ones, are already joining it, opening their premises for artists and cultural expansion.
The exhibition of one of the most famous masters, Oleg Tistol, will be held in the building of the Kiev bank.
Oleg Tistol is one of the key representatives of the "new wave" in Ukrainian art and one of those who continue to experiment, look for new themes and techniques. At the same time, the artist remains faithful to the principle of "fighting for the beauty of the stereotype", proclaimed at the beginning of his career. A champion of European values and the European path of the country, the artist says, "Over the course of 30 years with observing the development of contemporary art in Ukraine, it is easy to come to the conclusion that the only product of a sufficiently high level, which invariably ended up for export, were works of contemporary art. The artists remained stubborn and fanatical "shadowy smugglers", adequately representing the culture of their state on various world platforms. Perhaps, now is the time to step out of the shadows".
Chinese, 200×300, canvas, acrylic, 2020
Europe is the first large personal exhibition of Tistol in Kiev in many years, which has been awaited for a long time.
"The exhibition of paintings in the premises of a bank is a challenge, that not every artist and curator can cope with. Marble walls, crystal lamps, complex architecture, layering in the interior of traces of different eras. However, Tistol accepts this challenge and brilliantly fills the space, emphasizing its essence, with its inherent subtle irony," notes Marianna Djulay, the curator of the project.
The artist has a tendency to analyze stereotypes and play with clichés. His works celebrate aesthetic hooliganism, and at the same time – sincerity. And thoroughness is combined with lightness of gestures and constant search.
This exhibition is an excursion into the history and modern life of the country, its priorities and values, through the prism of the artist's vision. The quintessence of his optics, that image of Europe and Ukraine, as its full-fledged component, which Tistol sees, reflects and promotes in every possible way.
The exhibition is open for visitors until 24.12 at the address Ukraine, Kiev, 127 Antonovicha street, Ukreximbank
Ararat – 21. № 1, 100×250, canvas, acrylic, oil, 2021
By joining the Huxleў friends club, you support philosophy, science and art
Join the friends club
Popular from category
BRITISH ARTIST DAMIEN HIRST: from death to life
UKRAINIAN CONSTRUCTIVISM: a multimedia Danish-Ukrainian project of contemporary art dedicated to the architecture of the 1920s – 1930s
VIRTUAL MUSEUM OF CONTEMPORARY UKRAINIAN ART: protection of the rights of stereotypes by Marina Skugareva
Virtual Museum of Contemporary Ukrainian Art: Peter Bevza. "Our path is a search for balance"
VIRTUAL MUSEUM OF CONTEMPORARY UKRAINIAN ART: Borys Firtsak's "breed"
UKRAINE-SKETCHES: Oksana Stratiychuk is an artist from Kiev about the civic consciousness of Ukrainians, the riddle of Ivano-Frankivsk and the labyrinth of the Minotaur
Our mission Influence leaders' thinking, value perspectives and actions through words and art.
For joint projects editor@huxley.media
For cooperation with authors chiefeditor@huxley.media
© Huxleў - almanac about philosophy, business, art and science.


text:
Бхатти — пакистанская фамилия. Известные носители:
 Бхатти, Омер (род. 1985) — популярный певец, рэпер, танцор.
 Бхатти, Раджа Азиз (1928—1965) — пакистанский военачальник.
 Бхатти, Шахбаз (1968—2011) — пакистанский государственный деятель.


text:
Q: 'MasterViewController' does not have a member named 'managedContextObject' I am just trying to learn how to do a master-detail app with a tutorial (good tutorial links more than welcome).  As I was editing the AppDelegate.swift file, I noticed two errors which I thought was strange since they occurred in the APple provided code.
//
//  AppDelegate.swift
//  SplitRes
//
//  Created by  on 1/13/15.
//  Copyright  All rights reserved.
//

import UIKit
import CoreData

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, UISplitViewControllerDelegate {

var window: UIWindow?

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.
    let splitViewController = self.window!.rootViewController as UISplitViewController
    let navigationController = splitViewController.viewControllers[splitViewController.viewControllers.count-1] as UINavigationController
    navigationController.topViewController.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem()
    splitViewController.delegate = self

    let masterNavigationController = splitViewController.viewControllers[0] as UINavigationController
    let controller = masterNavigationController.topViewController as MasterViewController
    controller.managedObjectContext = self.managedObjectContext
    return true
}

func applicationWillResignActive(application: UIApplication) {
    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}

func applicationDidEnterBackground(application: UIApplication) {
    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}

func applicationWillEnterForeground(application: UIApplication) {
    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}

func applicationDidBecomeActive(application: UIApplication) {
    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}

func applicationWillTerminate(application: UIApplication) {
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
    // Saves changes in the application's managed object context before the application terminates.
    self.saveContext()
}

// MARK: - Split view

func splitViewController(splitViewController: UISplitViewController, collapseSecondaryViewController secondaryViewController:UIViewController!, ontoPrimaryViewController primaryViewController:UIViewController!) -> Bool {
    if let secondaryAsNavController = secondaryViewController as? UINavigationController {
        if let topAsDetailController = secondaryAsNavController.topViewController as? DetailViewController {
            if topAsDetailController.detailItem == nil {
                // Return true to indicate that we have handled the collapse by doing nothing; the secondary controller will be discarded.
                return true
            }
        }
    }
    return false
}
// MARK: - Core Data stack

lazy var applicationDocumentsDirectory: NSURL = {
    // The directory the application uses to store the Core Data store file. This code uses a directory named "jcv.SplitRes" in the application's documents Application Support directory.
    let urls = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)
    return urls[urls.count-1] as NSURL
}()

lazy var managedObjectModel: NSManagedObjectModel = {
    // The managed object model for the application. This property is not optional. It is a fatal error for the application not to be able to find and load its model.
    let modelURL = NSBundle.mainBundle().URLForResource("SplitRes", withExtension: "momd")!
    return NSManagedObjectModel(contentsOfURL: modelURL)!
}()

lazy var persistentStoreCoordinator: NSPersistentStoreCoordinator? = {
    // The persistent store coordinator for the application. This implementation creates and return a coordinator, having added the store for the application to it. This property is optional since there are legitimate error conditions that could cause the creation of the store to fail.
    // Create the coordinator and store
    var coordinator: NSPersistentStoreCoordinator? = NSPersistentStoreCoordinator(managedObjectModel: self.managedObjectModel)
    let url = self.applicationDocumentsDirectory.URLByAppendingPathComponent("SplitRes.sqlite")
    var error: NSError? = nil
    var failureReason = "There was an error creating or loading the application's saved data."
    if coordinator!.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: nil, error: &error) == nil {
        coordinator = nil
        // Report any error we got.
        let dict = NSMutableDictionary()
        dict[NSLocalizedDescriptionKey] = "Failed to initialize the application's saved data"
        dict[NSLocalizedFailureReasonErrorKey] = failureReason
        dict[NSUnderlyingErrorKey] = error
        error = NSError(domain: "YOUR_ERROR_DOMAIN", code: 9999, userInfo: dict)
        // Replace this with code to handle the error appropriately.
        // abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
        NSLog("Unresolved error \(error), \(error!.userInfo)")
        abort()
    }

    return coordinator
}()

lazy var managedObjectContext: NSManagedObjectContext? = {
    // Returns the managed object context for the application (which is already bound to the persistent store coordinator for the application.) This property is optional since there are legitimate error conditions that could cause the creation of the context to fail.
    let coordinator = self.persistentStoreCoordinator
    if coordinator == nil {
        return nil
    }
    var managedObjectContext = NSManagedObjectContext()
    managedObjectContext.persistentStoreCoordinator = coordinator
    return managedObjectContext
}()

// MARK: - Core Data Saving support

func saveContext () {
    if let moc = self.managedObjectContext {
        var error: NSError? = nil
        if moc.hasChanges && !moc.save(&error) {
            // Replace this implementation with code to handle the error appropriately.
            // abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
            NSLog("Unresolved error \(error), \(error!.userInfo)")
            abort()
        }
    }
}

}
This line:
controller.managedObjectContext = self.managedObjectContext

produces the error mentioned as the subject of this question.  I've googled but cannot find any answers and am confused as to why this boilerplate code would provide an error.
The MasterViewController.swift:
//
//  MasterViewController.swift
//  SplitRes
//
//  Created by J on 1/13/15.
//   All rights reserved.
//

import UIKit
import CoreData

class MasterViewController: UITableViewController, NSFetchedResultsControllerDelegate {

var restaurantNames: [String]?
var restaurantDetails: [String]?

var detailViewController: DetailViewController? = nil
var objects = NSMutableArray()

//var detailViewController: DetailViewController? = nil
//var managedObjectContext: NSManagedObjectContext? = nil

override func awakeFromNib() {
    super.awakeFromNib()
    if UIDevice.currentDevice().userInterfaceIdiom == .Pad {
        self.clearsSelectionOnViewWillAppear = false
        self.preferredContentSize = CGSize(width: 320.0, height: 600.0)
    }
}

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    restaurantNames = ["Joe's Taco Hut","Tom's Rib Shack","Betty's Corner Food","Jon Dough's Food","Luke's Dogs"]
    restaurantDetails = ["Mexican - $ - *","BBQ - $$ - **","American - $$$ - ***","Bakery - $$ - ****","Fast Food - $ *"]

    /*
    self.navigationItem.leftBarButtonItem = self.editButtonItem()

    let addButton = UIBarButtonItem(barButtonSystemItem: .Add, target: self, action: "insertNewObject:")
    self.navigationItem.rightBarButtonItem = addButton
    */

    if let split = self.splitViewController {
        let controllers = split.viewControllers
        detailViewController = controllers[controllers.count-1].topViewController as? DetailViewController
    }
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

func insertNewObject(sender: AnyObject) {
    let context = self.fetchedResultsController.managedObjectContext
    let entity = self.fetchedResultsController.fetchRequest.entity!
    let newManagedObject = NSEntityDescription.insertNewObjectForEntityForName(entity.name!, inManagedObjectContext: context) as NSManagedObject

    // If appropriate, configure the new managed object.
    // Normally you should use accessor methods, but using KVC here avoids the need to add a custom class to the template.
    newManagedObject.setValue(NSDate(), forKey: "timeStamp")

    // Save the context.
    var error: NSError? = nil
    if !context.save(&error) {
        // Replace this implementation with code to handle the error appropriately.
        // abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
        //println("Unresolved error \(error), \(error.userInfo)")
        abort()
    }
}

// MARK: - Segues

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "showDetail" {
        if let indexPath = self.tableView.indexPathForSelectedRow() {
        let object = self.fetchedResultsController.objectAtIndexPath(indexPath) as NSManagedObject
            let controller = (segue.destinationViewController as UINavigationController).topViewController as DetailViewController
            controller.detailItem = object
            controller.navigationItem.leftBarButtonItem = self.splitViewController?.displayModeButtonItem()
            controller.navigationItem.leftItemsSupplementBackButton = true
        }
    }
}

// MARK: - Table View

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    //return self.fetchedResultsController.sections?.count ?? 0
    return 1
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    //let sectionInfo = self.fetchedResultsController.sections![section] as NSFetchedResultsSectionInfo
    return restaurantNames!.count
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCellWithIdentifier("Cell",
        forIndexPath: indexPath) as UITableViewCell

    cell.textLabel!.text = restaurantNames![indexPath.row]
    return cell
}

/*
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell
    self.configureCell(cell, atIndexPath: indexPath)
    return cell
}
*/

override func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
    // Return false if you do not want the specified item to be editable.
    return true
}

override func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
    if editingStyle == .Delete {
        let context = self.fetchedResultsController.managedObjectContext
        context.deleteObject(self.fetchedResultsController.objectAtIndexPath(indexPath) as NSManagedObject)

        var error: NSError? = nil
        if !context.save(&error) {
            // Replace this implementation with code to handle the error appropriately.
            // abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
            //println("Unresolved error \(error), \(error.userInfo)")
            abort()
        }
    }
}

func configureCell(cell: UITableViewCell, atIndexPath indexPath: NSIndexPath) {
    let object = self.fetchedResultsController.objectAtIndexPath(indexPath) as NSManagedObject
    cell.textLabel!.text = object.valueForKey("timeStamp")!.description
}

// MARK: - Fetched results controller

var fetchedResultsController: NSFetchedResultsController {
    if _fetchedResultsController != nil {
        return _fetchedResultsController!
    }

    let fetchRequest = NSFetchRequest()
    // Edit the entity name as appropriate.
    let entity = NSEntityDescription.entityForName("Event", inManagedObjectContext: selfmanagedObjectContext!)
    fetchRequest.entity = entity

    // Set the batch size to a suitable number.
    fetchRequest.fetchBatchSize = 20

    // Edit the sort key as appropriate.
    let sortDescriptor = NSSortDescriptor(key: "timeStamp", ascending: false)
    let sortDescriptors = [sortDescriptor]

    fetchRequest.sortDescriptors = [sortDescriptor]

    // Edit the section name key path and cache name if appropriate.
    // nil for section name key path means "no sections".

    let aFetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: self.managedObjectContext!, sectionNameKeyPath: nil, cacheName: "Master")
    aFetchedResultsController.delegate = self
    _fetchedResultsController = aFetchedResultsController

    var error: NSError? = nil
    if !_fetchedResultsController!.performFetch(&error) {
         // Replace this implementation with code to handle the error appropriately.
         // abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
         //println("Unresolved error \(error), \(error.userInfo)")
         abort()
    }

    return _fetchedResultsController!
}
var _fetchedResultsController: NSFetchedResultsController? = nil

func controllerWillChangeContent(controller: NSFetchedResultsController) {
    self.tableView.beginUpdates()
}

func controller(controller: NSFetchedResultsController, didChangeSection sectionInfo: NSFetchedResultsSectionInfo, atIndex sectionIndex: Int, forChangeType type: NSFetchedResultsChangeType) {
    switch type {
        case .Insert:
            self.tableView.insertSections(NSIndexSet(index: sectionIndex), withRowAnimation: .Fade)
        case .Delete:
            self.tableView.deleteSections(NSIndexSet(index: sectionIndex), withRowAnimation: .Fade)
        default:
            return
    }
}

func controller(controller: NSFetchedResultsController, didChangeObject anObject: AnyObject, atIndexPath indexPath: NSIndexPath?, forChangeType type: NSFetchedResultsChangeType, newIndexPath: NSIndexPath?) {
    switch type {
        case .Insert:
            tableView.insertRowsAtIndexPaths([newIndexPath!], withRowAnimation: .Fade)
        case .Delete:
            tableView.deleteRowsAtIndexPaths([indexPath!], withRowAnimation: .Fade)
        case .Update:
            self.configureCell(tableView.cellForRowAtIndexPath(indexPath!)!, atIndexPath: indexPath!)
        case .Move:
            tableView.deleteRowsAtIndexPaths([indexPath!], withRowAnimation: .Fade)
            tableView.insertRowsAtIndexPaths([newIndexPath!], withRowAnimation: .Fade)
        default:
            return
    }
}

func controllerDidChangeContent(controller: NSFetchedResultsController) {
    self.tableView.endUpdates()
}

/*
 // Implementing the above methods to update the table view in response to individual changes may have performance implications if a large number of changes are made simultaneously. If this proves to be an issue, you can instead just implement controllerDidChangeContent: which notifies the delegate that all section and object changes have been processed.

 func controllerDidChangeContent(controller: NSFetchedResultsController) {
     // In the simplest, most efficient, case, reload the table view.
     self.tableView.reloadData()
 }
 */

}

redpajama_set_name: RedPajamaStackExchange


text:
43% of South Africans use one password across accounts
Study reveals South Africans need to take online safety a lot more seriously.
Safer Internet Day, observed around the globe on Tuesday, bypassed most South Africans.
While the day itself is arbitrary – it could be argued that every day should be safer Internet day – a study by YouGov* released last week shows that awareness campaigns are essential.
Commissioned by Google and conducted online among 1005 internet users, the study shows that 53% of respondents have received phishing emails from people imitating legitimate sources in order to fraudulently gain access to their personal information, including passwords and bank details. A surprisingly
24% of South African internet users admit to having fallen victim to online scams in which they ended up making an upfront payment for a product or service that did not exist.
Surprisingly, despite the fact that more than a quarter (28%) of respondents have had someone gain unauthorised access to their social media and/or email accounts, and that 65% of South Africans are concerned about protecting their financial information (like banking details) online; few South African internet users actually take advantage of readily-available services and safeguards:
43% of South Africans use the same password for most or all of their online services
Only 34% of South Africans use 2-step verification for all their online accounts
A total of 11% of South Africans have no recovery phone number or email address for their online accounts
21% of South Africans update their online passwords less frequently than once every 6 months
26% of South Africans never use tools like Google Security Check-Up to review their security settings
"This is concerning", says Fortune Mgwili-Sibanda who heads up Public Policy and Government Relations at Google South Africa. "This research shows that South Africans are well aware of the dangers that present themselves online, yet so few are proactively using tools available to protect them from online predators."
Internet safety covers a range of areas that go even beyond this study, such as child safety on the internet and the prevention of internet addiction.
"In 2018, we launched Family Link – software that enables parents to supervise their children's' use of the internet," says Mgwili-Sibanda. "We also launched our Digital Wellbeing app that helps users understand their online habits so that technology can help them rather than hinder them in their daily lives. This Safer Internet Day, we want to encourage South Africans to take their online safety more seriously and educate themselves on the tools available out there, such as the Google Security Check-Up and other free tools such as 2 step verification."
*All figures, unless otherwise stated, are from YouGov Plc. Total sample size was 1,005 adults. Fieldwork was undertaken between 27th December 2018 – 10th January 2019. The survey was carried out online. The figures have been weighted and are representative of all South African adults (aged 18+).
Related Topics:cyber securityfeaturedsafer internet day
Google goes fact-checking
for SA elections
ICASA fine-tunes data rules
Cybersecurity is everyone's biz
IoT set to improve authentication
Why business strategy MUST include cybersecurity
Three years ago, a Tshwane computer engineer tracked down the "lost" first Apollo space flight guidance computer. ARTHUR GOLDSTUCK retells the story on Apollo 11's 50th anniversary.
It's not often that a YouTube video on a technical topic gives one goosebumps. And it's not often that someone unpacking a computer makes history.
Francois Rautenbach, a computer hardware and software engineer from Tshwane, achieved both with a series of videos he quietly posted on YouTube in 2016, and shared by Gadget.
Flight AS-202 lifts off on 25 August 1966.
It showed the "unboxing" of a batch of computer modules that had been found in a pile of scrap metal 40 years ago and kept in storage ever since. Painstaking gathering of a wide range of evidence, from documents to archived films, had convinced Rautenbach he had tracked down the very first Guidance and Navigation Control computer, used on a test flight of the Saturn 1B rocket and the Apollo Command and Service Modules.
The Rope Memory Modules from Flight AS-202's Guidance Computer.
Apollo-Saturn 202, or Flight AS-202, as it was officially called, was the first to use an onboard computer – the same model that would eventually take Apollo 11 to the moon. Rautenbach argued that the computer on AS-202 was also the world's first microcomputer. That title had been claimed for several computers made in later years, from the Datapoint 2200 built by CTC in 1970 to the Altair 8800 designed in 1974. The AS-202 flight computer goes back to the middle of the previous decade.
The Apollo lunar module, flown to the moon using the same Guidance Computer model that had been successfully tested on Flight AS-202.
His video succinctly introduced the story: "On 25th August 1966, a very special computer was launched into space onboard Apollo flight AS-202. This was the first computer to use integrated circuits and the first release of the computer that took the astronauts to the moon. Until recently, the software for the Block 1 ACG (Apollo Guidance Computer) was thought to be lost…"
One can be forgiven for being sceptical, then, when he appeared on screen for the first time to say, "I've got here with me the software for the first microcomputer."
Then he unwrapped the first package and says: "Guys, these modules contain the software for the first microcomputer that was ever built, that was ever used."
The goosebumps moment came when he revealed the NASA serial number on a device called a Rope Memory Module, and declared: "These modules are the authentic flight AS-202 software modules. These were found on a rubbish dump, on a scrap metal heap, about 40 years ago … and we are going to extract the software from this module."
In a series of three videos, he extracted the software, showed how the computer was constructed, and used a hospital X-Ray machine to inspect its insides. The third video started with the kind of phrase that often sets off the hoax-detectors in social media: "Okay, so you guys won't believe what I've been doing today." But, in this case, it was almost unbelievable as Rautenbach took the viewer through a physical inspection of the first Apollo guidance computer.
How did an engineer from Tshwane stumble upon one of the great treasures of the computer age? He tended to avoid the limelight, and described himself as "a hardware/software engineer who loves working on high-velocity projects and leading small teams of motivated individuals".
In an interview with Gadget, he said: "I am the perpetual hacker always looking for a new challenge or problem to solve. I have experience in designing digital hardware and writing everything from embedded firmware to high-level security systems. Much of the work I did over the last five years revolved around building new and creative payment solutions."
The breadth of his work gave him the expertise to investigate, verify, and extract the magic contained in the AS-202 computer. A global network of contacts led him to the forgotten hardware, and that is when the quest began in earnest.
"I got interested in the Apollo Guidance Computer after reading a book by Frank O'Brien (The Apollo Guidance Computer: Architecture and Operation). Most of us grew up with the fallacy that the AGC was less powerful than a basic programmable calculator. I discovered that this was far from the truth and that the AGC was in fact a very powerful and capable computer.
"I started communicating with experts in the field and soon realised that there was a wealth of information available on the AGC and the Apollo space program in general.
"One day I received some photos of AGC Rope Memory modules from a friend in Houston marked 'Flight 202'. After a little googling, I realised that these modules contained the software from Flight AS-202. As I learned more about AS-202, I discovered that this was the first time the AGC was used in an actual flight."
Rautenbach eventually tracked down the source of the photos: a man who had picked up the entire computer, with memory modules, at an auction, as part of a three-ton lot of scrap metal.
"At one point he opened up to me and said he had other modules. He admitted he had a full Apollo guidance computer, and my theory was that it was used to develop the Apollo 11 guidance computer. He sent me more information, and I thought he had THE computer.
"He's got all this junk in his backyard. He started selling stuff on eBay and one day got a visit from the FBI wanting to know where he got it. He was able to find the original invoice and showed it to them and they went away. But it scared him and he didn't want to tell anyone else in the USA what he had. Not being from America was an advantage."
Rautenbach flew to Houston last year, opened the sealed packages and filmed the process.
"This was the first microcomputer. I opened it and played with it. I realised this was the first computer that actually flew. I also found Rope Memory modules that said Flight 202, and he didn't know what that was. I found it was from AS-202, and I said we can extract stuff from this."
Rautenbach paid a deposit to borrow the units and have them sent to South Africa, so that he could extract and rebuild the software. He also made contact with Eldon Hall, leader of the team that developed the Apollo guidance computer and author of the 1966 book, Journey to the Moon: The History of the Apollo Guidance Computer.
The correspondence helped him verify the nature of the "scrap". The Apollo command module from flight AS-202 was restored and is now on permanent display on the USS Hornet, the legendary aircraft carrier used to recover many Apollo command modules and now a museum. However, the computer parts were sold as scrap in 1976. And NASA never preserved a single copy of the software that had been used on its first guidance computer.
Fortunately, a sharp-eyed speculator realised the lot may contain something special. He sold off some of the scrap over the years, until that visit by the FBI. He still preferred to remain nameless.
In August 2016, on the 50th anniversary of the launch of AS-202, Rautenbach quietly began posting the evidence online. He also announced that the raw data he had extracted would be made available to anyone who wished to analyse it.
His videos on the unboxing of the AS-202 computer and the extraction of the software can be viewed on YouTube at http://bit.ly/as202, where he also planned to post instructions for accessing the software.
Arthur Goldstuck is founder of World Wide Worx and editor-in-chief of Gadget.co.za. Follow him on Twitter and Instagram on @art2gee
NASA's description of flight AS-202 can be found at: http://nssdc.gsfc.nasa.gov/nmc/spacecraftDisplay.do?id=APST202
Technical specifications of the Apollo Guidance Computer can be found at: https://en.wikipedia.org/wiki/Apollo_Guidance_Computer
Apollo comes back to Pretoria
Francois Rautenbach pointed out that South Africa played a prominent role during the 93 minutes of flight AS-202: "Pretoria is mentioned no less than three times in the post-flight report. The AS-202 flight actually reached it's highest point above South Africa. The telemetry data from the flight were recorded on computer tape at Hartebeesthoek and later shipped back to NASA."
Homemation creates comfort through smart homes
Home automation is more than just turning the lights on and off, Homemation's Gedaliah Tobias tells BRYAN TURNER
The world is taking interior design notes from the Danish, in a style of living called hygge (pronounced hoo-gah). Its meaning varies from person to person: some see hygge as a warm fire on a cold winter's night, others see it as a cup of hot coffee in the morning. The amount of "good feelings" one gets from these relaxing activities depends on what one values as indulgent.
But how does technology fit into this "art of feeling good"?
We asked Homemation marketing manager Gedaliah Tobias to take us through a fully automated home of the future and show us how automation creates comfort and good feelings.
"The house is powered by Control4, which you can think of as the brain of the smart home," says Tobias. "It controls everything from the aircon to smart vacuum cleaners."
The home of the future is secured by a connected lock. It acts like other locks with keypads and includes a key in the event of a power interruption. The keypad is especially useful to those who want to provide temporary access to visitors, staff, or simply kids who might lose their parents' house keys.
"The keypad is especially useful for temporary access," says Tobias. "For example, if you have a garden service that needs to use the home for the day, they can be given a code that only turns off the perimeter alarm beams in the garden for the day and time. If that code is used outside of the day and time range, users can set up alerts for their armed response to be alerted. This type of smart access boosts security."
Once inside, one is greeted with a "scene" – a type of recipe for electronic success. The scene starts by turning on the lights, then by alerting the user to disarm the alarm. After the alarm is disarmed, the user can start another more complicated scene.
"Users can request customised scene buttons," says Tobias. "For example, if I press the 'Dinner call' scene, the lights start to flash in the bedroom, there's an announcement from the smart speakers, the blinds start to come down, the lighting is shifted to the dinner table. Shifting focus with lighting creates a mood to bring the house together for dinner."
Homemation creates these customised scene buttons to enable users to control their homes without having to use another device. In addition to scene buttons, there are several ways to control the smart home.
"Everything in the smart home is controllable from your phone, the touchscreens around the house, the TV, and the dedicated remote control. Everyone is different, so having multiple ways to control the house is a huge value add."
We ask Tobias where Homemation recommends non-smart home users should start on their smart home journey.
"Before anything, the Control4 infrastructure needs to be set up. This involves a lot of communications and electrical cabling to be run to different areas of the home to enable connectivity throughout the home. After the infrastructure is set up, the system is ready for smart home devices, like lighting and sound."
"For new smart home users, the best bang for their buck would be to start with lighting once the infrastructure is set up. Taking it one step at a time is wise."
• For more information, visit https://www.homemation.co.za/


The 36″ Balcony Table, especially when paired with Adirondack Balcony Chairs, is great for small decks, patios, or balconies where space is limited. Alternatively, place several table and chair sets in a larger area to create a lovely space for outdoor gatherings.
CLICK HERE For Matching Adirondack Balcony Chair.
The 36" Balcony Table, especially when paired with Adirondack Balcony Chairs, is great for small decks, patios, or balconies where space is limited. Alternatively, place several table and chair sets in a larger area to create a lovely space for outdoor gatherings.
Founded in 1990 Luxcraft began as a small business in the corner of a barn, exclusively manufacturing outdoor wood furniture. In the years that followed, as Luxcraft's product line expanded to include porch swings, rocking chairs, rocker gliders and adirondack chairs, our facilities and dealer base grew accordingly. Flash forward to present day and you'll find our products being made in a 56,000 square-foot shop before being distributed to hundreds of dealers throughout the US and Canad a.
So what distinguishes LuxCraft from other outdoor product manufacturers? Our first priority is quality, and all structures are built to last. With 60,000 square feet of warehouse space we stock over 30,000 items for immediate shipment year round.
Although LuxCraft is now operating on a much larger scale, our core values remain the same. Each transaction is handled with integrity and focus on customer service. We build our products with emphasis on durability and longevity, then price it accordingly. Best of all, LuxCraft products are made right here in America so buying our products you're not only improving your outdoor space, but boosting the US economy as well.
Great product. Extremely robust and will definitely last many years. Worth the money that is spent by not having to get new outdoor furniture every 2-3 years, as we had been doing.


text:
from future import standard_library
standard_library.install_aliases()
from past.builtins import basestring
from builtins import object
import logging
from io import StringIO

from pyrad.packet import AccessRequest, AccessAccept, AccessReject
from pyrad.client import Client, Timeout
from pyrad.dictionary import Dictionary

from django.conf import settings
#Handle custom user models
from django.contrib.auth import get_user_model
from django.contrib.auth.models import Group
User = get_user_model()

DICTIONARY = u"""
ATTRIBUTE   User-Name       1   string
ATTRIBUTE   User-Password       2   string
ATTRIBUTE   CHAP-Password       3   octets
ATTRIBUTE   NAS-IP-Address      4   ipaddr
ATTRIBUTE   NAS-Port        5   integer
ATTRIBUTE   Service-Type        6   integer
ATTRIBUTE   Framed-Protocol     7   integer
ATTRIBUTE   Framed-IP-Address   8   ipaddr
ATTRIBUTE   Framed-IP-Netmask   9   ipaddr
ATTRIBUTE   Framed-Routing      10  integer
ATTRIBUTE   Filter-Id       11  string
ATTRIBUTE   Framed-MTU      12  integer
ATTRIBUTE   Framed-Compression  13  integer
ATTRIBUTE   Login-IP-Host       14  ipaddr
ATTRIBUTE   Login-Service       15  integer
ATTRIBUTE   Login-TCP-Port      16  integer
ATTRIBUTE   Reply-Message       18  string
ATTRIBUTE   Callback-Number     19  string
ATTRIBUTE   Callback-Id     20  string
ATTRIBUTE   Framed-Route        22  string
ATTRIBUTE   Framed-IPX-Network  23  ipaddr
ATTRIBUTE   State           24  octets
ATTRIBUTE   Class           25  octets
ATTRIBUTE   Vendor-Specific     26  octets
ATTRIBUTE   Session-Timeout     27  integer
ATTRIBUTE   Idle-Timeout        28  integer
ATTRIBUTE   Termination-Action  29  integer
ATTRIBUTE   Called-Station-Id   30  string
ATTRIBUTE   Calling-Station-Id  31  string
ATTRIBUTE   NAS-Identifier      32  string
ATTRIBUTE   Proxy-State     33  octets
ATTRIBUTE   Login-LAT-Service   34  string
ATTRIBUTE   Login-LAT-Node      35  string
ATTRIBUTE   Login-LAT-Group     36  octets
ATTRIBUTE   Framed-AppleTalk-Link   37  integer
ATTRIBUTE   Framed-AppleTalk-Network 38 integer
ATTRIBUTE   Framed-AppleTalk-Zone   39  string
"""

REALM_SEPARATOR = '@'

class RADIUSBackend(object):
    """
    Standard RADIUS authentication backend for Django. Uses the server details
    specified in settings.py (RADIUS_SERVER, RADIUS_PORT and RADIUS_SECRET).
    """
    supports_anonymous_user = False
    supports_object_permissions = False

    def _get_dictionary(self):
        """
        Get the pyrad Dictionary object which will contain our RADIUS user's
        attributes. Fakes a file-like object using StringIO.
        """
        return Dictionary(StringIO(DICTIONARY))

    def _get_auth_packet(self, username, password, client):
        """
        Get the pyrad authentication packet for the username/password and the
        given pyrad client.
        """
        pkt = client.CreateAuthPacket(code=AccessRequest,
                                      User_Name=username)
        pkt["User-Password"] = pkt.PwCrypt(password)
        pkt["NAS-Identifier"] = 'django-radius'
        for key, val in list(getattr(settings, 'RADIUS_ATTRIBUTES', {}).items()):
            pkt[key] = val
        return pkt

    def _get_client(self, server):
        """
        Get the pyrad client for a given server. RADIUS server is described by
        a 3-tuple: (<hostname>, <port>, <secret>).
        """
        return Client(
            server=server[0],
            authport=server[1],
            secret=server[2],
            dict=self._get_dictionary(),
        )

    def _get_server_from_settings(self):
        """
        Get the RADIUS server details from the settings file.
        """
        return (
            settings.RADIUS_SERVER,
            settings.RADIUS_PORT,
            settings.RADIUS_SECRET.encode('utf-8'),
        )

    def _perform_radius_auth(self, client, packet):
        """
        Perform the actual radius authentication by passing the given packet
        to the server which `client` is bound to.
        Returns a tuple (list of groups, is_staff, is_superuser) or None depending on whether the user is authenticated
        successfully.
        """
        try:
            reply = client.SendPacket(packet)
        except Timeout as e:
            logging.error("RADIUS timeout occurred contacting %s:%s" % (
                client.server, client.authport))
            return None
        except Exception as e:
            logging.error("RADIUS error: %s" % e)
            return None

        if reply.code == AccessReject:
            logging.warning("RADIUS access rejected for user '%s'" % (
                packet['User-Name']))
            return None
        elif reply.code != AccessAccept:
            logging.error("RADIUS access error for user '%s' (code %s)" % (
                packet['User-Name'], reply.code))
            return None

        logging.info("RADIUS access granted for user '%s'" % (
            packet['User-Name']))

        if not "Class" in reply.keys():
            return [], False, False

        groups = []
        is_staff = False
        is_superuser = False

        app_class_prefix = getattr(settings, 'RADIUS_CLASS_APP_PREFIX', '')
        group_class_prefix = app_class_prefix + "group="
        role_class_prefix = app_class_prefix + "role="

        for cl in reply['Class']:
            cl = cl.decode("utf-8")
            if cl.lower().find(group_class_prefix) == 0:
                groups.append(cl[len(group_class_prefix):])
            elif cl.lower().find(role_class_prefix) == 0:
                role = cl[len(role_class_prefix):]
                if role == "staff":
                    is_staff = True
                elif role == "superuser":
                    is_superuser = True
                else:
                    logging.warning("RADIUS Attribute Class contains unknown role '%s'. Only roles 'staff' and 'superuser' are allowed" % cl)
        return groups, is_staff, is_superuser

    def _radius_auth(self, server, username, password):
        """
        Authenticate the given username/password against the RADIUS server
        described by `server`.
        """
        client = self._get_client(server)
        packet = self._get_auth_packet(username, password, client)
        return self._perform_radius_auth(client, packet)

    def get_django_user(self, username, password=None, groups=[], is_staff=False, is_superuser=False):
        """
        Get the Django user with the given username, or create one if it
        doesn't already exist. If `password` is given, then set the user's
        password to that (regardless of whether the user was created or not).
        """
        try:
            user = User.objects.get(username=username)
        except User.DoesNotExist:
            user = User(username=username)

        # if RADIUS_REMOTE_ROLES is not set, configure it to the default value
        # of versions <= 1.4.0
        if not hasattr(settings, "RADIUS_REMOTE_ROLES"):
            settings.RADIUS_REMOTE_ROLES = True

        if settings.RADIUS_REMOTE_ROLES:
            user.is_staff = is_staff
            user.is_superuser = is_superuser
        if password is not None:
            user.set_password(password)

        user.save()
        user.groups.set(groups)
        return user

    def get_user_groups(self, group_names):
        groups = Group.objects.filter(name__in=group_names)
        if len(groups) != len(group_names):
            local_group_names = [g.name for g in groups]
            logging.warning("RADIUS reply contains %d user groups (%s), but only %d (%s) found" % (
                len(group_names), ", ".join(group_names), len(groups), ", ".join(local_group_names)))
        return groups

    def authenticate(self, request, username=None, password=None):
        """
        Check credentials against RADIUS server and return a User object or
        None.
        """

        server = self._get_server_from_settings()
        result = self._radius_auth(server, username, password)

        if result:
            group_names, is_staff, is_superuser = result
            groups = self.get_user_groups(group_names)
            return self.get_django_user(username, password, groups, is_staff, is_superuser)

        return None

    def get_user(self, user_id):
        """
        Get the user with the ID of `user_id`. Authentication backends must
        implement this method.
        """
        try:
            return User.objects.get(pk=user_id)
        except User.DoesNotExist:
            return None

class RADIUSRealmBackend(RADIUSBackend):
    """
    Advanced realm-based RADIUS backend. Authenticates users with a username,
    password and a realm (simply a unique string). The server to authenticate
    with is defined by the result of calling get_server(realm) on an instance
    of this class.

    By default, this class uses the RADIUS server specified in the settings
    file, regardless of the realm. Subclasses should override the `get_server`
    method to provide their own logic. The method should return a 3-tuple:
    (<hostname>, <port>, <secret>).
    """
    def get_server(self, realm):
        """
        Get the details of the RADIUS server to authenticate users of the given
        realm.

        Returns a 3-tuple (<hostname>, <port>, <secret>). Base implementation
        always returns the RADIUS server specified in the main settings file,
        and should be overridden.
        """
        return self._get_server_from_settings()

    def construct_full_username(self, username, realm):
        """
        Construct a unique username for a user, given their normal username and
        realm. This is to avoid conflicts in the Django auth app, as usernames
        must be unique.

        By default, returns a string in the format <username>@<realm>.
        """
        return '%s@%s' % (username, realm)

    def authenticate(self, request, username=None, password=None, realm=None):
        """
        Check credentials against the RADIUS server identified by `realm` and
        return a User object or None. If no argument is supplied, Django will
        skip this backend and try the next one (as a TypeError will be raised
        and caught).
        """

        server = self.get_server(realm)

        if not server:
            return None

        result = self._radius_auth(server, username, password)

        if result:
            full_username = self.construct_full_username(username, realm)
            group_names, is_staff, is_superuser = result
            groups = self.get_user_groups(group_names)
            return self.get_django_user(full_username, password, groups, is_staff, is_superuser)

        return None

redpajama_set_name: RedPajamaGithub


text:
Saudi-Israeli "axis of evil" being taken down by international alliance
The battle raging at the highest levels of world power is reaching a climax of sorts, with an ongoing operation to take down the governments of Israel and Saudi Arabia and end their control of the petrodollar system, multiple sources agree. The so-called murder of Nazi Muslim Brotherhood agent and Washington Post columnist Jamal Khashoggi at the Saudi Arabian consulate in Turkey was staged to provide cover for this ongoing operation, the sources add.
"This is all about the financial survival of certain countries (Israel, Saudi Arabia, and the bankrupt U.S. Corporation)," a CIA source explained.
The overall story as told by CIA, Mossad, Japanese intelligence, and Pentagon sources is as follows: Saudi Crown Prince and de facto head of state Mohammad bin Salman (MBS) was shot and killed in April and replaced with a body double. The people controlling the body double then had their funds frozen in retaliation, with the Khashoggi incident as cover. Now, the satanic Khazarian governments of Israel and Saudi Arabia are fighting for their lives.
So the real reason all the big corporations and government ministers cancelled their planned visits to this week's "Saudi Arabian Davos" investment forum is because the flow of money they were hoping would be poured in their direction has been cut off.
"The global boycott of Saudi Arabia escalates, as Goldman Sachs is forced to stop sending Dina Powell and Germany's Deutsche Bank, and Japanese banks MUFG and Mizuho join the party," was how Pentagon sources described the situation.
"This appears to be a plan to end the petrodollar, the Israeli-Saudi axis of evil, and the fountainhead of terrorism, as many things converge to collapse the old financial system so the new Quantum Financial System and Global Currency Reset can be launched," the sources add.
Confirmation of this can be found in reports that U.S. Treasury Secretary Steven Mnuchin cancelled his planned visit to the Saudi investment forum and will now instead visit Saudi Arabia to attend a "terrorist financing" meeting.
https://www.nytimes.com/2018/10/21/us/politics/steven-mnuchin-saudi-arabia-khashoggi.html
CIA sources also say "Khazarian war criminal Netanyahu is about to take the fall for something big that he is involved with. The U.S. is pulling the plug. Too much pressure is being put on Trump and others very close to him." We assume this will be Netanyahu's involvement with the 9/11 and Fukushima mass murder terror attacks.
We will get back to the Saudi Arabian troubles later in this report, but first we need to explain why the situation in Japan, North Korea, and China is the ultimate reason for the chaos in the Middle East. Members of the cabinet of Japanese Prime Minister Shinzo Abe and Manchu royals both contacted the White Dragon Society (WDS) last week to explain what was really going on. In essence, the Bank of International Settlements (BIS), the central bank for central banks, was given strong warnings to cut off the Zionist/Satanic Rothschild family "or else," the sources say.
As a result, the control of the existing global financial system has changed hands. The Manchu royals say the Rothschilds never controlled more than 8% of the world's gold. Now the Asian secret societies and the U.S. military-industrial complex have agreed to …
… cut off the Zionists' control of the financial system. The West will, in exchange, be given approximately $40 trillion in gold-backed bonds to finance major projects to clean up the planet and create new ecosystems in desert, arctic, and oceanic dead zones, among other things, the sources say. The U.S. military will be turned into a planetary protection force, a big improvement from its current status as enforcer for large Zionist-controlled corporations, they say.
An early first step in this process will be an announcement later this week by Japan's Abe and Chinese President Xi Jinping that the two nations will set up a major joint fund, according to an Abe cabinet source. This fund will be dedicated to cleaning up the environment and dealing with aging societies and low birth rates, the source says. The U.S. military government has agreed not to interfere with this activity, he adds.
However, a lot of fighting still remains to be done before the West also can start this sort of work in earnest, so let us return to the current chaotic situation in the West.
Here, "Germany suspending arms sales may give Trump cover to do the same, and may even lead to a UN arms embargo of Saudi Arabia and then Israel," Pentagon sources say. The U.S. military-industrial complex will be more than compensated for any losses resulting from such an embargo, WDS sources say.
Of course, the Khazarians are not taking this lying down, as can be seen in a huge push against the entire Khashoggi psy-op. For example, as Russia Today noted, "Riyadh doesn't know how Khashoggi was killed or where his body is, Foreign Minister Adel al-Jubeir told Fox News, just one day after his country claimed the journalist was killed in a "fistfight" inside the consulate in Istanbul."
https://www.rt.com/news/441878-saudis-killed-journalist-mistake/
Also, the Khazarian-controlled media is putting out the story that their man MBS is still fully in control of the situation there. However, a member of Abe's cabinet called MBS's long-time lawyer and constant companion to confirm that he was shot twice in the head in April and died instantly.
CIA sources concurred, saying:
"Yes, Bin Salman was taken out. A Khazarian Zionist-controlled double was put in his place. The real Bin Salman was causing too much upheaval for the powers that be. The real MBS purchasing the Leonardo da Vinci painting Salvator Mundi for $450 million did not go over well with the Zionist cabal, as the purchase was made right after the Riyadh Ritz Carlton Hotel shakedown of the corrupt Saudi billionaires who worked directly with/for the Khazarian Zionists. By purchasing the painting, MBS was sending a very direct signal—the real meaning of which only the Zionists would understand."
Meanwhile, both U.S. military intelligence and Canadian intelligence sources warned that the Khazarians ("lizards") were going to bring out some hidden technology to try to manipulate public opinion using holograms and "voices." Here is what the Canadian source said:
"Yes, the lizards do not want to lose "the Fed," and yes, they have the tech to make Jesus or whoever they want to talk to you in your head. Not only that—Jesus or whoever will appear in front of you to give you a personal message as well. The only problem with this tech is that the older 'real pot,' naturally grown, prevented this tech from working. This is the reason it was outlawed many years ago, and who knows what Monsanto and Bayer are doing to the pot crops now. Remember that the Earth is in 'lockdown,' so they (the lizards) can't get off the planet and no one can get in to 'pick them up.' No country wants to loan money to the USA Corp. China holds so much land as collateral across America, it's unreal. If the people only knew. Let the chess game continue."
We can confirm from a pot farmer nephew in Canada that yes indeed, even though Canada has legalized pot, they are trying very hard to make sure that only strains that make you dumber are available.
In any case, a retired U.S. military officer said there was widespread agreement among the ranks that it was time to simply hunt down and kill all the Khazarian gangsters, saying, "The Cabal has been using National Security Findings (NSFs) for many years against all their enemies, so perhaps like treatment should now be directed against them by the USN. It is time for the USN to put its foot down and start sanctioning Cabal kingpins who love to pedophile little kids, then torture them and sacrifice them to Baal for more satanic power."
Apart from Israel, Saudi Arabia, and parts of the U.S., the other major Khazarian stronghold that is about to be taken down is the Ukraine. The move to take the control of the 12,000 Ukrainian Orthodox Churches away from the Russian Orthodox Church is the last straw that will provoke Russia into reasserting control there, multiple sources agree.
Here is what a CIA source had to regarding last week's shootout by an "MKUltra-controlled" 18-year-old student at Kerch Polytech College, Crimea:
"1) He had an accomplice. Putin and the FSB know who it is.
2) This was orchestrated by [Ukrainian President] Porky (Poroshenko) with the green light given from [former U.S. Vice President Joe] Biden.
Putin has already made up his mind; Ukraine will come back to mother Russia and the neo-Nazis will be neutralized. Maybe not in that order."
We tried to contact Russian sources through multiple routes about the reported coup attempt against Vladimir Putin and the situation in the Ukraine etc., but met with a complete wall of silence. This sort of communications cutoff most likely means that some kind of military action is imminent.
In a development possibly related to this, Japanese intelligence sources say that many Japanese, Chinese, and other nations' satellites have gone silent and appear to have been hijacked by "the British and the Americans." Secret space program related?
https://benjaminfulford.net/2018/10/22/saudi-israeli-axis-of-evil-being-taken-down-by-international-alliance/
You can actually participate in crippling the Deep State organized criminal cabal, while enjoying healthcare freedom at the same time, by boycotting Big Pharma for good.
Geopolitics101 on Bush Funeral Service Foreshadows A Series of Radical Events


Scottsboro, AL Germicidal Lights | Southern Heating & Cooling Inc.
Germs are something that we always seem to find ourselves stressing about, but what if we told you that you could help decrease the amount of germs in your home by simply doing something you already do. Germicidal lights are one of the easiest ways to clean up your home's air, and the best part is that they are really easy to add to your home.
Our germicidal lights utilize rays of ultraviolet light that are able to eliminate pollutants in your home without being hurtful to humans, so no need to worry about the technology behind our systems. And because it is installed inside your current heating and cooling system's duct work, you can rest assured that the air circulated throughout your home is as healthy as it can be because of these lights.
An effective and simple solution, these lights can greatly decrease the mold, pet dander and bacteria that settle all over our homes, so taking advantage of their perks is almost a no-brainer.
While we aren't often able to keep tabs on the amount or type of germs we're exposed to, we can control the germs we have at home, so why not learn more about how germicidal light systems in Northeast Alabama can improve your indoor air quality. If you have any questions about the systems we carry, just give us a call at 256-574-1300 or arrange an appointment through our online scheduler and we'll help you make your home's air the healthiest it has ever been.
Whenever we think about vehicles we talk about fuel efficiency, so why not talk about efficiency when we talk about our heating and cooling systems? It saves money too. And when you realize that your current HVAC system is likely full of nasty buildup, its efficiency is certainly diminished.
We're here to change that using Healthy Climate® UV Germicidal Lights. Mounted in your system's duct work, they eliminate germs and gross buildup that causes decreased efficiency, while also hurting your air quality. Simply put, it can help save you money and give you healthier air to breathe, both which are amazing things last time we checked.
Controlling the amount of germs in your home just got much less painful with Healthy Climate® UVC Germicidal Lights from Southern Heating & Cooling Inc. in Scottsboro. Not only do these lights easily install into your current HVAC systems duct work, they also are able to change the makeup of numerous contaminants so that they no longer grow or multiply.
The germicidal lights also run independently from your heating and cooling system, so the perks continue even when your system isn't running. Breathe a little easier, and healthier, with the various perks of using germicidal light in Scottsboro.