HN user

msiyer

181 karma
Posts14
Comments192
View on HN
Good system design 11 months ago

Avoid having five different services all write to the same table. Instead, have four of them send API requests (or emit events) to the first service, and keep the writing logic in that one service.

The ideal solution: Avoid having five different services all write to the same table.

If five different services have to write to the same table, there is a major overlap of logic too. Are the five services really different or one would suffice?

Taking practical realities into consideration, we can do what the author says. However, we risk implementing a lot of orchestration logic. We introduce a whole new layer of problems. Is that time not better spent refactoring the services: either give them their own DB tables or merge them into one servic?

A Reddit debate over C# vs. Java int, sparked by a Microsoft engineer’s claim that C#’s int is a primitive, revealed confusion amplified by `Type.IsPrimitive`. This led to the Lₐₓ/Lₐₜ/R (LAX/LAT/R) taxonomy: a framework to classify types by their language-level, atomic, and runtime properties, resolving disputes rooted in specs and tribal knowledge.

Learning biology to understand software-system concepts is underrated. For example:

- the way pain-killers work tells you a lot about how keyloggers or man-in-the-middle attacks work

- look at how DNA "syntax checking" happens during mitosis to learn about compiling in general

- a puppy swallows whatever it sees; this gives the immune system enough test data about the surroundings etc. (similar to ML)

- a huge amount of cyber-security concepts can be understood by learning biology

there is nothing "basic" about this. something that seems pretty obvious to you may not be natural to someone else.

i think the single-click navigation or opening of files was done to mimic how hyperlinks on the internet work. some people are wired that way.

on the other hand, some people have a completely different brain configuration: they think that a single-click should select whereas a double-click should open a file.

there are people who do not agree with both these options. maybe, they want everything to work via audio commands.

how do we decide what the default behavior should be? the answer is: leave it to the user.

WD screwed up. However, users must have a backup policy for when (not if) data hits the fan. For important data, having multiple onsite copies with few of them totally dumb (as opposed to smart IoT) and multiple offsite copies should become a habit.

I am Mechanical Engineering graduate pursuing my Masters in Software Systems after 10+ years of industry experience.

Attack the Type System first. Do not read PhD research papers, just the practical aspects of it:

- Why is it that integers I am working with are 8-bit (or 16-bit or 32-bit ...)?

- What is "int x = 7;" translated into by the compiler?

- How is basic arithmetic implemented in the hardware? Integers, floating point etc.

- If my system has 16-bit integers, for example, how can I deal with larger numbers than what 16 bits can accommodate? Some SW implementation to hide HW limitations?

Then go on to understand how more complex types are implemented etc.

From there go on to things like Stack Frames and Heaps and Application Binary Interfaces.

From there go on to memory clean up and why we need Garbage Collectors etc.

...

To me, a Programming Language is a set of rules (enforced by a compiler or interpreter) for deterministic bits manipulation. The Type System is the core set of rules around which everything else revolves. Even lack of a Type System in a language is a Type System.

I agree.

The "set of premises and goals" we currently operate upon are not ours, but planted by someone else (parents, teachers, media...).

Add to all this the fact that world may run however it wants, but the emotions are ours. If we alter the "set of premises and goals" we can alter our emotional response.

I do not mean to offend, but this is what schooling does to most humans - you commute to school, have clear distinction between home and school spaces, have clear distinction between school and neighborhood buddies (some overlap happens), various rituals...

Banning a word is pointless. The word itself has no power. It is the feeling piggybacking on the word that gives life to the word. The feeling will find another word as vehicle.

I am talking about efficient use of available space. A terabyte may store a lot of pictures, but if we can achieve the data density of DNA, we may be able to process (store, transmit, transform...) far more amount of data far more quickly. Then text vs multimedia will become irrelevant.

If we agree that a picture is worth 1000 words, then...

Given the current state of information technology, I agree that we are most efficient at processing text. However, that can change pretty quickly. Storage mechanisms similar to DNA can make the difference between text and multimedia irrelevant. It will happen because nature already does that.

This is a stupid deal: User gives away data for free to these corporations and they sell it to make insane profits. Those that pay for such data pass on the costs to their customers.

Eventually, it is the same user who gave away his data for free that pays too. Double taxation.

The labels 'genius' and 'gifted' look convincing until you read about 'accidental genius' - genius acquired after a serious illness or injury.

'genius' is just a particular configuration out of millions or billions in which a brain can form. Brain's real estate is malleable like a city's. So, no reason why one cannot configure it to one's liking. Now, the procedure to do so might not be as easy.

I also think that there is not much difference between an alcoholic (any addiction for that matter) and a workaholic genius. The reason is that both do not know what drives them.

Perspective is everything.

A simple example to understand how perspective can alter reality is to imagine being a point floating in a 3-D space where you are able to see the X-Y-Z axes. Now, imagine tracing (0,0,0) when you are at (500,500,500). Trivial.

Now, trace (0,0,10^100). That is a huge Z-line you would say. This is the side view.

Now, move to (0,0,10^100) from (500,500,500). This is the top view. What do you see?

Another example: When viewed from perpendicular to X-Y plane, a circular motion on X-Y plane looks properly circular.

When the same motion is viewed standing far away on the X-axis, the motion resembles an oscillation.

Same motion, different perspectives, seemingly different results.

All our senses, without exception, can only detect the past. Every sensor (natural or man-made, photodiode or eye) deals only with the past.

Say a novice practices to catch a ball on a windless day. He gets better. What exactly is he getting better at? He is getting better at guessing the trajectory of the ball based on past 3D positions of the ball.

This guesswork has its limits. He learns the limits on a windy day. He gets better with more practice on a windy day.

This new knowledge too has its limits. He learns that on a windy day at the beach.

The brain tries to guess the future based on a sequence of events. This is why detaching from senses is an experience like no other. Meditation, irrespective of the modality, is a way to detach from senses. We do not live in the past.

If our brains were not capable of holding memories and only of detecting one event at a time, two cars moving at vastly different speeds would look separated in space, but nothing more than that. I think, our senses, our ability to hold on to memories (past sensor data) of events and our ability to compare two past events combined makes the world animated. This also seems to give birth to the sense of passage of time. Which also could mean that time does not exist?

The complexity is mind boggling. Physically, we are not what we were a few months ago. And what exactly is physicality?

People were commenting that the idea that every cell is replaced in a living organism is 'laughable'. Brain cells and osteocytes were cited as examples of cells that are never replaced.

However, I still think, and more strongly than ever, that brain cells and osteocytes can be examples of unchanging cells if an only if it is proven beyond a shadow of doubt that every single atom constituting such cells remains intact during the lifetime of such cells.

Since the human body is subjected to a lot of physical stress and damage and repair is continuous, it is possible that damaged brain cells or osteocytes get replaced with new ones. Need to read more about this, though.

This thought experiment is neither just a thought nor an experiment. This is the reality of life - every single cell in the body of a plant or animal is replaced every few months. Essentially, talking about the physical body, we are not what we were a few months ago.

EDIT: Agreed, a few types of brain cells do not get replaced, but everything else does. My point still stands. Physically, we are not what we were a few months ago.