duutfhhh
duutfhhh on Hacker News
Or spacetime is that aether. This is like some dusty books have been claiming that there's an invisible fluid substance around us that supports life, then when science discovers oxygen, it says "See? There is no invisible ether or anything like that around us, only atoms."
Well, I have a bridge to sell you if you believe it's total comp.
I've seen messy devs who absolutely can't articulate themselves, to the extent that when they tried, everybody else would keep awkward silence, and yet they made 60k/month.
And those small companies would be able to compensate the difference in pay with "partner" status, i.e. making an employee an unfireable stakeholder that can live off profits by the time he or she turns say 45, but owners of said small companies are too greedy for that. I'd argue that opportunistic at-employement with 500k/year at Big4 is worse than guaranteed 250k/year that nobody, not even the company's owners can take from you.
That's a worthy idea to learn. I've actually found it quite trivial, which means I'm either too smart or too dumb to understand it. That MDP diagram reminded me of the Feynman's path integral model of electrons: the double slit experiment looks as if electrons take all possible, within constraints, paths and the interference image is the sum of them. Except that in the MDP diagram, parameters of the two slits can vary, within some boundaries, and that varying changes the interference image, so the question that MDP answers is "how the interference image can change if we vary the slits parameters within these boundaries"?
I see classes as nodes in the power grid that transmits and transforms data instead of electricity. These nodes are wired up to other nodes via methods - their binding points. To be precise, a class is more like a spec that can be used to build an instance of that node. In some cases there's only one instance.
The main advantage of classes, I think, is that they define one underlying principle for all these data transformer nodes: that each node has a few binding points with certain interface: named methods. The nodes don't have to look this way, but restricting the freedom of design choices to this pattern makes it easier to compose many nodes together. It's like setting the expectation that all cars are squarish: it's easier to build the infra around cars when you know how they can look in general.
With yearly renewal fees. And if parents fail to renew license, it becomes illegal for their children to walk on public roads.
That email will make a senior HR person have a serious talk with 10 other HRs and lawyers, because the matter is non trivial, but their answer will be (delivered by your manager): "you'll get an extra bonus at the next perf cycle." Then they will wait if you settle for this.
Then try saying out loud that it's not "covid" but the wuhan virus and see how censorship is not working anymore.
I said that exceptional folks can slack off. Average folks can't.
For average folks, their ability to deliver is of little importance. What sets their compensation is the market rate. They can slack off for a few years, do bare minimum, then move to another FANG and double their pay, because such is the new market rate. Their past performance means shit. Their ability to perform on interviews and get competing offers means everything.
For exceptional folks it's silly to be the A players unless they have a buddy in the VP ranks who drags them up the ranks, as otherwise they would waste their best years on flat compensation and a bunch of petty bonuses. Exceptional folks should really slack off, become those C players, and build their own gig on a side.
A spouse making another 150k is a big assumption. It's mostly males living in such places.
We're talking about highway robbery here. When thugs with guns politely ask for your keys, you see it as a decent deal. The fact that they took only 2,000 from your friend is irrelevant.
This mindset is prevalent in the senior management ranks and I'd say this mindset is a prerequisite to climb the social ladder. Poor people believe in rules and think that good behavior will get them a better life. Rich people know that there are no rules, only competition, and every move, including breaking a "law", has a risk-reward ratio. Our current US administration is a caricature on this mindset.
Money is when I conspire with a few thugs to block access to the only source of water in town and demand special tokens for access and when people ask where they can get those tokens, I tell that they can earn some by doing some work, like building a house for me or cooking some food.
And this assumption is based on what exactly?
Investors want to make their exits by offloading the burden to the public.
Nothing really goes thru their heads. They are rational, not emotional and strongly believing in missions is an emotional response. They are estimating probabilities of how this is going affect the market, Google and them personally, and plan their moves accordingly. I doubt they have any emotional attachment to the company, and given how much they are in demand, they would barely notice if the company folds one day. Same story for investors: those are even more detached as they make rational investments often in competing companies. So nobody really cares, as you see.
It's the usual "A contains B" relationship. At the top level, the entire project contains everything else, so there is one big box with many boxes inside. Usually, the next level is folders, then files, then classes and methods. But at the classes level, it gets tricky. There's syntax hierarchy, when class A contains method B, and there's logical hierarchy, when we know that in a working app, class A is the owner of class B, meaning that an instance of A creates, manages the state and destroys an instance of B. The visualizer needs to somehow account for this or let the user specify this relationship.
I think that a 3d webgl visualizer would be cool, but a graphviz style diagram generator would make money.
Some time ago I tried building something like this too, but lost interest at the end. Feel free to pick ideas if you find them interesting:
http://iswaac.dev/blog/2019-12-14/
The basic idea is to use nested boxes to represent ownership and lines to represent dependencies. I only did the first part to some extent: parsed JS and rendered the AST into a treemap using WebGL.
What I actually envisioned in my mind is a 3d nested boxes rendered in a "galaxy style" where you can fly from one box to another, click on boxes to show their sub-boxes and see the lines that represent connections. The 3d space would allow to unclutter the image.
Edit1. While I think that nested boxes is the natural way to represent ownership, it's often difficult to figure this ownership from the code. For example, class A is really the owner of B and C, but those are given to A as args in the constructor, so to an unsophisticated analyzer tool, B and C would be just deps. Perhaps the tool should allow the user to adjust the relationship status between objects based on some a priori knowledge. The changes would need to be saved, so next time the diagram is rebuilt from code, the visualizer would remember that A owns B and C. I believe this would be really useful in big companies that struggle to keep such diagrams up to date.
Edit2. I'm reading my own note about WebGL and matrix projections and laughing: I wouldn't write that nonsense with my current understanding of webgl.