minaguib
Joined 15 years ago
Joined 15 years ago
Where it ends "how do we calculate the weights ?" is fairly simple.
Start completely randomly and compare output to known truth. When it's incorrect, you beat the model up pretty badly and repeat again. Eventually you get the correct answer pretty consistently.
... and by "beat it up" I mean tweak the weights - totally randomly will work but will take a long time (brute force), so we add a bit of intelligence to see which direction to tweak via some algorithms (backpropagation, gradient descent).
... but
An incoming message to an IPv4 NAT router will not be forwarded to a LAN device unless it matches a known flow (typically continuation of a conversation, typically initiated by the LAN device, which is expected), or the user set up a DMZ forward to a particular destination. There is actually no reasonable way for non-DMZ LAN devices to be exposed to the noise.
For non-NAT IPv6, sure a firewall might be on by default, but it can be turned off - and therein lies the potential exposure to every LAN device to directed traffic.
In other words, the risky zone for IPv4 NAT tends to be setting up a DMZ exposing 1 device, while the risky zone for IPv6 non-firewalled tends to be exposing all of the devices behind the router.
Hiring software engineers across different locations and teams:
-
Tel Aviv:
Back End (Go) developer: High-performance edge ad auction systems
Data Scientist: Multiple ML and AI initiatives (internal systems as well as client-facing)
-
Montreal:
Data Engineer: Advertising (big data, for real!) data processing systems
Back End (Python) developer: Working on a (tastefully-designed) set of python transactional microservices serving the core business web application and APIs
-
If you see yourself as a good fit for the roles in the above locations, please browse the job descriptions on our web site ( https://perion.com/careers/ ) and reach out to me directly - my contact info is in my HN profile bio.
Not a lot of web sites have made my Macbook M3 show signs of stress ;)
It's a hint to tell you the word starts with "s", but since you didn't narrow it down to "su..." or "sv..." it's not giving you more hints.
Once you narrow it down further, say, "sub..." and "sun..." it'll highlight the known prefix "su"
I'll try to add some local state management so a refresh for a game doesn't lose progress.
For the frontend for this I used Vue.JS as a learning experience. Overall it was straightforward and quite pleasant.
The hardest part was the mental process of giving up on server-side business logic enforcement (such as anti-cheating). At the end of the day ... "it's just a game" :)