I often run into this argument - "inconsistent syntax", followed by zero proof. Then I wonder - is the person making the comment even using PHP or is the person behind the comment.. even capable programmer?
Yes, PHP has been "cleaned up" and you have always had the option to use clean, concise way of coding without language interfering or hindering you in any way.
There's no programming language out there that makes up for the sloppiness and inability of the person behind the screen.
Quake 2 is one of the most difficult FPS games to play competitively. I played the game for 10 years, 1998 - 2008. I can tell you're looking at the game from a different perspective (I'm assuming you're referring to its singleplayer), however - its multiplayer component was nothing short of amazing. Game actually takes a huge physical toll on the player due to complex controls (strafe jumps, circle jumps, doublejumps, circle-strafes, occasional rocket / grenade jump), and the movement aspect combined with aim and general awareness made it one of the best games I had honor to play.
Part of the reason I started the DOS port was that the QuakeWorld port had dropped to zero activity. I was trying to validate a different style of building GCC and all the servers were empty.
When q2 had shipped out I was so busy working I never had time to play it seriously.
Quake 4 felt far more engaging to me. And q3.. I had the tin box set for Linux. Remember that push to make retail Linux gaming a thing? Shame it never panned out.
Basically, what irks you is that Vue separates presentation (visual) from the logic via <template> and <script>, reusing components via HTML elements is poorly thought out and binding values to attributes is bad because hey, you can actually use JS to compute the value.
Naturally, even though you can disregard the templating and resort to idiomatic JS, like one in React, you managed to develop an opinion after not using the features you like.
This just makes no sense honestly. I'm all for people having opinion to the point where you can blatantly say "I hate Vue because I like React more", there's literally no need for justification.
But spewing nonsense just to justify your preference is just bad. Are you a junior dev by any chance?
I've used both extensively and I can recommend Vue over React because React is a pile of mental manure. I never understood React hype, but then again - IT is a fashion business, and when "leaders" invent crap - flies tend to follow.
I've been in frontend for a long time, since 1999. The dev console is my workplace. I have to use and be familiar with all popular browsers. Chrome's dev tools are far better in my opinion.
It's fascinating how we, humans, are lazy. We're lazy to the point where we'd gladly allow services like Spotify to control our computers just so they can make sure their ad was delivered. We'll even justify it by "well, I really listen to a lot of music". All I want is to push a button and get some bearable-noise during my 8 hours at work.
I don't know about the rest, but I really hate when someone makes a fool out of me. I'm a lazy person too, if a service that I like asked me bluntly "hey dude, wanna give us all your info and let us sniff your traffic so we can stick ads in, we're even gonna sell it" - I'd say - sure, you were honest enough, screw it - go ahead, I didn't have to navigate through a wall of text critting me for 9000000 to get that piece of info.
But no. No one behaves like that. Long user agreements, service agreements, catchy call-to-actions on websites that promise wonderland filled with unicorns shitting M&M's and what not just so they get those few bucks out of me...
Oh well, hello foobar2000 my old friend, seems like I'll un-lazy myself just to spite these prying assholes.
It's not just about justification of freeloading. It's about a company being able to push arbitrary stuff to your device masked as adverts. Yeah fine I listen to music for free on your service. Does that mean that everyone should be able to spy on me? Nobody is complaining about voice or image or video-based ads. But running JS and iframes is just arrogant.
Also I'm very pissed off with people who say freeloading. It's not freeloading. I pay with my time to watch or listen to your stupid ad. I should not also pay with my personal data. An ad is just an ad it should not have evolved to the monstrosity of tracking you.
It has evolved in the same way copyright has until we find a way to kill both of them as they are not needed in our world.
> I pay with my time to watch or listen to your stupid ad.
Not if you're using an ad-blocker.
Perhaps the reason you're using an ad-blocker is because you don't want to be tracked, and the only way to do that is to block ads completely. I get it. But you're also using up Spotify's bandwidth and licensing fees (which in turn allow music to be created in the first place), without providing anything in return.
This is only possible because paying and ad-watching customers are subsidizing your behavior. It is the definition of freeloading.
Advertising can be done without arbitrary code execution. Magazines, broadcast TV, radio, podcasts, movie theaters, billboards, news papers, etc. all manage to do it without that. Spotify already has a way to deliver audio and video to the machine, nothing else is required, and if they used that existing avenue, blockers couldn't stop it.
Audio and video ads are super annoying and I'm reminded of that every time I listen to radio or watch TV, which is why I gave up on both.
No thanks.
The issue isn't one of arbitrary code execution. Lets not be hypocrites.
AdBlock Plus has over 200 million installs on the desktop alone. Are you going to tell me that those 200+ million users of AdBlock Plus are concerned with arbitrary code execution? What percentage of those users do even know what that even means?
Between 10% and 20% of Internet users are using ad-blockers. Lets do an imagination exercise and say that Spotify would only serve images for ads. How many of those 10 to 20% of Internet users would whitelist Spotify?
Whitelisting won't even be a factor because ad blockers won't work against ads delivered along with the main content. At least not without way more processing power, much more complex software, and a lot more volunteers creating filters manually. The current ad delivery methods are what makes the ads so easy to block. So, being unable to block ads, users will either deal with it, pay for ad-free, or leave, and then the real value of the service will be revealed.
>>Perhaps the reason you're using an ad-blocker is because you don't want to be tracked
I use adblockers to protect myself against malicious content masquerading as ads, which both the ad delivery networks and content platforms have proven unwilling or unable to address to an acceptable extent.
I honestly don't consider this particularly relevant, especially in the case of Spotify which has a paid ad-free option (as opposed to something like cnn.com, where you don't have a choice).
If you want to boycott Spotify for endangering people's computers, go ahead. Heck, if you want to attempt to use Spotify with an ad-blocker, go ahead. I don't feel morally comfortable using ad-blockers, but I won't fault others for using them.
You do not get to use Spotify's free tier, block their only potential revenue stream for that tier, and then turn around and cry fowl when Spotify notices and bans you.
Completely agree. Spotify offers two options: free with ads, or paid with no ads. Completely up to you which one to go with. If you don't like ads they have and option for you. I don't like ads either, and I use an adblocker to block tracking and protect against malware. I also want to use Spotify. So I pay for it. How self righteous do you have to be to complain about this? If you don't like Spotify's model, don't use the service. It's a perfectly valid option, and there are plenty of alternatives.
I don't use Spotify personally. I have Apple Music, my problem is more with the fact they are now forcing you to run arbitrary 3rd party code to have access to their catalog. Just keep the ads as images and videos and sound and I'll be pretty happy.
I have this problem with websites, apps, social networks, etc. as well. I don't want to be tracked, retargeted and so on. Not because I think ads will influence me or anything but its about my trust in those companies and how they protect my data. When my data gets leaked because they are inadequate at security I don't get money back. I get a message saying "We take your privacy seriously"... And that data can then be used in various other ways to harm me.
What’s fascinating to me is the length people go to in order to justify freeloading.
Fuck the money, I’m not letting a site run arbitrary code on my machine, especially when they have a track record of spying and installing malware. They have a right to make a living, I have a right to own my property without having it damaged by casual greed.
Or don't. I've pirated music and movies. I just don't get too mad about it.
My point, put another way: I respect the desire to block JS ads, AND I respect the will a non-critical app in a competitive market to make stupid decisions with their ad policy. AND people who don't like that policy can move to Amazon/Google/Apple/other music platforms, or pay Spotify Premium.
Pardon my language, but it's a fucked up point to say pay a service money if you don't want their software to conduct clandestine operations on a device that probably contains all sorts of sensitive and private data that NOBODY has claim to but you, and the people you've expressly desired to share it with.
That's the point it would seem to me reading these comments; I realize paying gets rid of the ads, but it's pretty messed up to sit back and think that you're ostensibly paying for "good behavior" from Spotify w/rt to ad tech and what that technology enables on our devices.
It's easy to say pay or don't use the service, why isn't as easy to say "Spotify, don't be dicks with your ad technology on MY phone"?
If I pay a kid $.25 for lemonade, I'm paying for lemonade. If he says "hey, enjoy a free sample of my lemonade while I tell you how I made it", that's a fair trade-off. It is NOT a fair trade-off for his dad to spike my lemonade with a sedative so I'll want to sit down and give his kid an opening to blabber about his recipe while winking and saying "should paid us that quarter, chump".
You aren't paying to get rid of ads, you're paying to get music. Ads pay for the music, or money can. It's only paying to get rid of ads if you view the music as an inevitable outcome, and this change is Spotify asserting that's not the case.
Emotionally manipulating people for profit, harming them not just by annoying them but also by impairing their ability to make rational decisions, is always wrong. And that's what advertising is.
If you sell yourself into slavery, you don't become a slave. If you use a product "in exchange for ads", you don't lose your right to protect yourself from them.
It's more like the kid giving you 2 options:
- Unspiked lemonade for $.25 - Spiked lemonade for free
Companies are free to sell what they want, for the amount they want. At least there's more than one option here.
Thst kid would be arrested, because it’s plain to see from a legal and moral perspective that it’s wrong. Besides, it’s not like that at all.
What it is like is a radio station threatening to cut off service to people who switch channels or turn down volume during ads. This is a problem with the business model, and using TOS tricks to try and twist people’s arm. If they want to be sub only then by all means, but if they want to use an ad model as well then they incur some risks with that. I’m also not clear that it stops with the “free” service only.
Personally I don’t use Spotify, because I like to own my music, and I trust in their business model’s longevity about as much as I believe in fairies. When companies have to threaten their customers to make a business model work, the model is already fucked beyond repair. Advertising on the internet isn’t compatible with the existence and proliferation of ad blockers, and I bristle when a company makes a move to try and undermine autonomy to shore that model up. Moreover if Spotify does it as people accept it, other companies will try to follow suit.
So if a company X is offering something I would like but on different terms, you think it would be entitled and selfish of me to make it known publicly that I would prefer different terms?
The presumption is that they were using the product against the stipulated terms. Nobody is arguing against free speech and if you think Spotify are awful for serving bad ads you can say so.
But this article is specifically about people using a product against the stipulated terms. Criticizing bad ads is valid in general, but people expect topical discussions to stick to the context. Either clarify you are speaking from a different context or you will get misinterpreted.
I didn't use the term "allowed" to imply there is a free speech argument, but to imply that there is an unreasonable expectation on people's behavior. Expecting that customers should "just" stop using service without complaining about the fact that they are doing so is not a reasonable expectation. People should air their grievances in addition to voting with their feet.
You don't need to run arbitrary third-party software to run ads, period. I'm perfectly fine with ads in an ad-sponsored ads but I'd appreciate if it didn't open my computer to malware infestations.
Capability + intent is what counts in this case. They intend to deploy countermeasures targeting a minuscule percentage of people, but every user will probably feel the consequences. This, plus the fact that they are willing to serve JS from third parties, is a dangerous mix. It's not what you would expect from a music player app.
The technical challenge of getting something for free, without restriction, without digital restrictions management, able to be shared, in an archival form that will last decades is worth 100x the cost for whatever trash Big Media will sell you.
I have no problem with advertisement if they agree to take full liability if any contains malware or breaks the law.
If that requirement is freeloading then I disagree with that definition of the word. They enjoy the benefit of behavior which if it was offline would be illegal, and out competes those service which operate more ethically. Since society currently expect the users to be responsible if their machine get infected by malware, it is fully ethical if they use software like ad-blocks to protect themselves.
> What's fascinating to me is the length people go to in order to justify freeloading.
I agree. For the past two decades, companies have privatized immense swaths of the digital commons and paid nothing for it, freeloading on the work of the countless public institutions and hobbyists who both created it, and created the culture which attracted billions of "users" to it.
With Spotify it is even worse. They have taken music, a prehistoric participatory artform and characteristic behavior of our species, and are trying to gamify it into a product that is no longer just music and which they own.
For the record I am a musician, and I'm pleasantly well-off so I have a paid Spotify subscription though I rarely use it. I held out until mid-2018, and didn't listen to even a single track on the service before then. Not that there is the slightest moral issue with using an adblocker while consuming broadcasts that contain ads, which I also do.
I'm not a "freeloader" as I pay for the premium service, but this news is the last straw. I'm unsubscribing and uninstalling, as soon as I figure out how to download my playlists.
I know this news doesn't affect me, but the principle is the important thing.
There is absolutely nothing to justify here. Running ad-blockers is perfectly fine in any context whatsoever.
Everybody has the right to control what is displayed on their computer when they browse the Net, and Spotify has the right to cancel free accounts for whatever reason they want to. There is nothing wrong with running adblockers and anti-anti-adblocking scripts, etc., and there is nothing wrong with canceling free Spotify accounts. There is also no cognitive dissonance with running and ad-blocker and being angry when Spotify cancels your free account because of it, it's a perfectly reasonable and consistent attitude.
Clicking on magnet links is just as difficult as clicking on a song in spotify, maybe the websites arent as nicely dressed though.
In the U.S., its $10 a month for your entire life. If you live another 100 years, thats $12k that could have bought top top top of the line speakers or enough cds to fill multiple bookcases. We have so many services like this now that are packaged monthly to hide the real cost of long term use. Its like rent to own all over again, except when you stop renting you do not own.
Then don't use their service. Why is this made out to be difficult. If you want to take/consume their service then pay, for it via ads or subscription.
If you don't like that they have an ad based model, and personally want to boycott their subscription service because of it then do so and buy your own music.
It's not complicated. 'Not rewarding their behavior' is simple - don't use Spotify. Anything else is very transparent, after-the-fact justification of your desire for theft.
"Hey I really like this bike share service, but I don't think it's safe, so I'm gonna steal the bike, improve the safety and then ride it whenever I want. I don't want to reward their behavior of renting bikes I feel aren't safe."
It's totally unclear to me why you think this should be considered bad behavior.
Imagine a grocery store has a promotion - you can get a loaf of bread for free if you listen to a twenty minute advertising presentation. Does this justify not going to the presentation, and just stealing the bread?
You go to the presentation and someone demands you empty your pockets into a bowl that they will take into another room while you watch the presentation, wallet, phone, keys, etc.... You decline and leave, but you already ate the bread! Did you steal it?
I'd say it's more akin to using Spotify with an ad blocker before this change. If Spotify wants to switch to only handing out bread after the presentation obviously that's fine too, but it doesn't make the whole proposition any less shady.
Well this would have to be a special kind of bread where the inventory amount does not change when a loaf is consumed.
Bear in mind, this loaf can also only be eaten inside of the grocery store. You cannot leave the store with the bread, because it is welded to the infrastructure of the grocery.
Not paying for a gym membership would be a better example. You're using up available capacity without giving the gym a way to monetize your presence there.
A better analogy is a protection racket: pay up or we'll serve ads that might contain malware to your device. If Spotify took responsibility for fixing my computer when it gets a worm from an ad, we'd have a deal that is much more fair.
Absolutely, not using Spotify is better option. My original comment was arguing against "just pay for it" being a good outcome, as it relates to Spotify's future incentives.
> What’s fascinating to me is the length people go to in order to justify freeloading.
I can tell you didn't read carefully what I wrote, but that's fine.
Here's what Spotify tells me: "Spotify gives you instant access to millions of songs – from old favorites to the latest hits. Just hit play to stream anything you like."
Where's "but we'll also monitor you and inject whatever code we can, we might allow our customers to do so too, we don't know what it might be but since we wasted $0.003 to acquire you, we need to make at least $5 off of you and we don't really care what happens to your device or if someone breaches our customer and does bad shit to you."
I believe in reciprocity - and the odds are worse at my side if I "freeload" :)
What you described is more or less covered in the T&C's checkbox you ticked when you created your account.
And even if Spotify had appended their marketing language with the "but we track you, never forget that", would that have somehow made you turn off the adblocker?
To counter this, I got an email from Spotify a few days ago telling me about their terms of use update, and they were very upfront about the ad-blocker crackdown right in the email. I don't think they were hiding anything behind their ToS at all.
Are people lazy, or do they have much more important things to concern themselves with? I'd rather get work done and spend time with my family than spend time looking for the "ideal" way to listen to music.
It isn't lazy to want to listen to unlimited music from an app on your phone. Its an efficient and a very useful service. There are other options (like buying albums), but Spotify makes it easier.
In the context of what you're doing with PHP, that one-fits-all data structure is all you need. I sincerely doubt you had hurdles in your career because of PHP's array :)
The "classic" you're referring to is far from something objective. There will always be problems with languages. That's why we have the human factor who is supposed to be intelligent and work around the apparent issues and make the computer do useful work despite apparent tool glitches.
Sadly, we're just creating better idiots who are only getting better at whining.
Of course. That's the only reason to invent languages: to take care of stuff people are not good taking care of, and move the work to the computer, allowing us to work on the level that we're good at taking care of.
Else we'd all be using assembly.
There's absolutely no pride or glory in doing things nicely and securely that the computer could have automated in the first place.
Anything the language allows that it could refuse while allowing devs to express the same features, and that results in bugs is a mistake in the language (e.g. the sorry state of strings in C).
Incompetent people will create incompetent things regardless of the tool. Simpler tools lead to simpler messes while complicated tools lead to complicated messes.
I've seen an attitude that people think they can inoculate themselves from inept programming by using obtuse frameworks as if martin-fowler-speak acts as a drill sergeant making disciplined coders out of the herd.
But after 20 years of bouncing around startups I've never seen the intended results actually happen a single time. Not even close. Not once. Never.
Instead it leads to larger, less maintainable, more convoluted messes that have to be trashed quicker. Giant ceremonial cargo cult style monstrosities with huge circuitous logic - 4, 5, maybe 6 layers, a router calling a controller, calling a service, calling a provider, calling an event model, which runs a single if statement ... as if that's how we protect ourselves against incompetence.
These approaches just lead to wasteful projects where they end up rewriting the whole thing in whatever the framework/language de jour is instead of writing easily maintainable, quickly understandable code that's designed to work for the next 10 years. I've talked to many programmers who are embarrassed by the language they are using ... wtf is that?! They've turned programming into fast fashion.
Then people like to ask what someone's favorite language is, usually when they first meet them, as a social cue, as if we are a bunch of highschool kids following pop music. I mean what on earth... we're supposed to building the future here, not running around like a bunch of spastic fanboys from platform to platform, just to mess everything up all over again in bold new ways using slightly different syntax.
The best thing to do is give people the least abstract thing with the fewest conformity requirements ... essentially make it open ended and then the messes are easier to spot and easier to fix. You won't get 4 folders with 26 files handling simple tasks like uploading images to an S3 bucket (saw this huge mess just last week and guess what?! It's broken. I know, surprising right?)
Anyway, new shiny fancy tools with GoF buzzwords won't ever fix incompetence, it'll only make it worse.
>Incompetent people will create incompetent things regardless of the tool
Which is neither here nor there.
For one, it ignores the pragmatic issue, that very competent people (the very people that built the foundations we all work on even) will still make lots of mistakes, even trivial ones, but with severe consequences (e.g. buffer overflows) when the languages don't prevent them.
If only it was just "incompetent people" that made mistakes...
>But after 20 years of bouncing around startups I've never seen the intended results actually happen a single time. Not even close. Not once. Never.
You weren't looking hard enough. Every day millions of programmers don't make "buffer overflow" errors for example, that otherwise they'd have made, because they work in languages that don't allow them.
And they'd have made those mistakes regardless of their programming chops. The best programmers, people that run circles around you and me, still make those mistakes.
The way I think about it is if you think through the entire software stack and all the instructions that get executed across all the machines and their operating systems and programs running underneath before things even get to your code and then all of the standard library and framework code plus your code. For just a simple loading a web page that is a trillion piece jigsaw puzzle and every single piece has to line up or the whole thing just doesn't work.
We do the humbling and the remarkable every day and trillion piece jigsaw puzzles are no joke. It's the exception that you get it right. Given all the pieces required that's a lot of sources of potential entropy and the more it increases the more the system destabilizes and/or becomes unworkable. Things like languages, libraries, frameworks etc make certain decisions on your behalf with the goal to contain some of that entropy within their given abstraction.
Those mistakes aren't easy to spot or easy to fix.
It's about giving code sunlight so that action at a distance and other kinds of magic don't hide errors making them harder to find, get in your way of fixing them, making reproducibility a mess and confirmation simply guesswork.
Its the restrictive design trend of crippling languages which needlessly prevents the sunlight effect from happening along with "information hiding principle" gone completely amuck with the information successfully hidden in dozens of innocently named files with listeners, observers, watchers, triggers and who knows what else being mysteriously called based on reflective programming so not even grep will help you.
Static code analysis and seamless navigation is totally a thing of the past.
Instead, the errors will have the stack of the error handler and that's it. The debugger is useless because stepping through the code is 98% scaffolding.
All these fancy tools bludgeoning any introspection or diagnostic system so the only remaining workable debug system is printing debug variables and rerunning the code like I'm programming on a TI-81 (only that had debug and release run modes...features I can usually only dream of these days) Progress! Welcome to 2019!
It's crazy. This isn't how maintainable code is written
The amateur-to-expert ratio of any topic is directly proportional to its popularity. It's why popular things are polluted with well-intentioned bogus information.
You won't get 4 folders with 26 files handling simple tasks like uploading images to an S3 bucket (saw this huge mess just last week and guess what?! It's broken. I know, surprising right?)
You can see right here on HN anytime a post comes up about using a cloud provider someone advocating putting a layer of abstraction over the provider’s SDK to prevent “lock-in”. As if the CTO is going to one day move their entire infrastructure because a developer promises them they’ve abstracted their code perfectly.
So instead of just being able to read the docs of the SDK, you have a custom QueueManagerFactory that gives you an AWSQueueManager that wraps the Boto3 AWS SDK just so one day if the company decides to move to GCP, someone can write a GCPQueueManager.
See also, developers who think they can effortlessly move from their company’s six figure Oracle installation to Postgres because they used the repository pattern.
Suggesting to just manually go in and change the touchpoints over if the time comes is seen as uncouth, as if we're in an Oscar Wilde play and I'm some unwashed ruffian from the alley.
This is despite the fact that if you do it it'll take 40 minutes manually versus 10 minutes if the Rube Goldberg abstraction machine works as planned (it won't).
Since there's only about a 5% chance (max) that going from say S3 to Azure will ever happen, the extra cathedral of abstraction saves an actuarial 1.5min of dev time.
All that only for 2-4 days of development to make it and the added runtime at every request for the convenience. Genius!
I think it depends on whether the library you're using is well designed and doesn't require contorting code around it. If it's a simple integration I don't see much of a point in abstracting it but if dealing with the library is painful on some level you'd maybe get some benefit from doing so. That being said this is somewhat orthogonal to the issue you're describing
I do have a *Utils module to wrap some calls to the AWS SDK but it’s not to protect from “lock-in” it’s a classic DRY principal of putting a code snippet in a function so I don’t have to remember how to do it every time.
A poor abstraction is always a poor abstraction, but a good abstraction can not only isolate your components from change but also provide a better interface.
I'm not going to write raw HTTP requests to S3 in every place in my code that I need to read/write objects from there. What I'd rather have is a simple abstraction with methods like get(id) -> obj and put(obj) -> id.
Seeing that you can still use the same SQS API from 2006 and that in 2018 AWS still supports SOAP of all things for S3 (https://docs.aws.amazon.com/AmazonS3/latest/API/APISoap.html) , I would much rather be able to just look at the SDK to see how something is used than having to try to debug through an abstraction that the “architect” who was at the company years ago, put in a custom Nuget package trying to abstract the API and imposed s “standard”.
Yeah I have been through that before where the architect of the company wrote his own bespoke ORM, logging framework, etc. and he was the only one who knew how it worked.
> Incompetent people will create incompetent things regardless of the tool.
I think I'm justified in calling myself competent. Nevertheless, with the wrong tools, the things I build are definitely worse than the things I can build with proper tools.
You've never had the reaction of "what on Earth is this crap doing?" And looked at the tool and been like "omg what kind of flunkie wrote this" and then end up forking the project, doing negative coding, fixing the issues, and then having to address the issues threads on GitHub yourself because the "maintainer" stopped responding a year ago?
I mean it's just a huge waste of time. These modern stacks (mostly js) are crap code all the way down.
It's made me want to return to Perl because honestly, it has everything and is somehow mostly idiot free. I probably should...
I have never had that reaction because frankly, I don't think it's appropriate to call people who know less than I do 'flunkies'. Sometimes, I like to approach the situation with humility and ask questions. Other times, I quietly ignore the situation. And other times, if it's a particularly egregious error, I'll write code and explain why I think it is better. But I never call someone a flunkie because words and attitudes like that are incredibly rude and toxic.
The moment you convey that sort of attitude, two things happen. The person you called a flunkie will not learn a goddamned thing from you. And, if they happen to be right, you won't learn a damned thing either. Great choices.
Using failure as infrastructure at a fast paced startups with shoestring budgets and then taking the resources to afford the luxury of a nurturing and caring mentorship for every teenager with a computer is a disaster.
However, you can pursue a culture of excellence without being rude and toxic. You can be kind and humble without coddling.
Edit - I should have added that if teenagers with computers have a good attitude, feel engaged and feel cared about, they can be extremely productive members of a team. And they have a tendency to grow into really amazing engineers (and fine people).
I parsed it wrong. I thought you essentially said "the things I build are definitely worse then relying on a collection of random internet dudes code through npm." But yes, GNU make, emacs, yacc, lex, bison, ar, nm, there's lots of great tools.
I agree with you 100%. I just want to add that this over complication of things is not just an IT thing. Try taking up a new hobby whether it is cycling or surfing. In no time you will have the "experts" telling you that a $200 bike is useless and is a waste of time. You need to spend at least $5000 to be part of the club. Now if you are a "professional" cyclist then spending a lot of money on a bike makes sense. For the rest of us, just getting on a bike for exercise is enough. I think some people just need to show they are better and know more. This is where some of these complications come from. Sometimes, of course, it is just plain incompetence.
It is much more of a lifestyle thing, you're right! With all things, I'll get the functional adequate version and use it until it no longer functions. Sometimes I'll buy multiple so as not to be bothered to repeat the shopping process when one wears out (I own many unopened identical pairs of shoes and glasses for instance)
Brands generally mean nothing to me, new consumer technology I'm generally not interested in, and I have no issues say, taking the bus and getting reading done instead of rolling around in say a Tesla (despite the fact that buying one is well within my financial reach). I honestly don't care in the slightest.
So yes, it's probably a larger personality disposition which manifests itself in this particular way moreso than it is a morsel of objective rational reality.
The people I lambast are the same ones with things like smart speakers and wifi connected refrigerators (I use an old minifridge and I prefer it). It's just a lifestyle; not some objectively poor use of money and time resources.
That's a nice perspective and it helps explain a lot, thanks.
We created higher level languages to reduce time spent coding. We wouldn't be using assembly.
It appears that we think about different terms when visualizing what "incompetent" means.
We create languages to tackle different sets of problems, and we want to minimize human error - that part, I believe, we can agree on.
However, if you perform "SELECT * FROM mytable" (table grows indefinitely) and then sort / limit in the language and not database - you're incompetent, you simply lack knowledge and you didn't even think abstractly what can happen by doing so. There's no language out there that can teach you "right tool for the job" or "keep it simple" or "should I do it, maybe there's another way, did someone else have this problem?", no matter what wizard creates it.
We will never weed out incompetent people by creating languages and a language shouldn't cater to a moron.
Totally disagree with this parental assessment of a language. It certainly doesn't apply to spoken languages or most ideal communication modalities. I think you want to fix your
problem: which isn't a problem for someone else. See this everywhere on this site: SV kultur and the catch22 pronouncements of the correction generation.
Exactly. That’s why most languages, for example have reasonable semantics for strings that don’t allow you to copy a string, overwrite memory and corrupt the call stack.
The dev console is better than Firefox one. It's faster. Minimalistic interface is great. HOWEVER - Firefox console is catching up. Firefox is fast enough. Chrome is getting more and more bloated and interface is starting to suck compared to initial version of Chrome. Now they're trying to do stupid things and promote ads more and more. It gets worse every day and hopefully, they'll screw up to the point it dies. I loved Google before, now I'm disliking them as much as I do Facebook. I root for Firefox, but it's still not there yet.
Guys who maintain Firefox - thank you. I hope I'll join the FF users once more in the near future.
Framework continues to evolve, for the better of course. With the introduction of PHP 7, I believe Laravel will get rid of magic eventually. Meanwhile, we've got tools to help ourselves.