This is just another reason why dependencies are an anti-pattern. If you do nothing, your software shouldn't change.
I suspect that this style of development became popular in the first place because the LGPL has different copyright implications based on whether code is statically or dynamically linked. Corporations don't want to be forced to GPL their code so a system that outsources libraries to random web sites solves a legal problem for them.
But it creates many worse problems because it involves linking your code to code that you didn't write and don't control. This upstream code can be changed in a breaking way or even turned into malware at any time but using these dependencies means you are trusting that such things won't happen.
Modern dependency based software will never "just work" decades from now like all of that COBOL code from the 1960s that infamously still runs government and bank computer systems on the backend. Which is probably a major reason why they won't just rewrite the COBOL code.
You could say as a counterargument that operating systems often include breaking changes as well. Which is true but you don't update your operating system on a regular basis. And the most popular operating system (Windows) is probably the most popular because Microsoft historically has prioritized backward compatibility even to the extreme point of including special code in Windows 95 to make sure it didn't break popular games like SimCity that relied on OS bugs from Windows 3.1 and MS-DOS[0].
All the use of real names on social media accomplishes is a chilling effect on speech. Especially if your opinions differ from those of your employer or customers. Or if people who disagree with you are engaging in harassment campaigns or domestic terrorism against their political opponents.
This can apply to either side. Whether you're a Trump voter in San Francisco or an LGBTQIA+ person in a rural "Bible Belt" community. Doxxing is one of the most serious rules violations on the internet because exposing somebody's real world identity endangers the personal safety of the victim. A real names only policy effectively forces everybody to self-dox or be silenced.
The best thing for Brave to do would just be to build it into their own ad blocker because Google is going to intentionally make it more and more impractical to support older extensions that interfere with their business model.
I don't think there was ever a time when you could succeed in the marketplace on the merits of your tech. Once the tech reaches the relatively low bar of "good enough", the rest is sales and marketing. In the most lucrative enterprise market, the "good enough" bar is even lower than in the much less lucrative consumer market because the people who will actually have to use your tech aren't the ones buying it. Technical quality likely matters the most to "customers" who don't pay anything such as users of popular open source projects.
If you want to make money from a good product then becoming a social media influencer who talks about your product is the most straightforward way to advertise without having to pay for ads.
> In the most lucrative enterprise market, the "good enough" bar is even lower than in the much less lucrative consumer market because the people who will actually have to use your tech aren't the ones buying it.
This reminds me of the time Citi lost $900 million due to terrible software [0].
If success is financial then no. But you could build a reputation from some brilliant and easy to use/integrate tech. Which is in the hacker's spirit and the backbone of so many "successful" software.
It also set forth a very straightforward "success" path: make good software that the community praises and tech companies (who probably also use your code) will climb over each other to get you on their team. But I suppose those days are slowly ending as well now that many problems (for all but the biggest tech companies) are being solved. No need for a million dollar mastermind when a 100k mid-level can do the job.
I've got reasonable financial success in my software product mainly from the merits of the tech. Pretty much all the marketing I ever did was spamming a small mailing list once, making an anonymous website that subtly mentioned my product, got good Google ranking, and got referenced by other people, and eventually making a Wikipedia page which I'm not sure does any good. I got good ranking in Google early on without any particular effort, probably because there just aren't many competitors.
Other people have done a lot to help at their own initiative though. Resellers approach me and market it themselves, customers recommend it on forums, researchers mention it in their published papers, and one customer even wrote a chapter of a book about it - which was key to being eligible for a Wikipedia page.
I'm lucky though because it belongs to a slow moving, well-defined class of products that people in my target industry already understand so when they go looking for a cheaper alternative to the super-priced big names, they find mine. I'm not inventing a new market.
It's not free money though. It's very code-heavy and technical-understanding-heavy and I've spent nearly 20 years actively developing it by now. One man wouldn't be able to just smash one out in a year, and you'd need some reasonably deep domain knowledge.
I'm a bit shy about the details but it's used by engineers. Actually there's a lot of opportunity in software for engineers. They pay huge prices and the quality of what they have is often poor. I'm aware of some gaps in the market. For example, modeling thermal distortion due to robot welding. That's not what my product does but that's one where the existing solutions are something like $50,000/year and it's a hard problem in part because the software has to run faster than an actual welding robot making a prototype to be economical to model it in the first place. It takes some clever research to invent the secret sauce to get those speeds.
One reasonable compromise would be for video makers to provide a transcript or written article to complement their video. Video is a terrible format especially when you're actually using the video and not just using it as a mechanism to deliver audio. Audio is not a bad medium because you can do something else while listening to it.
I imagine most exit nodes are likely controlled by the US government and/or its close allies. Who else wants to have their IP address banned from most of the internet and potentially get visits from their country's equivalent of the FBI?
If most Tor users ran exit nodes and most people used Tor, it would effectively make internet traffic anonymous. But without those network effects, it is vulnerable by design to deanonymization attacks by state actors.
I run an exit node, and I know several people who do, I dont suspect any of them to be anything but people who care about privacy, surveillance, and helping people get access to the free internet from restrictive locations. I admit, I bristled at your comment, because I do not like myself, the EFF, and many of my close friends being imagined as part of the US Government.
I ran an exit node for a while, and found myself auto-banned from so many services that I stopped running the node and threw away my IP range (which now would be worth $$$ - oh well!)
I ran Tor nodes, had a bunch of blacklisted IPs, and just stopped running them and it was fine? Blacklisting Tor nodes requires updating the data often, so it falls off pretty quickly. To discard an entire /24 would be pretty funny over that!
Most people just use a DNSBL to block Tor exit nodes. They're pretty trivial to find online and presumably, very easy to set up because the list of Tor exit nodes is publicly available.
This also means the expiry time is usually tied to however long a Tor exit node stays on the DNSBL + 3 or so days (depends on how long the software is configured, but 3 days is typically the assumed default for IPs that tend to get mixed up with automated spam, of which Tor is also a massive purveyor.)
Whenever there's something that looks like a market failure, there's almost always a governmental grant of monopoly privilege or some government regulation to prevent competition.
Why are prescription drugs unaffordable? Because of a grant of monopoly privilege called "patents" that allow a company to monopolize a drug for around 2 decades. Why is health care so expensive? Because the government subsidizes employer provided insurance through the tax code so nobody cares about controlling medical costs. Why is housing so expensive? Because local governments literally make it illegal to build housing infringing on the private property rights of landowners with idiotic "zoning" laws and by doing things like declaring run down parking lots to be "historic" parking lots that must be preserved. Why is the labor market so skewed against labor and in favor of capital? Because numerous government laws make it harder to start businesses than it should be and also because government subsidizes employers providing "benefits" through the tax code. Why did the railroads collapse and most of the US become dependent upon cars? Because the government regulated the railroads to death with the Interstate Commerce Commission and subsidized both cars and car infrastructure. You can keep going on and on with examples but the answer is almost always something that the government did to screw up the market.
While this can be the case, numerous of the examples you have given (medical costs and the labor market to name two) have fewer problems in countries with much stronger government intervention/regulation.
If your government creates poor regulations then maybe that should be tackled directly (by electing less incompetent/corrupt officials) rather than concluding that regulation itself is bad.
Most of those countries such as Canada made certain markets like health insurance public, where it was deemed for the publics benefit not to be run for profit as there's far too many externalities and moral issues. We made the same choice with police and public attorneys. Sometimes, in very rare cases usually invoking peoples health and safety, it makes sense for it to be public.
What doesn't make sense to me is that massive meddling western governments do to prop up these monopolies. Copyright is a perfect example. Or just look a Boeing in 2024 or many Wall St orgs after 2008, special treatment and artificial barriers to completion is a huge and ever growing problem.
And these debates always just dismissed and downplayed because all context gets thrown out and it turns into vague gov regulations vs markets fights, as we see here in this thread.
The cyberpunk future of megacorps ruling the planet will be the result of gov interference in the vast majority of cases. And only a small amount due to lack of any monopoly antitrust enforcement. But both have the same root cause of forever expanding gov technocracy->megacorps define the rules and buy politicians->no one wins.
I'm actually in favor of some government intervention to fix the mess it created or where that is politically more plausible than a free market solution. Antitrust action to break up large companies would be great as would banning non-competes and addressing the culture of companies requiring absurd numbers of interviews to get a job. I also favor regulations to stop fraud such as making it illegal for airlines to sell more seats on a plane than they have.
In medical care, I'd prefer a Singapore style system where the government covers catastrophic care but you have a savings account for everything else. I think that's more viable than a pure free market because a college student who comes down with cancer or gets shot in this very high crime country probably can't afford to pay out of pocket for medical care. Likewise with somebody who gets laid off because their employer wants to increase its stock price.
In general though, I like that we have had significantly higher economic growth than European countries over the past generation and want it to stay that way. So I prefer libertarian solutions over socialist solutions wherever possible.
I appreciate your ideas and do tend to lean libertarian myself overall, but let me offer another perspective as well.
As someone who has lived in both places (European country with many social programs & the US in several states) — yes, wages and “economic growth” are lower in Europe, but the standard of living is very high.
Most people, in the European country that I lived in, ate healthy high-quality food that was cheap compared to the US. There were many bars and restaurants nearby where friends would regularly meet up, but there were also lots of parks that would be filled with people having picnics.
Registering for healthcare was mandatory, but it was cheap — even with our high salaries, we only had to pay 100€ per month for unlimited everything-is-fully-covered healthcare.
The police were generally trustworthy and hands-off. They had a bit of a reputation for being lazy and not responding for non-emergencies, but the streets were incredibly safe - me and my (female) partner were both totally comfortable walking alone at night throughout the city or countryside, and nobody we knew had major problems either (other than teenagers being weird).
Sure, it looks economically worse to ride your bike or take the train to work and walk to the grocery store, since those things don’t cost nearly as much as driving. And having a picnic in the park with a friend and a baguette doesn’t add to GDP like spending $40 on DoorDash to eat McNuggets in your basement.
But the human element is that life is actually much more satisfying and rewarding to get exercise and be a part of your community.
My point is, without having lived experience, it’s not very informative to just compare economic growth alone.
The problem with that is if you have some. Non recognized illness. Maybe something that gives constant pain but hard to detect. If you are a student, it would be really bad.
For IP there is a market failure if you don't have government regulation. IP is non-rival and non-excludable, and non-rival non-excludible goods don't really work well with free markets.
There are three general ways to address that. (1) Ignore it, which tends to lead to underproduction. (2) Have the government pay for production of IP, which becomes public domain. The downside of this approach is the government has to decide which IP to pay for. (3) Give IP the necessary properties by law for it to work well with a free market. This can fix the underproduction problem but does result in underconsumption.
It might be possible to address the issue in (2) of the government deciding what gets funded. One common suggesting is to fund production through a tax on something that tends to correlate with consumption such as internet access. The money from the tax would fund creation, with the money a work earns going up the more it is downloaded. There'd have to be something to deal with cheating though.
I think there's a case for short term copyrights (28 year terms or less) but I don't think patents are necessary for innovation. You generally can't stop people from copying your food products but we still have a ton of new foods on a regular basis because inventing new food is lucrative even without a government monopoly. The extreme competition and the ability of grocery stores to come out with a store brand copycat keeps big food honest and prices low. Recently, many people have started buying store brands instead of name brands which is why there are tons of signs at the grocery store about price reductions these days.
I do think it'd be hard to make sufficient money to fund a video game or a movie without copyright because they are inherently non-scarce goods once created that can be copied at effectively zero cost. I don't think it matters for books, most of which don't make money for their authors anyway. I also don't think it matters for music because the money there is from live performances and people only care about Taylor Swift's songs because she's singing them.
If we got rid of copyright, government could subsidize the production of works that would be copyrighted by creating a UBI and/or returning to the old norm of a single income household. Many people already create these kinds of works for free and/or ask for donations.
The FOSS community, which only uses copyright law (in the case of GPL) to force FOSS code to stay FOSS or (in the case of MIT) to require attribution, illustrates what the software industry would look like without copyright. Some people, including myself at one point, even work for companies writing FOSS code. Most software companies already make money by selling support contracts, cloud services or ads rather than from selling licenses to copyrighted software so fully abolishing copyright would have surprisingly little impact on tech.
You say that as if corporations don't have a greater ability to screw up the free market so completely.
Why doesn't Disney have meaningful competition? Because they bought them. (Also applies to health care. PE firms buying up everything has hurt us a lot.)
Why don't other just-shy-of-monopoly streaming companies lower their prices to take Disney's customers? Monopolies over streaming rights for shows and back-room deals.
Why don't customers take them to court? Binding arbitration clauses in the click-wrap contracts. (This also applies to your housing problem, by the way - the free market can not work when there is collusion. And that's not my assertion, that's economists' take on the effects of collusion.)
I'm pretty sure this isn't the government who has fucked this up for us customers, it's the corporations. In fact, I'd go so far to say that the weakening of anti-trust enforcement in the Regan era and the polarization of the FTC and other administrative agencies is what allowed this kind of collusion, copyright abuse, and monopoly formation.
EDIT: I'd also ask one further question: Why is the government taking any action in big company's favor? I posit that it's due to the the companies taking semi-legal actions with the legislators who can make laws. Why are the actions legal? Because of prior illegal actions - more back-room deals - no doubt.
The specific problem with COBOL is that COBOL is both a language that was badly designed on the day it was created and that there is a stigma against programmers who have worked with it. This stigma is also a problem for other languages such as Visual Basic and PHP and it can make it harder to find programmers willing to work in those languages. Nobody wants to be "unemployable" because they worked in a stigmatized programming language even though the idea of stigmatizing programming languages is objectively idiotic.
This wouldn't be a problem if organizations that are still using COBOL code would pay high salaries for COBOL programmers because there are people who are only writing code for the money who'd be happy to work with a terrible programming language if it makes them money. But they generally also want to pay antiquated salaries from decades ago for COBOL jobs if they even offer a salary at all. Because they would have migrated their system off of COBOL decades ago if they actually cared about properly maintaining it!
Not sure if COBOL is actually 'stigmatized', but it definitely doesn't match the experience requirements in the job postings for most places where young programmers want to end up.
It might well make a "second half of a career" job for not-quite-so-young programmers looking for an alternative to the tech-stack-of-the-month carousel. But the jobs tend to be with big old orgs (so, start with banks and government), which might not seem so attractive.
> In every round, the interviewer should leave with the impression that you answered their questions as honestly as possible because you’re looking for the right fit, not just a job.
This is precisely what I despise about "job interviews". What you ask in the "Do you have any questions?" section of the interview should be irrelevant. I don't want to have to ask questions when I don't care about the answers just because that's what "top candidates" are supposed to do. What you're actually measuring is how much the person you're talking to is willing to read articles like this to come up with fake questions to ask as part of a fake performance so you'll hire them.
The interesting stuff that will make an employment unpleasant is not going to come out in an interview. That stuff comes out over time. To boot, I can think of quiet a few lies/half truths from interviewers. It is like dating, nobody says they are actually a lazy slob and the codebase is a POS on the first date.
For somebody who's unemployed, especially somebody who's been unemployed a while (very common in this market), the main thing you care about is getting employed again.
I imagine somebody who's currently employed wants to know that the company is better than the place they're currently at before they'd accept an offer. But sometimes "better" can be a very low bar to clear because their current company might be awful.
In other words, evaluating the candidate by their questions is just bias towards those who are already in good situations. Somebody being unemployed or employed in a toxic environment doesn't mean there's anything wrong with them especially in an economy where companies continue to lay people off at random.
> In other words, evaluating the candidate by their questions is just bias towards those who are already in good situations.
It sucks for the employee, but the unfortunate truth is that filtering for someone who's already in a good situation is actually a really good filter for the employer. As you say, it doesn't necessarily mean there's something wrong with them, but being unable to find a job for an extended period of time—to the point where you'll look for anything and not try to filter workplaces at all—is correlated with undesirable traits. Meanwhile, being steadily employed in a chaotic market and asking questions that show you're not desperate and are evaluating me as a hiring manager are both correlated with positive traits.
Again—not that any specific candidate is problematic or good because of those situations, but you will tend towards better hires overall if you watch those cues.
The hiring process sucks and it sucks that this method of filtering works, but it does work.
> The hiring process sucks and it sucks that this method of filtering works, but it does work.
How do you know this? (That this is not just sampling error, survivor bias, and/or confirmation bias)
I speculate that a good hire is almost random. Context matters as well. I worked with someone that was horrible, to later find out they were the other dev that I was going to work with later on a contract job. The different environment was night and day.
That being said, I do think the signal of a horrible hire can more often than not be detected during an interview. Otherwise, IMO, there is too much noise that it is close to random.
This filter works because people that are really good at what they do naturally tend to actually care about the surrounding tools/processes involved. Someone that has no opinions at all about those tools/processes is just showing up, and people that are just showing up are not usually as good as people that are passionate about the work.
That said.. it is stupid/insulting/weird to interview assembly-line workers as if you're looking for skilled artisans. Most companies/interviewers completely lack the self-awareness and ability to reflect on which category of worker they actually need/want, and may not even realize there are 2 categories.
I take you are referring to a different filter. I was responding to:
> "the unfortunate truth is that filtering for someone who's already in a good situation is actually a really good filter "
Be what it may, the "caring about tools/process" filter I also think is fraught with issues. (1) candidate might have already been described what the tools/processes are several times already. Perhaps even up front in the job description. (2) I've learned that tools and processes need to be evolved, gently suggested. It does not go well to say, yeah, drop scrum, do fewer CRs and only when important, add an auto-formatter and all these things. Secondarily to that, those things are not necessarily that important. It is work about the work there, better often to just do the thing then to spend too much optimizing the effort to do the thing. (3) a candidate should be asked what they would change in tools and process. Volunteering that can show a lack of "business focus". (4) any issues in tooling/process might be pitched as opportunities for impact that the candidate could have. In reality those things get political and it might not be a position that is empowered to really change much. So why deep dive into that during an interview - the person is being hired to do a thing, not to just do tooling (unless it is a tools efficiency job of course!)
At the same time, I would agree that someone with no opinion likely has no breadth in the process aspect of development. Yet, does that matter? It is more important for a team to get along than to try to 10x itself by going full bore on process efficiency. The latter is a myth. Focusing on that myth likely is going to be endless meetings/discussion about process and not business problems.
What is more, tools and process are context dependent. What works at a big shop (eg: FB, amazon), or the last shop - might not work at all at the next shop.
I'll emphasize as well that tools/process are best evolved with focus on areas of greatest need. That is a learning and discovery process. Getting a clear signal during an interview of whether someone understands that, or have just followed the scrum guide without much thought could be a real challenge. Asking someone even if they follow the scrim guide is nebulous, many have not read it, they might say they have but clearly have not. Yet more, the saying of "if you're still following the scrum guide a year later, your process is not agile"
Ergo, I suspect the "cares about tools and processes" will be a noisy filter. Caring too much creates discord on a team and ultimately is distracting. Sussing out willful indifference vs indifference due to business focus (eg: "I really don't care, just point me at the business problems and the rest is bullshit that I'lljust have to suffer through"), vs just shows up. I believe differentisting that alone is a big challenge (and potentially susceptible to a variety of biases). Yet more, is that the most important thing to focus on during an interview, is that really a valuable filter? I'm not sure. Sometimes having a few people not care is good, less bikeshedding.
> For somebody who's unemployed, especially somebody who's been unemployed a while (very common in this market), the main thing you care about is getting employed again.
Rather than seeing this phase of an interview as a chance to "conform even harder" and show smiling engagement in what is already an unfair / coercive farce, try thinking of this as an opportunity to exercise your curiosity.
I mean sure you don't really care, you just need a job. But it's possible to be curious about lots of things you don't really care about. Look at that bird, I wonder where it's flying from/to. Hey it's a car parked on the street, I wonder how many people had sex in the back. Look it's a manager at a company, I wonder how they handle product ideas in that company. Being curious is easy, usually it hurts nothing, and it's a kind of muscle that benefits from flexing. Besides, especially if you've got a long drive or a long interview.. well you're stuck with it, and what else are you going to do.
Yes, your current situation does make a difference in what is important to you and which questions you have. And it also influences the balance at the interviewing table. I can imagine that it is frustrating to feel being evaluated against candidates who have the luxery of saying ‘no’ to a new job and can think critically if they want to work at the new place. Sometimes you have more freedom to say ‘no’ then you think. It can make a difference between night and day.
My impression has always been that very little information given in either direction in an interview is relevant to the next year, let alone the next ten.
In theory it’s irrelevant in practice although companies try to make the process quantitative it is ultimately qualitative because it’s a human rating on a qualitative rubric. The impression you leave on the interviewer always makes a difference in how they represent you in their feedback and panels.
It’s like in school every TA uses the same rubric yet they all grade differently.
If you don't have any interest why do you want to work at that organization? You just want a check? That's not a good way to spend half your waking hours during the work week.
If you aren't already wealthy, you're probably working because "you just want a check". Even if the job you want is to own your own company, you still have to work until you have enough savings. This is how the world has always worked for most of the population in every human society that has ever existed.
If your skills are in demand you can get the check from many employers.
That said, if you want to run a business, and you don't like/want to do anything else, then you're kind of stuck. Unfortunately not wanting to do the job you want to get isn't generally what makes you a great hire but wanting to do a different job without having any skills also doesn't make you a great hire. Owning your own company is easy, go register it and you own it. Getting a check out of that is a little harder.
Yeah. When I’m interviewing folks at my current company, and the Q&A portion begins, I tell them they can ask whatever they want or just reclaim the time; my notes are sealed. More interviewers should operate like that.
You can tell them that, but I don't think I'd believe it as a candidate. I'll assume that every interaction I have with you up until an offer is extended is going to influence your perception of me, whether you're taking notes or not.
I suspect that this style of development became popular in the first place because the LGPL has different copyright implications based on whether code is statically or dynamically linked. Corporations don't want to be forced to GPL their code so a system that outsources libraries to random web sites solves a legal problem for them.
But it creates many worse problems because it involves linking your code to code that you didn't write and don't control. This upstream code can be changed in a breaking way or even turned into malware at any time but using these dependencies means you are trusting that such things won't happen.
Modern dependency based software will never "just work" decades from now like all of that COBOL code from the 1960s that infamously still runs government and bank computer systems on the backend. Which is probably a major reason why they won't just rewrite the COBOL code.
You could say as a counterargument that operating systems often include breaking changes as well. Which is true but you don't update your operating system on a regular basis. And the most popular operating system (Windows) is probably the most popular because Microsoft historically has prioritized backward compatibility even to the extreme point of including special code in Windows 95 to make sure it didn't break popular games like SimCity that relied on OS bugs from Windows 3.1 and MS-DOS[0].
[0]: https://www.joelonsoftware.com/2000/05/24/strategy-letter-ii...