The point is how should such code grows? If it meant to grow on its own, separately on different requirements, then its not duplication. It's just a code that looks the same, for now.
Everything comes with a price. The Clean Code book basically argue on one side, on what you can gain with such practice. It's not gospel, its something that argue on benefits on certain practice. As a developer, you probably are more privy on what is a better trade off based on your project. Do what make sense.
You may default on writing "messy" code, or writing "clean" code, before you find the middle ground that make sense, and thats okay. Its a journey, not a destination. It takes experience to make a good trade off in your daily coding.
> Another point is that you can’t expect to get that caliber of TV for that price without ads.
Just want to understand the argument. Not using any smart tv at the moment, maybe in the future, we'll see.
So we should expect ads on expensive TVs now? USD 1500 is very expensive for me at least. I was expecting something good but cheaper to be subsidized by ads, not the really expensive ones.
The extension by design is made to be optional to use and are not integral (I would argue) to the vanilla experience of VS Code.
That also means that if other people wants to create their own proprietary extensions they can do so. The basic experience of the plain VS Code does not change.
Now one can say indeed that the Remote and also LiveShare is the best extension there of, and since the extension author decides not to share the code, then it stays proprietary. It's just that this time the author is Microsoft itself.
But because the extension itself is not integral to the VS Code itself and merely an extension, there is no stopping anyone to create open source version of the same experience.
However, where I have issues with is that, if you were to base you own editor with VS Codium (the open source, without the telemetry), you still can't use the service that is the extension marketplace for VS Code. Yes, even if it still works, and even if the extension itself is open source. Hence, just because VS Code has a lot of extensions that is open source, does not mean it is readily reusable, because the extension service is off limits.
Of course, one can also publish the same extension in another public directory if they want, but currently there is no such directory exist. And it has to be republished to the new public extension directory.
So yes, VS Code is open source, but the access to the extensions is not currently.
It's not just those two plugins, it's also the ms-code.cpptools which has proprietary parts. And that's sad because other plugins are built on it like platformio. Which prevents platformio from being added to ovsx because the cpp tools can't be added to ovsx.
Which stinks for me because the cpp proprietary parts are windows only, and all I want to use platformio from is theia running on Linux, but I can't.
The other side is that keeping some extensions closed-source probably allows the VS Code team to access more of Microsoft's work. I would guess that the proprietary parts of ms-code.cpptools are using code from Visual Studio and other closed-source Microsoft tooling.
The Microsoft extensions are notably missing, but they have a lot of other ones. There's an issue template for requesting another one if you find something missing.
Not sure if their second extension store is available for use by software other than code-server, but it's not an impossible problem.
VSCode includes extra twitter/microsoft spyware (or "telemetry" for those who prefer that euphemism).
The "VSCode" binary you download includes unknown proprietary extras.
Fun fact : VSCode official home page used to have the motto "Open Source", now it is "Built on Open Source" (check on the wayback machine if you don't believe me)
I guess the MS legal team was afraid of keeping lying about the openness of VScode yet they knew Open Source is a good buzzword to attract devs so they played with words.
This is the typical big corporate approach :
Step 1) Say you develop an Open Platform so that you get many users and free contributions.
Step 2) Once you own the market and people are too addicted to switch, bit by bit make it proprietary, add more spyware.
This is the story of Android , VSCode, ONNXRuntime, and many others.
I think enough of VS Code is open sourced to where if it truly were necessary to do a more serious fork with a community market place and all that jazz it would probably build up a userbase. Developers dont like certain amounts of shennanigans from companies. If Microsoft doesnt want to risk a mass exodus they will make sure not to do anything extra stupid with VS Code. Especially considering for some its the one Microsoft product sucking them in.
Update:
On the other hand with Neovim being able to run headless you may just need that and VS Code stripped and use Neovim for the underlying editing and plugins if you really wanted to have a more open VS Code ecosystem. Kind of a hack, but it would work.
Perhaps it is worthwhile to mint some new phrasing.
VS Code is a closed, proprietary platform. Something like emacs, vim is 100% open source, open platform.
Open platforms tend to be a lot easier to write code for, use, extend, etc. You can't build an editing empire on VS Code - at the end of the day no matter how brilliant you are, they own the distribution 100%, so it might as well be closed source - much the same as how there are hundreds of open source clients for twitter, 'open access' APIs, but Twitter is very much, very, very proprietary.
The promise of OSS is and was that you can always freely modify, build, hack on whatever, and that you don't have to be a talented reverse engineer to do it or write large swathes of 'special sauce' magic drivers yourself. Its almost the same gambit as Apple's - Darwin is indeed Open Source but nobody would say OSX is open source - quite the opposite.
Locked down proprietary walled-garden cant-take-your-code-wherever premium platform with a very much pay-to-play mindset. Which, I'm not surprised - its great that MS is doing open source, cool beans, but who really thought they'd become a charity or a truly concerned 'digital citizen'. Although those types of (succesful) companies are becoming rarer and rarer, as is wont to do with capitalism.
The diagram can be part of documentation of the code in the the same working directory, possibly version controlled.
It is going to be very useful to be able to just edit the diagram within the same editor as the rest of the files in the same working directory. You just double click the file in VS Code, and it opens there.
I am looking forward for the completion of the PNG part so that it is even more seamless.
Being nice is not scalable when you are dealing with potentially the whole world.
It's like any celebrity with a twitter handle, they now have to have template twitter reply or its not acceptable?
It's one thing when you have to deal with the support cases in your company when there is hard limit on how many people will be in touch with you. When you are releasing things to the world, there is no such limit. It can be one, it can be one thousand.
I too would like to have something open source one day, if I have something that I think can benefit people. I may not have time to respond to people, given my life and my health, so because of that I should not contribute? And if I did contribute in such circumstances, it is completely unacceptable?
The thing about writing test, either unit test or functional UI test, is repeatability. Back then I had this problem too, to which I had worked on getting a script to drop the database, and recreate it back again, repopulating it with consistent test data.
Then, docker-compose came along. It is so easy right now to just have an environment up and running consistently. And once the test is done, the whole container set of the docker-compose can be easily removed, and created again on a whim.
For most database containers, you can just attach your sql files into the volumes that the database engine reads, and you will have consistent test sets overtime.
This will solve :-
1. Running test again and again, will make certain elements go of page because of pagination.
2. Creating new data with the same data to ensure uniqueness and testing it, can be done, because it will be a clean slate everytime.
3. Previous data causing inconsistent state with the current test
This does not solve every issue with functional UI testing, but in my experience, having consistent data every time is huge! No more second guessing when you write the logic in your test in fear of having existing data or any manual testing data breaking your test.
The stored procedure should be tested within the domain of the stored procedure. The consumer of its result just tests its ability to use the result it should be given (fulfilling its end of the contract).
I would agree that going for a vacation to run away from things can make things worse.
However, if one can decide to go for a vacation to get a fresh perspective on the issue, I think that would help. Getting to a place where there are no interruptions expected may help you doing that if that is your intent.
Being in the office may keep you doing the daily firefighting and you may need space to think differently.
Everything comes with a price. The Clean Code book basically argue on one side, on what you can gain with such practice. It's not gospel, its something that argue on benefits on certain practice. As a developer, you probably are more privy on what is a better trade off based on your project. Do what make sense.
You may default on writing "messy" code, or writing "clean" code, before you find the middle ground that make sense, and thats okay. Its a journey, not a destination. It takes experience to make a good trade off in your daily coding.
Learn from your mistakes and move on.