minaguib

Joined 15 years ago

Karma
418
Submissions
134
Member since
Dec 9
Mina Naguib, firstname at lastname dot ca, https://www.linkedin.com/in/minaguib/
View on Hacker News

Recent submissions

Comment · 20 days ago
Comment · 2 months ago
Paying enterprise clients who can not push/pull code and collaborate on PRs (table-stakes) disagree with having a little more sympathy.
Comment · 3 months ago
FWIW, Legislation IS what brought us here in the first place :)
Comment · 8 months ago
Cool intro and visuals.

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).

Comment · 9 months ago
Agreed with the main message.

... 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.

Comment · 11 months ago
Comment · 1 year ago
Entirely unrelated to the topic, but my mind was blown when I recently learnt that clamp() can be implemented via .median(val, low, high), and the param order doesn't matter!
Comment · 1 year ago
Perion | Advertising Technology | https://perion.com/ | Hybrid (Onsite+WFH)

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.

Comment · 1 year ago
Agreed with you. I've always told people all code "rusts" (not a language reference) - in multiple ways: the original author's mental model, the contributors, institutional knowledge, and the supporting ecosystem and dependencies. All code atrophies towards being legacy and debt. The more the worse. AI Vibe coding simply creates much more of it, much faster.
Comment · 1 year ago
Looks good

Not a lot of web sites have made my Macbook M3 show signs of stress ;)

Comment · 1 year ago
OP: the readme could really benefit from a section describing the underlying methodology, and comparing it to other approaches (Go channels, LMAX, etc...)
Comment · 1 year ago
I'll look into these. Thank you.
Comment · 1 year ago
No it's intentional. The highlight is what I call a "known prefix"

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"

Comment · 1 year ago
Aah - not sure why it stopped responding, sorry about that.

I'll try to add some local state management so a refresh for a game doesn't lose progress.

Comment · 1 year ago
I've always been a backend/systems kind of guy.

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" :)

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton