I am annoyed by people who do bait and switch, like „we are open and promise free forever” - just after they build community or they manage to get some VC to talk with suddenly they start charging for project taking in all work contributors also created with it.
On the other hand there is bunch of cool projects that started like that and even if they bait switched it is hard to be angry at them.
Worst things happen always when 2 or more systems are combined because each system might be simple on its own, yet a combination is always much more complex.
For something the the prior statement it is never a weird question to ask of there actually evidence of this or just it seems like it should be true so we believe it.
There are tons of things that seem like they would obviously be true, but it turns out they aren't.
System is more complex based on possible states it can have or inputs/outputs.
That is just maths here working. Two systems combined always will have more states and inputs/outputs.
There is nothing to check here as it can be proven purely by maths.
Complex systems having more attack surface are obviously less secure.
They might be less interesting for attackers if they have to scan huge attack surface like IPv6 vs IPv4 but no one is claiming IPv6 network is more secure.
Cyclomatic complexity is funny math, though. The article demonstrates how. They took a single function that makes state changes to an object, and scattered that logic across four different functions that make the same set of state changes. That’s all. This had adverse impact on the complexity of the system - the logic and behavior of the top level function are the same. It’s just as stateful and has just as many linearly independent code paths. They just got shuffled around to game the way that cyclomatic complexity treats function calls.
But in the process they created three additional functions to call. That means the overall system has more possible code paths, and introduces a need to think about what happens if they are ever called from somewhere other than the original entry point. Introducing ways to screw things up that did not previously exist is not reducing complexity and it is not increasing maintainability.
Your insistence that this somehow managed complexity is exactly why I wrote the top level comment cautioning people about how they interpret cyclomatic complexity. If you don’t understand what it’s actually measuring - not complexity, not really - then it will mislead you into bad decisions.
It’s not obvious to me because cyclomatic complexity is not a straightforward proxy for the number of systems that are being combined.
It’s also the case that some of the most common sources of vulnerabilities, such as SQL injection, introduce no additional cyclomatic complexity. Heck, buffer overflows are good for your cyclomatic complexity - those array bounds checks are all extra branches.
Buffer overflow checks are really only going to be a linear growth in CC. It's when things move towards exponential growth or higher that it gets really easy to introduce flaws of many kinds.
Now, it's probably not a direct correlation. I'd think security bugs are more likely from programmers that unintentionally raise CC without really realizing it. Aka, overreaching their own knowledge when simpler structures are avaliable.
Sure. It’s just that there’s also so much research that has found that cyclomatic complexity is theoretically ill-founded, and that it tends to underperform other ways of measuring complexity. Most notably, just counting lines of code. (Not per function, in total.)
I'd argue that assuming something is obvious without any empirical validation is the root of a huge number of misconceptions that humanity has historically had. There's a reason science suddenly started moving a lot faster after we moved past Aristotle and started measuring things in experiments.
I would be set for the rest of my life if I got half a mill falling from sky today, I guess I could even make it work with 250k.
Currently I am pondering how absurd amount of money a billion of dollars is. When loads of people can only -earn and eat through/spend not save- $1 million; working their asses off for something like 20 years.
For what it is worth, if you want your withdrawals to last for decades, then you are limited to around a yearly inflation-adjusted cap of around 3% of the original principal per year, gross of taxes, if you invest in low-cost passive index funds. That is a budget of $30K/year for every million you have invested in the market.
If you are interested, the /r/fire and /r/financialindependence subreddits are useful.
> I would be set for the rest of my life if I got half a mill falling from sky today, I guess I could even make it work with 250k.
Maybe you only have a few years left to live? If not, I’m not sure where one can live on $10,000 to $15,000 a year and pay for shelter, food, clothing, and healthcare. It costs more than that per year for health insurance for one adult over 40 in the US.
That is what $500k grants you, chop those in half for $250k.
This is the biggest argument for socialism, you pay the taxes, get free health care and free education, every one gets the same irrespective of their status.
Why do Americans get scared every time they hear "socialism"?
Is it because billionaires have told them it's like "communism"? Are they so brainwashed they can't vote for policies to enable this sort of thing? No wonder the life expectancy in the US is lower than in Europe.
Those were not programming tricks, but computing tricks or command line/sql tricks.
Anyways I find it mind boggling how many useful actions are not known by „normal people”. Most people are really using computers in a very inefficient way.
My idea is if we would spend time making people learn computers or software they use daily better - we wouldn’t need AI agents and we would triple GDP.
> if we would spend time making people learn computers or software they use daily better - we wouldn’t need AI agents
There's no amount of skill/efficiency/productivity a human worker can reach that will make employers give up on the dream of one day replacing them with software. The AI companies looking to profit from renting out the collected works and creativity of humanity certainly wouldn't shut down if the GDP tripled either.
People should still take time to learn how to use computers though. As long as they're going to use computers they can save themselves a lot of trouble and anxiety by investing some time in learning about them a little. Same with many other things people use and depend on.
> There's no amount of skill/efficiency/productivity a human worker can reach that will make employers give up on the dream of one day replacing them with software.
I agree... but also this is so wrong it's painful. If you do have a good worker, they don't cost money, they MAKE money. Of course if you as the CEO think you are smart enough to cover everything and anybody but you is just wasting money, then that doesn't work and optimizing makes sense. Corporations have grown in size to be mindless heartless engine, literally, and that comes at the heavy price of ... not thinking, just an automaton with a single goal, growing profit, leading to an even more inhumane setup within which removing costly humans makes perfect sense.
While you’re right about good workers making money, the systems of accounting that are in place make companies congenitally blind to this. Workers make things, then later those things are traded to customers for money. Of course we can intuit the underlying dynamic here (good workers->more things->more money) and draw the arrow from “good workers” to “more money”, but for companies the most legible dynamics are “you give money to workers, then [a bunch of stuff happens]” and “[a bunch of stuff happens], then customers give you money”. The only way they could legibly see workers making them money is if they saw a dynamic like “[a bunch of stuff happens], then workers give you money”, which is a bizarre scenario like workers paying them to work there. In the same way that a quirk of human eyeball anatomy means our eye cannot see a spot 15 degrees outwards and 1.5 degrees below meridian, a quirk of corporation accounting practices means their accounting cannot see a worker making money.
Maybe, but there's all sorts of habits and skills that would make us enormously more productive/healthy/etc. if only the masses would learn them. This is a very old problem.
For sure! It was on Hacker News too that I learned not that long ago via this thread[1] how to tie my shoes in such a way that the knot won't come undone by itself. It has definitely saved some time with some shoes with laces that would always undo themselves on their own with my old method.
Presumably your official duty is not to make sure that the company does not fail, but something more circumscribed. Work on your responsibilities, and if your manager is nagging you to fix something that isn't that, have him make it official so you get recognized for it. If it should not be your job, push back.
If the entire company of thousands of employees stand or fall depending on your work alone, then you can find something which pays double your salary in less than a day. And thus pay your mortgage.
The point of the report is to put it on record that you believe a crime was committed against you and that you want a district attorney to press charges if an investigation is made and a suspect is found.
When I say “police” I am not referring to a specific agency, so yes it could be the FBI.
Hugging Face contacted the FBI but the “I want someone to press charges” part doesn’t seem to have happened.
I am annoyed by people who do bait and switch, like „we are open and promise free forever” - just after they build community or they manage to get some VC to talk with suddenly they start charging for project taking in all work contributors also created with it.
On the other hand there is bunch of cool projects that started like that and even if they bait switched it is hard to be angry at them.
reply