HN user

elendilm

67 karma

Muneer, Founder & Director, Ndcurve Technologies Pvt Ltd

Website: https://slyp.app

Email: elendilm@slyp.app

Posts0
Comments36
View on HN
No posts found.

Try selecting a file in your 50x iphone - triple copy of the same file or ateast double copy (assuming os will post a soft link). If a large file then you are toast.

Try mmapping > 5GB file in your 50x better iPhone.

Try running any service in the background.

The list goes on and on.

Your 50x better suddenly became 50x worse compared to a much cheaper android.

Our stack consists of two consumer facing mobile apps, Slyp and SlypBusiness, which necessitated developing the underlying infrastructure over time for scaling and efficiency.

That stack includes Dip (our database substrate), Monolog (our log broker), Singularity (our KV engine), Craft (a mobile app for app development using flow charts, snippets, and a WYSIWYG designer), and Portal (a mobile app for remote container management and a HITL AI workflow).

Craft and Portal are MVP-style functional, but aren't in production yet. Everything else is being rolled out gradually.

You're more than welcome. Happy to discuss any of it in more detail. Rather than digress further in this thread, feel free to reach out privately if you'd like to continue the conversation.

It appears you are unfamiliar with "may" coroutines which is a userspace M:N scheduler.

Erlang phenomenon mentioned is the same and the behavior is easily reproducible on a normal laptop.

"may" defaults to the same number of OS threads as there are cores. Scale the set_pool_capacity() to 1000, 5000, or beyond for coroutine scaling. Also try set_workers() for OS threads.

Try it any which way and you see thread contention and cache locality penalty increasing latency.

I am now trembling at the thought of warriors who will skin me alive :).

Jokes aside, there are use cases for rayon, use cases for tokio async, use cases for "may" coroutines, use cases for a custom scheduling policy, or use cases for a combination of these.

We went with "may" coroutines (with its thread pinning) + custom numa work pinning (to a may thread) due to "may's" lightweight nature and not having to have our functions colorized. We use rayon where cache locality penalty is minor compared to the millisecond latency gains due to work stealing - but this is only for an edge case.

Our log broker Monolog (akin to kafka) which sits atop Dip uses tokio async because it plays nicely with zmq while "may" doesn't.

So I am a big fan of using the right tools for the job. Each technique has its own pros and cons. Informed decisions based on use cases matter above any dogma.

<When WhatsApp pushed the Erlang BEAM virtual machine to its limits on 100+ core machines, the system choked. As detailed by Robin Morisset, idle threads trying to steal work spent all their CPU cycles fighting over the global runq_lock5>

A simple burst of memmap + soft fault with 100 or 1000 threads on a normal laptop would tell you that thread contention is real and cache locality gets destroyed. Couple that with pinned threads. You can see the latency increase by increasing thread count. Add to that the motherboard interconnect tax for numa systems. Work stealing is not the way for increasingly many workloads on modern hardware.

Recently we built Dip, our in-house ephemeral + parallel database, and we went with may coroutines + work pinning to the same thread which also nicely becomes numa aware via architecture.

Increasing threads beyond system's hardware cores/threads resulted only in marginal gains of a couple of milliseconds worth of differences on huge workload with large increase in memory (thread stack) used by the massive number of threads.

True. There is no shame in AI writing or human writing. Content is what matters. It appears the author is trying to fake genuinity in a fundamentally wrong way and yet doesn't even deliver on it.

Many of the greatest achievements in science & engineering were accomplished during wartime under intense stress or obsession - not a relaxed parasympathetic state.

That alone should make us skeptical of simplistic claims that calmer physiological states are inherently "more optimal" for complex cognition.

<However, the same choice made calmly, under a more relaxed physiological state, may lead to a more optimal result>

The idiocy of thinking calmness leading to optimal results. Usually this comes from people who never accomplished anything.

The paper is the prime example of pseudo science masquerading as science.

A implies B doesn't mean B implies A. Not all programs have to be efficient and scalable.

But mental discipline required to write efficient and scalable code is insane that most domain expertise is feeble by comparison.

Are you kidding me. What has domain got to do with efficiency and scalability.

Efficiency is about using minimum cpu cycles or minimum memory or minimum network round trip or more generically using minimum/optimum resources to get something done.

Scalability is about minimizing bottlenecks and linear scaling so one can just copy and execute by adding more nodes/resources and expect correctness and increased throughput.

Both of these have nothing to do with domain expertise.

You are wrong. Writing programs (atleast efficiently) is not the easiest part. It just appears to be once you get accustomed.

Domain expertise is hard but not that hard compared to the insane mental discipline required to write efficient scalable code.

Domain expertise is valuable and hard but I don't get this "domain expertise is harder than disciplined coding" mentality.

"So the most valuable person in this new world is the one who has both skills because they can verify at both layers. They know the generated code is sound and they know the answers it produces are true."

This has always been true since the dawn of programming.

At the very foundation, chaining sentences together is what we call logic.

Chaining unrelated sentences is retarded. Chaining sentences like most people is common sense. Chaining sentences airtight is math.

You ask what a true mathematician does. He chains sentences like everyone else but with an effort to make them airtight.

Nuclear armed nations with the most expensive military controlling massive logistics supply route attacked and lost the war and were forced to escalate to nuclear detonation and then to ceasefire talks.

Buddy. That is not how winning looks like.

If casualty count is your criteria, then Soviet Union was defeated in world war 2 according to you.

If you think distributed architecture is about rescuing a bunch of people, then clearly you haven't done any serious work in your life. Go write some code and build some distributed systems.

F-35 Got Hit 4 months ago

"Iran's claims of a full shootdown are consistent with their pattern of overclaiming throughout the war."

Really?. Funny that everyone now knows US overclaimed their capabilities.

Idiots watch Iron Man come flying and think US can steamroll Russia.

Iran alone is beating the shit out of US. Thinking it can steamroll Russia is not even funny. Some serious epidemic of Hollywood syndrome permeates the US.