Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 20,946
» Latest member: blackopsdlc
» Forum threads: 22,092
» Forum posts: 23,059

Full Statistics

Online Users
There are currently 1615 online users.
» 0 Member(s) | 1610 Guest(s)
Applebot, Baidu, Bing, Facebook, Google

Latest Threads
[WoW Retail News] Winds o...
Forum: World of Warcraft
Last Post: xSicKxBot

» Replies: 0
» Views: 12
Digital Sundial 3D Print ...
Forum: Printers & CAD Projects
Last Post: xSicKxBot

» Replies: 0
» Views: 13
Modular Mounting System 3...
Forum: Printers & CAD Projects
Last Post: xSicKxBot

» Replies: 0
» Views: 13
Self-Watering Planter (Sm...
Forum: Printers & CAD Projects
Last Post: xSicKxBot

» Replies: 0
» Views: 14
The $30 3D scanner V7 upd...
Forum: Printers & CAD Projects
Last Post: xSicKxBot

» Replies: 0
» Views: 14
V29 3D Print STL (Downloa...
Forum: Printers & CAD Projects
Last Post: xSicKxBot

» Replies: 0
» Views: 14
Nissan 240Z Kitcard 3D Pr...
Forum: Printers & CAD Projects
Last Post: xSicKxBot

» Replies: 0
» Views: 14
[WoW Retail News] Expecte...
Forum: World of Warcraft
Last Post: xSicKxBot

» Replies: 0
» Views: 19
How to play Rocket Raccoo...
Forum: PC Discussion
Last Post: xSicKxBot

» Replies: 0
» Views: 20
[Combat Arms] Novo Chams....
Forum: PC Mods
Last Post: xSicKxBot

» Replies: 0
» Views: 30

 
  News - Review: GONNER2 – Another Way To Die In An Increasingly Crowded Genre
Posted by: xSicKxBot - 10-24-2020, 08:01 AM - Forum: Nintendo Discussion - No Replies

Review: GONNER2 – Another Way To Die In An Increasingly Crowded Genre


It’s been three years since GoNNER dropped on Switch, a game we thought pretty highly of. Bringing us a challenging 2D platformer with rogue-like mechanics, it told the story of Ikk, our altruistic blob-like hero that set out to help a land-bound whale called Sally. Placing us in a series of procedurally generated levels, no two playthroughs were ever the same. Looking to build upon this winning formula, developer Art In Heart have now released GoNNER2, presenting a slightly more colourful affair than its predecessor with 2-4 player local co-op. It likely won’t appeal to everyone — and the genre isn’t wanting for alternatives on Switch — but this still makes for an enjoyable sequel.

Fans of GoNNER will be pleased to know that GoNNER2 remains just as challenging. That’s made clear from the get-go, when you’re told “Press Jump To Die” instead of the usual “Press A to Start”. Death shall indeed find you, both in the “Game Over” sense and the literal embodiment of the reaper. This time around, Ikk finds himself answering Death’s call, discovering that her lair has conquered by a mysterious presence and it’s up to him to resolve this crisis. There’s little guidance on what to do and no spoken dialogue whatsoever, leaving players to figure out this completely non-linear experience alone.


Entering levels requires you to jump into a snake-like creature’s mouth, finding a second one on the opposite side as your exit. You’ll travel across five different worlds here, each coming with different enemies and features. As an example, one land will be filled with enemy snails and flying eye monsters, but another is completely submerged in water, meaning you can swim as opposed to running and jumping. Defeating every enemy isn’t mandatory to advance but in a lot of occasions, you don’t have much choice.

Ikk’s moveset is quite basic, letting you double jump across to platforms or wall jump consecutively to reach new heights. As your standard attack, he can dash into enemies but Ikk can also pick up weapons. GoNNER2 offers various options to suit different playstyles, ranging from quickfire rifles to heavy hitting sluggers. As you unlock more gear, it becomes available to equip from Death’s lair before starting a new playthrough. Though the platforming works well, weapon aiming does feel imprecise at times and it’s all too tempting to just unload the full clip, hoping your shot finally lands.


You can equip different heads for Ikk, too. Though a standard skull does little more than give Ikk greater screen presence, additional options can be located like “Block Head” to ensure it remains in place if you take a hit, or “Dashing Head” for a second dash attack. To make your playthroughs more customisable, he can also obtain passive abilities that compliment your weapons, such as “XL mags” for increased ammo capacity or “Bouncy” to let bullets ricochet off walls. Consecutive enemy deaths build up a combo multiplier, increasing your overall score and downed enemies drop ammo/coins once defeated.

It only takes one hit for Ikk to lose a heart though, dropping his equipped gear in the process, so proceeding carefully is the order of the day, as evading attacks can prove tricky. To make matters worse, there’s no cooldown either, so enemies can strike again almost immediately upon respawning if they’re close by — something that can prove mighty frustrating. If you run out of hearts entirely, Ikk is revivable if enough coins are scattered nearby, requiring you to spam the jump button to collect them and fill up a meter. If successful, he comes back but if there aren’t enough, that’s your ticket back to the lair.


Predictably, most worlds end with a boss fight, though GoNNER2 is kind and offers access to a shop, using those coins to buy upgrades like new heads, various weapons, and more hearts. It gives you a fighting chance at taking down the upcoming fiend, but these battles are intense, with some turning into challenging bullet hell-style fights. There’s an undeniable satisfaction in beating them, knowing that your repeated deaths and playthroughs have paid off. Like GoNNER, it technically doesn’t take long to reach the end, but staying alive is another question.

After defeating bosses, floating eyes emerge from them and follow you between levels, attacking you where they can. Those eyes cannot be defeated, though attacking back can stun them. Once you’ve defeated three bosses, those eyes open the doorway to your final battle and upon completing this fight, you can return to Death’s lair and try again. Everything is complimented by an appealing visual design, one that’s minimalist yet expressive. Amidst the endless black backgrounds is a colourful contrast and it creates a unique atmosphere, backed up a gentle soundtrack.

Ultimately, flaws such as imprecise weapon aiming and that frustrating ability for enemies to attack instantly following a respawn does take the shine off the experience. The rogue-like/lite landscape on Switch eShop also looks very different to how it did back in 2017, and there’s certainly no shortage of spectacular alternatives in the genre. Nevertheless, GoNNER2 remains a likeable sequel for players who enjoyed the first game.

Conclusion


It takes time to figure out just what you’re doing, but anyone looking for a strong challenge will find a lot to love with GoNNER2. It builds upon the original game’s premise well and by offering co-operative campaign play, adds significant replayability with friends. It’s not a flawless game by any means, and players who prefer a more guided experience would do better to look elsewhere but, those caveats aside, GoNNER2 still makes for a compelling experience that comes recommended, if you’re up for the challenge.



https://www.sickgaming.net/blog/2020/10/...ded-genre/

Print this item

  News - These Metal Gear Solid Air Jordans Are One Of A Kind
Posted by: xSicKxBot - 10-24-2020, 08:01 AM - Forum: Lounge - No Replies

These Metal Gear Solid Air Jordans Are One Of A Kind

Metal Gear Solid left behind a lasting impression on many people who experienced the game when it first launched in 1998. Hideo Kojima's critically acclaimed game has been celebrated since then with official merchandise and fan art, and now a stylish pair of Air Jordans are part of that long list of tributes.

Kong: Skull Island director Jordan Vogt-Roberts commissioned artist Bud Sanfillipo to customize a pair of shoes to celebrate Metal Gear Solid's 22nd Anniversary. Sanfillipo was tasked with recreating the signature art style of series artist Yoji Shinkawa.

The end result is a pair of shoes that would leave any Genome soldier curious about who was leaving behind a stylish pair of footprints.

Continue Reading at GameSpot

https://www.gamespot.com/articles/these-...01-10abi2f

Print this item

  [Tut] How To Kill A Thread In Python?
Posted by: xSicKxBot - 10-24-2020, 02:40 AM - Forum: Python - No Replies

How To Kill A Thread In Python?

Summary: To kill a thread use one of the following methods:

  • Create an Exit_Request flag.
  • Using the multiprocessing Module.
  • Using the trace Module.
  • Using ctypes to raise Exceptions in a thread

Problem: How to kill a thread in Python?

This is one of the most commonly asked questions in Python. Thus, in this article, we are going to address this issue and make sure you have a clear understanding of this topic. Before divining into the topic directly, we will have a look at threading in brief and then move on to our mission-critical question. So without further delay, let the games begin! ? 

Introduction


? What is a Thread?

According to Wikipedia, in computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system. Multiple threads can run concurrently within a single program. For example in a word processor, a background thread may be used for spell-checking while a foreground thread may be used to processes user input (keystrokes ), while yet a third thread may be used to load images from the hard drive, and a fourth thread might be busy doing periodic automatic backups of the file being edited.

  • Therefore, treading in Python is used to run multiple threads that can be tasks or function calls, at the same time. Please note that this doesn’t mean that multiple threads are executed on different CPUs.
  • Python threads do not make the program faster in case it already uses 100 % CPU time. That is probably a part of parallel programming which is not within the scope of this discussion.

Note: Threading in Python is itself an entire topic of discussion. The purpose of this introduction is to just get you acquainted with the idea of threads. It is highly recommended that you have some understanding of threading in Python before diving into the topic of killing the thread.

➥ When do we use Threading in Python?

Threads in Python are used in situations where the execution of a task or function call involves some waiting. An example could be interaction with a service hosted on a webserver. Thus, treading allows Python to execute other code while waiting. 

➥ Example:

import threading
import time print("Printing values from 90 to 100: ")
def loop_thread(): for t in range(90, 101): time.sleep(1) print(t) threading.Thread(target=loop_thread).start()

Output:

Printing values from 90 to 100: 90
91
92
93
94
95
96
97
98
99
100

Now that have an overview of threads, let us dive into our mission-critical question.

Ways To Kill A Thread In Python


Simply put, killing a thread abruptly is a very bad practice unless absolutely required. Having said that, you might want to kill a thread after a certain duration or after some interrupt. So, instead of closing it forcibly, you can kindly ask the thread to go away after ensuring a proper clean up which means:

  • The thread you are trying to kill might be holding a critical resource that must be closed properly.
  • The thread might have created several other threads that must be killed as well before the parent thread can be killed.

Let us understand the numerous ways that help us to do that.

Method 1: Creating An Exit Request Flag


If you are the manager of your own threads, a nice way of handling thread termination is to create an exit flag that each thread checks at regular intervals to know if it is time for it to exit.

Example:

import threading import time def thread_foo(stop): while True: print("THREAD STILL RUNNING!") if exit_flag: break exit_flag = False
t = threading.Thread(target = thread_foo, args =(lambda : exit_flag, )) t.start() time.sleep(0.1) print('Done sleeping! Time to stop the threads.')
exit_flag = True
t.join() print('THREAD TERMINATED!')

Output:


In the above example, we created a function that keeps executing the thread until the program encounters the variable exit_flag = True. As soon as that happens, the thread can be killed using the t.join() method.

➥ Note: join() causes the main thread to wait for your thread to finish. In other words, join() acts as a “hold” on the main thread. It ensures that your thread has completed its execution before the main thread can move forward. In a way, it assures a clean and proper termination of your thread.

Method 2: Using The Multiprocessing Module


As stated in the Python documentation, multiprocessing is a package that supports spawning processes using an API similar to the threading module. Also, killing a process is much safer than killing a thread because threads share global variables and have a dependency, whereas processes are completely independent and exist separate from each other. The multiprocessing module has the terminate() function which is used to kill a process.

Let us have a look at the following example given below to understand how we can use the multiprocessing module to kill the process.

import multiprocessing
import time
def Child_process(): while True: for i in range (20): print ('Process: ', i) time.sleep(0.05)
t = multiprocessing.Process(target = Child_process)
t.start()
time.sleep(0.5)
t.terminate()
print("Child Process successfully terminated")

Output:

Process: 0
Process: 1
Process: 2
Process: 3
Process: 4
Process: 5
Process: 6
Process: 7
Process: 8
Process: 9
Child Process successfully terminated

In the above example after 0.5 seconds the execution of the Child_process was terminated using the terminate() function.

Method 3: Using The trace Module


Another approach to kill a thread is to install trace into the thread that will exit the thread. 

The module given below allows you to kill threads. The class KThread is a drop-in replacement for threading.Thread. It adds the kill() method, which should stop most threads in their tracks.

Disclaimer: The procedure given below has been taken from the following resource: Kill a thread in Python

? KThread.py: A killable Thread implementation

import time
import sys
import trace
import threading class KThread(threading.Thread): """A subclass of threading.Thread, with a kill()
method.""" def __init__(self, *args, **keywords): threading.Thread.__init__(self, *args, **keywords) self.killed = False def start(self): """Start the thread.""" self.__run_backup = self.run self.run = self.__run threading.Thread.start(self) def __run(self): """Hacked run function, which installs the
trace.""" sys.settrace(self.globaltrace) self.__run_backup() self.run = self.__run_backup def globaltrace(self, frame, why, arg): if why == 'call': return self.localtrace else: return None def localtrace(self, frame, why, arg): if self.killed: if why == 'line': raise SystemExit() return self.localtrace def kill(self): self.killed = True # Example Usage
#This illustrates running a function in a separate thread. The thread is killed before the function finishes.
def func(): print('Function started') for i in range(1,100): print(i) time.sleep(0.2) print('Function finished') A = KThread(target=func)
A.start()
time.sleep(1)
A.kill()

Output:

Function started
1
2
3
4
5

Method 4: Using ctypes To Raise Exceptions In A Thread


In cases when you need to kill a thread forcibly, for example while wrapping an external library that is busy for long calls and you want to interrupt it, you can use raise_exc() to raise an arbitrary exception, or call terminate() to raise SystemExit automatically. It uses the unexposed PyThreadState_SetAsyncExc function (via ctypes) to raise an exception in the context of the given thread. 

The following code allows (with some restrictions) to raise an Exception in a Python thread:

Example:

import threading
import inspect
import ctypes
import time def _async_raise(tid, exctype): """raises the exception, performs cleanup if needed""" if not inspect.isclass(exctype): raise TypeError("Only types can be raised (not instances)") res = ctypes.pythonapi.PyThreadState_SetAsyncExc(ctypes.c_long(tid), ctypes.py_object(exctype)) if res == 0: raise ValueError("invalid thread id") elif res != 1: # """if it returns a number greater than one, you're in trouble, # and you should call it again with exc=NULL to revert the effect""" ctypes.pythonapi.PyThreadState_SetAsyncExc(tid, 0) raise SystemError("PyThreadState_SetAsyncExc failed") class Thread(threading.Thread): def _get_my_tid(self): """determines this (self's) thread id""" if not self.is_alive(): raise threading.ThreadError("the thread is not active") # do we have it cached? if hasattr(self, "_thread_id"): return self._thread_id # no, look for it in the _active dict for tid, tobj in threading._active.items(): if tobj is self: self._thread_id = tid return tid raise AssertionError("could not determine the thread's id") def raise_exc(self, exctype): """raises the given exception type in the context of this thread""" _async_raise(self._get_my_tid(), exctype) def terminate(self): """raises SystemExit in the context of the given thread, which should cause the thread to exit silently (unless caught)""" self.raise_exc(SystemExit) def f(): try: while True: for i in range(10000): print(i) time.sleep(0.1) finally: print ("TERMINATING!!!") t = Thread(target = f)
t.start()
time.sleep(0.6)
t.terminate()
t.join()

Output:

0
1
2
3
4
5
TERMINATING!!!

Conclusion


The key takeaways from this article were:

  • What is Thread?
  • Ways to kill a thread in Python:
    • Creating an Exit_Request flag.
    • Using the Multiprocessing Module.
    • Using the trace Module.
    • Using ctypes to raise Exceptions in a thread

Please subscribe and stay tuned for more interesting articles!

References


  1. https://stackoverflow.com/questions/3239...l-a-thread
  2. http://net-informations.com/python/iq/kill.htm
  3. https://pybay.com/site_media/slides/raym...ading.html
  4. http://tomerfiliba.com/recipes/Thread2/

Where to Go From Here?


Enough theory, let’s get some practice!

To become successful in coding, you need to get out there and solve real problems for real people. That’s how you can become a six-figure earner easily. And that’s how you polish the skills you really need in practice. After all, what’s the use of learning theory that nobody ever needs?

Practice projects is how you sharpen your saw in coding!

Do you want to become a code master by focusing on practical code projects that actually earn you money and solve problems for people?

Then become a Python freelance developer! It’s the best way of approaching the task of improving your Python skills—even if you are a complete beginner.

Join my free webinar “How to Build Your High-Income Skill Python” and watch how I grew my coding business online and how you can, too—from the comfort of your own home.

Join the free webinar now!

The post How To Kill A Thread In Python? first appeared on Finxter.



https://www.sickgaming.net/blog/2020/10/...in-python/

Print this item

  (Indie Deal) FREE Ghost Sweeper, ? NBA 2K21 Deal, GalaQuiz
Posted by: xSicKxBot - 10-24-2020, 02:40 AM - Forum: Deals or Specials - No Replies

FREE Ghost Sweeper, ? NBA 2K21 Deal, GalaQuiz

FREEbie Ghost Sweeper
[freebies.indiegala.com]
The "Ghost Sweepers" are here[freebies.indiegala.com]! And ready to kick out the foul monsters!

https://youtu.be/zDuf-F5VZAE

NBA 2K21 at a historical 43% OFF
[www.indiegala.com]
? NBA 2K21 is the latest release in the world-renowned, best-selling NBA 2K series

The 218th GalaQuiz will be LIVE soon, win up to $50:dollars: in GalaCredit!
[www.indiegala.com]
The GalaQuiz will take place in less than 5 minutes from this announcement
Today's GalaQuiz[www.indiegala.com] hints are up. The theme will be White Day Redux. Look forward for an awesome upcoming event.

Stay Inside, Stay Safe and Enjoy Good Games.
Check out IndieGala on Twitter, YouTube & Facebook[www.facebook.com]


https://steamcommunity.com/groups/indieg...2382038191

Print this item

  News - Nintendo Is Permanently Reducing The Price Of Switch Joy-Con
Posted by: xSicKxBot - 10-24-2020, 01:13 AM - Forum: Nintendo Discussion - No Replies

Nintendo Is Permanently Reducing The Price Of Switch Joy-Con


Joy-Con© Nintendo Life

Update: Nintendo has now confirmed that the Joy-Con price drop will also come to North America. Just like Japan, the discount only applies to single Joy-Con purchases.

The single Joy-Con products below will be reduced from $49.99 to $39.99 starting from 9th November. While this is a welcome change, it’s worth noting that $39.99 is exactly half the price of a full set, so buying two individually is sadly still no cheaper than buying a pair.

At least upgrading one is a little bit cheaper now!



Original Article (Mon 12th Oct, 2020 13:30 BST): Nintendo has revealed that it will be permanently reducing the price of its Switch Joy-Con controllers in Japan, starting from next month.

From 6th November, the price of a single Joy-Con controller will be revised from 4,480 yen + tax to 3,740 yen + tax, which is a drop of about 16.5%. The price reduction will apply to single Joy-Con products only, meaning Switch owners will still pay the same, regular price for a complete pack of two (thanks, Japanese Nintendo).

Users in Japan can buy Grey, Neon Red, Neon Blue, Neon Yellow, Neon Green, Red, and Neon Pink Joy-Con from the country’s official store.

Naturally, then, we can’t help but wonder whether or not a similar pricing restructure will arrive here in the west. Could we be about to see a permanent reduction in price across Europe and the US, or will this remain a Japan-only deal? [Update: North America now confirmed – see above].

We’re sure a drop in price would be well received, especially with all of the Joy-Con drift issues we’ve been seeing, but feel free to have your say in the comments below. Do you think we’ll see a price drop soon?



https://www.sickgaming.net/blog/2020/10/...h-joy-con/

Print this item

  News - Blade Runner: Enhanced Edition Delayed Following Technical Issues
Posted by: xSicKxBot - 10-24-2020, 01:13 AM - Forum: Lounge - No Replies

Blade Runner: Enhanced Edition Delayed Following Technical Issues

The remastered Blade Runner adventure game was previously scheduled to release later this year, but with "later this year" quickly coming, developer Nightdive Studios isn't ready to launch the game. In fact, it has run into technical issues that have delayed it to an unspecified future date.

Speaking to Eurogamer, Nightdive CEO Steven Kick blamed the delay on problems related to "old technology" and said the studio has not been able to locate the original source code or assets for the game. The source code was apparently lost decades ago after original studio Westwood was purchased by EA, and Nightdive has the more difficult task of reverse-engineering code in order to get Blade Runner: Enhanced Edition remastered.

To get the game running on all platforms, Nightdive is using its own engine and with code work apparently nearing completion, most efforts are on visual updates now. Kick added in the interview that the frame rate will likely be lowered to 30 FPS with a film grain placed over it in order to better achieve a cinematic style. Given the neo-noir nature of the original movie, this makes sense.

Continue Reading at GameSpot

https://www.gamespot.com/articles/blade-...01-10abi2f

Print this item

  Humble Ultimate Fantasy Game Development Bundle
Posted by: xSicKxBot - 10-23-2020, 07:00 PM - Forum: Game Development - No Replies

Humble Ultimate Fantasy Game Development Bundle

There is a new Humble Bundle of interest to game developers, this one is the Ultimate Fantasy Game Development bundle. It’s a collection of fantasy themed models, full rigged, textured and animated with tons of modularity and different texture packs. Even more impressive, the package is available as keys for both Unity and Unreal Engine asset stores and the models and textures are in a format that can be used in any 3D game engine with ease. As with all Humble Bundles, this one is organized into tiers:

1$ Tier

  • Plant Monster
  • Rock Monster
  • Mushroom Monster

15$ Tier

  • Giant Worm
  • Minotaur
  • Mimics & Chests
  • Medusa
  • Locks and Lockpicks

25$ Tier

  • Spiders
  • Dragons
  • Humans
  • Armor Pack 1
  • Weapons & Armor 1
  • Character Accessories
  • Trolls
  • Demons
  • Magic & Melee Sounds Library
  • Devils

As with all Humble Bundles, you get to decide how your money is allocated between Humble, Charity, the publisher and if you so choose (and thanks if you do!) to support GFS purchasing through this link. You can get additional asset packs in the same art style created by Infinity PBR on the Unity Asset Store. You can learn more about the asset pack in the video below.






https://www.sickgaming.net/blog/2020/10/...nt-bundle/

Print this item

  Microsoft - Honeywell teams up with Microsoft to reshape the industrial workplace
Posted by: xSicKxBot - 10-23-2020, 06:59 PM - Forum: Windows - No Replies

Honeywell teams up with Microsoft to reshape the industrial workplace

Honeywell to leverage Microsoft Azure cloud platform and connect Microsoft Dynamics 365 to Honeywell Forge, enabling predictive maintenance applications with closed-loop maintenance workflows in the buildings industry


Two skyscrapers
The integration of Honeywell Forge and Microsoft Dynamics 365 Field Service will provide closed loop maintenance for building owners and operators.

CHARLOTTE, N.C., and REDMOND, Wash., October 22, 2020 — Honeywell (NYSE: HON) and Microsoft (NASDAQ: MSFT) announced today that Honeywell will bring to market its domain-specific applications built on the Microsoft cloud platform to drive new levels of productivity for industrial clients.

With the integration of the AI-driven autonomous controls of the Honeywell Forge enterprise performance management software with Microsoft Dynamics 365 Field Service, customers will be able to access operating data that includes workflow management support to improve performance and energy efficiency within the enterprise environment. Workers in the field will benefit from real-time access to critical data that will help them prioritize, analyze and solve problems more quickly.

Honeywell logoThe first area of focus will be in automating maintenance for building owners and operators. To optimize their buildings’ energy, performance and comfort, they often need to pull data from a variety of sources that are not normalized and inform remote and dispersed workforces. Facility managers must determine what problem to fix, when to fix it and who to assign to the job, which can be very difficult without having the necessary asset know-how and work order management capability.

“Honeywell’s partnership with Microsoft will deliver new value to our customers as we help them solve business challenges by digitizing their operations,” said Que Dallara, president and CEO, Honeywell Connected Enterprise. “Working with Microsoft, Honeywell will bring solutions at scale – powered by AI-driven insights and immediate access to data – that will help our customers work more efficiently than ever before.”

Honeywell Forge delivers cost savings, improved energy efficiency and a better occupant experience to customers. For example, at Crown Towers Perth in Australia, the Honeywell Forge Digitized Maintenance solution provided faster inputs on potential maintenance issues versus traditional annual maintenance schedules and helped reduce reactive work orders by 90%.

In the heating, ventilation and air conditioning (HVAC) operation alone – which is known to account for up to 60% of total energy consumption in commercial buildings* – an AI-automated account system such as Honeywell Forge Energy Optimization can save between 10% and 20% in energy costs.**

Dynamics 365 Field Service allows companies to remotely detect and address potential issues early to avoid unnecessary downtime or operational inefficiencies by analyzing IoT data and to improve proactive service offerings through AI-infused IoT alerts and work orders. Leveraging the global scale of Microsoft’s cloud will enable Honeywell to quickly bring new offerings to market while helping customers meet regional security, privacy and compliance requirements.

“To achieve resilient operations and sustainable growth, businesses need to partner to fully unlock the opportunities of cloud, AI and IoT technologies. By integrating Honeywell and Microsoft services, companies turn IoT data into critical business insights and actions to optimize operations and deliver new customer value faster,” said Judson Althoff, executive vice president, Microsoft’s Worldwide Commercial Business.

Working with Microsoft, Honeywell is already delivering the following Honeywell Forge SaaS solutions that will address what customers need now to return to work and, in the future, to operate safely and efficiently, including:

  • Digitized Maintenance – Offers a panoramic view of the performance of facilities and assets using near real-time analytics. This provides important information about critical equipment issues before they become big repair or even replacement problems.
  • Energy Optimization – A cloud-based, closed-loop, machine-learning solution that continuously studies a building’s HVAC energy consumption patterns and automatically adjusts to optimal energy saving settings without compromising occupant comfort levels.
  • OT Cybersecurity – Honeywell Forge Cybersecurity provides continuous threat detection with minimal disruption of services. The robust software solution simplifies, strengthens and scales industrial cybersecurity operations across the enterprise.

The companies are also exploring more ways to bring innovation to customers by integrating Honeywell Forge solutions with Azure services such as Azure Digital Twins and Azure edge capabilities. Digital twins allow businesses to easily model and create digital representations of connected physical environments to deliver products that meet fast-changing market needs while saving operational costs. Using edge computing, customers can run AI, machine learning and business processes directly across plants, warehouses, machines and appliances for quicker actions without the need for a constant internet connection.

Learn more about the partnership on Honeywell.com.

About Microsoft:

Microsoft (Nasdaq “MSFT” @microsoft) enables digital transformation for the era of an intelligent cloud and an intelligent edge. Its mission is to empower every person and every organization on the planet to achieve more.

About Honeywell:

Honeywell (www.honeywell.com) is a Fortune 100 technology company that delivers industry specific solutions that include aerospace products and services; control technologies for buildings and industry; and performance materials globally. Our technologies help aircraft, buildings, manufacturing plants, supply chains, and workers become more connected to make our world smarter, safer, and more sustainable.  For more news and information on Honeywell, please visit www.honeywell.com/newsroom.

###

Contacts:

Media                                                                                      

Nati Katz                                                                                   Microsoft Media Relations

Honeywell, External Communications                                      WE Communications for Microsoft

(704) 627-6109                                                                         (425) 638-7777

Netanel.Katz@honeywell.com                                                 rrt@we-worldwide.com



https://www.sickgaming.net/blog/2020/10/...workplace/

Print this item

  Fedora - Secure NTP with NTS
Posted by: xSicKxBot - 10-23-2020, 06:59 PM - Forum: Linux, FreeBSD, and Unix types - No Replies

Secure NTP with NTS

Many computers use the Network Time Protocol (NTP) to synchronize their system clocks over the internet. NTP is one of the few unsecured internet protocols still in common use. An attacker that can observe network traffic between a client and server can feed the client with bogus data and, depending on the client’s implementation and configuration, force it to set its system clock to any time and date. Some programs and services might not work if the client’s system clock is not accurate. For example, a web browser will not work correctly if the web servers’ certificates appear to be expired according to the client’s system clock. Use Network Time Security (NTS) to secure NTP.

Fedora 331 is the first Fedora release to support NTS. NTS is a new authentication mechanism for NTP. It enables clients to verify that the packets they receive from the server have not been modified while in transit. The only thing an attacker can do when NTS is enabled is drop or delay packets. See RFC8915 for further details about NTS.

NTP can be secured well with symmetric keys. Unfortunately, the server has to have a different key for each client and the keys have to be securely distributed. That might be practical with a private server on a local network, but it does not scale to a public server with millions of clients.

NTS includes a Key Establishment (NTS-KE) protocol that automatically creates the encryption keys used between the server and its clients. It uses Transport Layer Security (TLS) on TCP port 4460. It is designed to scale to very large numbers of clients with a minimal impact on accuracy. The server does not need to keep any client-specific state. It provides clients with cookies, which are encrypted and contain the keys needed to authenticate the NTP packets. Privacy is one of the goals of NTS. The client gets a new cookie with each server response, so it doesn’t have to reuse cookies. This prevents passive observers from tracking clients migrating between networks.

The default NTP client in Fedora is chrony. Chrony added NTS support in version 4.0. The default configuration hasn’t changed. Chrony still uses public servers from the pool.ntp.org project and NTS is not enabled by default.

Currently, there are very few public NTP servers that support NTS. The two major providers are Cloudflare and Netnod. The Cloudflare servers are in various places around the world. They use anycast addresses that should allow most clients to reach a close server. The Netnod servers are located in Sweden. In the future we will probably see more public NTP servers with NTS support.

A general recommendation for configuring NTP clients for best reliability is to have at least three working servers. For best accuracy, it is recommended to select close servers to minimize network latency and asymmetry caused by asymmetric network routing. If you are not concerned about fine-grained accuracy, you can ignore this recommendation and use any NTS servers you trust, no matter where they are located.

If you do want high accuracy, but you don’t have a close NTS server, you can mix distant NTS servers with closer non-NTS servers. However, such a configuration is less secure than a configuration using NTS servers only. The attackers still cannot force the client to accept arbitrary time, but they do have a greater control over the client’s clock and its estimate of accuracy, which may be unacceptable in some environments.

Enable client NTS in the installer


When installing Fedora 33, you can enable NTS in the Time & Date dialog in the Network Time configuration. Enter the name of the server and check the NTS support before clicking the + (Add) button. You can add one or more servers or pools with NTS. To remove the default pool of servers (2.fedora.pool.ntp.org), uncheck the corresponding mark in the Use column.

Network Time configuration in
Fedora installer

Enable client NTS in the configuration file


If you upgraded from a previous Fedora release, or you didn’t enable NTS in the installer, you can enable NTS directly in /etc/chrony.conf. Specify the server with the nts option in addition to the recommended iburst option. For example:

server time.cloudflare.com iburst nts
server nts.sth1.ntp.se iburst nts
server nts.sth2.ntp.se iburst nts

You should also allow the client to save the NTS keys and cookies to disk,
so it doesn’t have to repeat the NTS-KE session on each start. Add the
following line to chrony.conf, if it is not already present:

ntsdumpdir /var/lib/chrony

If you don’t want NTP servers provided by DHCP to be mixed with the servers you
have specified, remove or comment out the following line in
chrony.conf:

sourcedir /run/chrony-dhcp

After you have finished editing chrony.conf, save your changes and restart the chronyd service:

systemctl restart chronyd

Check client status


Run the following command under the root user to check whether the NTS key
establishment was successful:

# chronyc -N authdata
Name/IP address Mode KeyID Type KLen Last Atmp NAK Cook CLen
=========================================================================
time.cloudflare.com NTS 1 15 256 33m 0 0 8 100
nts.sth1.ntp.se NTS 1 15 256 33m 0 0 8 100
nts.sth2.ntp.se NTS 1 15 256 33m 0 0 8 100

The KeyID, Type, and KLen columns should have non-zero values. If they are zero, check the system log for error messages from chronyd. One possible cause of failure is a firewall is blocking the client’s connection to the server’s TCP port ( port 4460).

Another possible cause of failure is a certificate that is failing to verify because the client’s clock is wrong. This is a chicken-or-the-egg type problem with NTS. You may need to manually correct the date or temporarily disable NTS in order to get NTS working. If your computer has a real-time clock, as almost all computers do, and it’s backed up by a good battery, this operation should be needed only once.

If the computer doesn’t have a real-time clock or battery, as is common with
some small ARM computers like the Raspberry Pi, you can add the -s
option to /etc/sysconfig/chronyd to restore time saved on the last
shutdown or reboot. The clock will be behind the true time, but if the
computer wasn’t shut down for too long and the server’s certificates were not
renewed too close to their expiration, it should be sufficient for the time
checks to succeed. As a last resort, you can disable the time checks with the
nocerttimecheck directive. See the chrony.conf(5) man page
for details.

Run the following command to confirm that the client is making NTP
measurements:

# chronyc -N sources
MS Name/IP address Stratum Poll Reach LastRx Last sample ===============================================================================
^* time.cloudflare.com 3 6 377 45 +355us[ +375us] +/- 11ms
^+ nts.sth1.ntp.se 1 6 377 44 +237us[ +237us] +/- 23ms
^+ nts.sth2.ntp.se 1 6 377 44 -170us[ -170us] +/- 22ms

The Reach column should have a non-zero value; ideally 377. The value 377 shown above is an octal number. It indicates that the last eight requests all had a valid response. The validation check will include NTS authentication if enabled. If the value only rarely or never gets to 377, it indicates that NTP requests or responses are getting lost in the network. Some major network operators are known to have middleboxes that block or limit rate of large NTP packets as a mitigation for amplification attacks that exploit the monitoring protocol of ntpd. Unfortunately, this impacts NTS-protected NTP packets, even though they don’t cause any amplification. The NTP working group is considering an alternative port for NTP as a workaround for this issue.

Enable NTS on the server


If you have your own NTP server running chronyd, you can enable server NTS support to allow its clients to be synchronized securely. If the server is a client of other servers, it should use NTS or a symmetric key for its own synchronization. The clients assume the synchronization chain is secured between all servers up to the primary time servers.

Enabling server NTS is similar to enabling HTTPS on a web server. You just need a private key and certificate. The certificate could be signed by the Let’s Encrypt authority using the certbot tool, for example. When you have the key and certificate file (including intermediate certificates), specify them in chrony.conf with the following directives:

ntsserverkey /etc/pki/tls/private/foo.example.net.key
ntsservercert /etc/pki/tls/certs/foo.example.net.crt

Make sure the ntsdumpdir directive mentioned previously in the
client configuration is present in chrony.conf. It allows the server
to save its keys to disk, so the clients of the server don’t have to get new
keys and cookies when the server is restarted.

Restart the chronyd service:

systemctl restart chronyd

If there are no error messages in the system log from chronyd, it should be
accepting client connections. If the server has a firewall, it needs to allow
both the UDP 123 and TCP 4460 ports for NTP and NTS-KE respectively.

You can perform a quick test from a client machine with the following command:

$ chronyd -Q -t 3 'server foo.example.net iburst nts maxsamples 1'
2020-10-13T12:00:52Z chronyd version 4.0 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +NTS +SECHASH +IPV6 +DEBUG)
2020-10-13T12:00:52Z Disabled control of system clock
2020-10-13T12:00:55Z System clock wrong by -0.001032 seconds (ignored)
2020-10-13T12:00:55Z chronyd exiting

If you see a System clock wrong message, it’s working
correctly.

On the server, you can use the following command to check how many NTS-KE
connections and authenticated NTP packets it has handled:

# chronyc serverstats
NTP packets received : 2143106240
NTP packets dropped : 117180834
Command packets received : 16819527
Command packets dropped : 0
Client log records dropped : 574257223
NTS-KE connections accepted: 104
NTS-KE connections dropped : 0
Authenticated NTP packets : 52139

If you see non-zero NTS-KE connections accepted and Authenticated
NTP packets
, it means at least some clients were able to connect to the
NTS-KE port and send an authenticated NTP request.

— Cover photo by Louis. K on Unsplash —


1. The Fedora 33 Beta installer contains an older chrony prerelease which doesn’t work with current NTS servers because the NTS-KE port has changed. Consequently, in the Network Time configuration in the installer, the servers will always appear as not working. After installation, the chrony package needs to be updated before it will work with current servers.



https://www.sickgaming.net/blog/2020/10/...-with-nts/

Print this item

  News - Video: First 4 Figures Unboxes Its Stunning Varia Suit Samus Statue
Posted by: xSicKxBot - 10-23-2020, 06:59 PM - Forum: Nintendo Discussion - No Replies

Video: First 4 Figures Unboxes Its Stunning Varia Suit Samus Statue


Expensive-but-fantastic statue maker First 4 Figures has shared an unboxing video of its delightful Varia Suit Samus figure.

Available as a standard edition or a super fancy Exclusive edition that includes LED lights, the figure has entered its ‘last chance to pre-order’ stage on First 4 Figures’ website. The standard model costs US$533.99, with the Exclusive model setting you back US$587.99.

The figure shows Samus in her Varia Suit as it was seen in Metroid Prime 2: Echoes:

First 4 Figures is proud to showcase Samus in the Varia Suit. Instantly recognisable from games as far back as the original Metroid game on the NES, the Varia Suit has remained a series mainstay, and is here depicted as it was seen during Metroid Prime 2: Echoes. Captured in a stunning ¼ scale in hand painted polystone, Samus measures an awesome 20 inches tall, standing upon a base inspired by the series insignia.

Metroid First 4 Figures

It’s actually the second in the company’s series of Metroid Master Arts statues; a few years ago, fans were also treated to an equally delicious Light Suit variant.

Watching that unboxing video, we were already getting excited just seeing that Metroid logo base. It’s not easy to justify spending that kind of cash, but these figures sure are wonderful.

Please note that some external links on this page are affiliate links, which means if you click them and make a purchase we may receive a small percentage of the sale. Please read our FTC Disclosure for more information.



https://www.sickgaming.net/blog/2020/10/...us-statue/

Print this item