Want to spell check? Read the fine print
samnewman.io
samnewman.io
Another consequence of the "cloud everything" trend. I feel like it's almost a deliberate plan to make everyone's machines constantly send and receive data over dozens of active connections, so the odd one occasionally sending out something that shouldn't be will easily "get lost in the noise"... You could even say that at least this time they were nice enough to tell you and send data in cleartext so you can easily see what's going on. Imagine if it used HTTPS, added another layer of encryption/obfuscation on top of that, and the notice was buried deep in a long license agreement, how long would it take someone to discover it?
What astounds me is that 20K(!) Visual Studio users --- so presumably NOT the "average barely-computer-literate" user we often like to think of as being the ones to get fooled by schemes like this --- probably saw the notice, but didn't give a second thought to installing something like this? These are developers, the people writing today's and tomorrow's software. That makes me sad and scared for the future of privacy/security.
Then again, Microsoft's official Visual Studio privacy policy isn't all that much more reassuring:
https://www.visualstudio.com/en-us/dn948229
For pre-release and free versions of the software, users cannot opt out of usage data collection.
Bluntly stated, "You're the product."
Even if they tell you about it, it's still a bad idea. There's plenty of legalese that people don't read because life is too short. It would be better if this wasn't the default.
But in this case getting the application to use the proxy may have been tricky.
I also decided not to use the plug in a few weeks ago but was impressed that the author was open and transparent of its shortcomings. Labeling his efforts as "shocking" or "insane" is a tad over dramatic isn't it?
Besides all this is on github. Fork pull and push your alternative then post it on HN. Done!
Thank you for writing this! By reading the article I had exactly the same feeling.
The author of the extension was open and clear, the author of the post need to keep this anger for secret but explicit surveillance programs, not optional online spellcheckers...
Instant uninstall. This is exactly the kind of crap I expected when MS announced they'd invest in open source.
You can choose an easy simple not-private way of doing things, or you can do things in a private way.
Being up front about it is 100% the only way to manage this properly so what else can be done?
It's not like we should suddenly not make useful tools because they dont use end to end encryption on everything, not every action needs that level of protection, but some do.
No, that is a shocking lack of due diligence IMO.
Seriously, if we as developers can't be trusted not to install random junk without checking the consequences how do we expect the user-on-the-street to stop installing malware because they just have to take that "what Disney character's left testicle are you most likely find in your coffee tomorrow" quiz?!
After reading this post I remembered that Android Studio already has some kind of spell checking active by default and to be honest I didn't read the complete source code of Android Studio and all packages that are shipped with it by default, who does that?
Maybe you do, but who is going to pay you for completing that task (as a programmer) and reviewing every single update in the future.
As a software dev we ideally should keep in mind for what kind of target audience we are developing our tools, and in this case it is obvious that this tool would be a problem for many if not most companies for security reasons.
Is there even a reason why anyone would want to have all his source code sent to some unknown third party? Or why this would be necessary for something like spell checking?
I doubt that the dev has bad intentions with this plugin, but imho this tool is badly designed and unusable. Doesn't matter how visible this information is, there are no justifications I can think of why I should allow my source code to be sent to a third party.
At the same time,even large trusted corporations can impose interesting license agreements (runtime or otherwise) that you better be well versed on before you start creating releases of your product.
Microsoft does key-logging by default in Windows 10. They don't hide the fact that they do key logging, but they don't advertise it to users either. And yes, it's key-logging even if they claim it's for "telemetry purposes only guys, for realsy".
You don't need to rest he whole source code, but you should read the description...
I mean the person that developed this plugin will probably also develop for some company and should know that.
So I can't see for which target audience this plugin is because almost everyone doing software development for a company would be excluded.
It's as if you designed a gun that will explode in your hands once you pull the trigger. What is the target audience here?
> You don't need to rest he whole source code, but you should read the description
Would you dare to test this in a court? I wouldn't.
The author of this plugin works at Microsoft - he is the PM for Visual Studio Code. I have no further words to express my astonishment at this fact.
The person(s) who decided that "using Android Studio today is almost mandatory".
If you can't factor it into your costs of doing business (that you pass on to the client) then you either have to factor it into your costs of doing business (that you have to eat) or decide to take the risk of not bothering.
The risk is your's to take should you chose of course (or if you don't work alone the risk is your company's to take) and depending on the 3rd party involved that risk might not be particularly high (as others have pointed out the risk profile of relying upon Google is vastly different to that of a small add-in developer hardly anyone has heard of), but if the worst happens and you end up in court you won't be able to just dismiss it as "well, how was I to know?".
If you leak NDA covered client information through your use of a tool or service and the client finds out, "but you'd have never paid me enough that I could afford to be more careful" is not going to be a defence that will get you very far, unless of course you have paperwork that states they were aware (perhaps you included the time in your quote but they asked for that bit of work not to be done due to the expense).
Thanks, I know this myself. But there is a reality in which no one will accept you factoring in the costs of analysing every tool used.
You try to do this -> someone else gets the contract
You try to change the contract to cover for this -> someone else gets the contract
In ideal world it wouldn't matter: we'd have time to properly analyse everything we use and clients wouldn't mind paying to having things done properly. We don't live in an ideal world so someone somewhere needs to decide if the risk is worth taking. If you don't push that decision on to the client (because your competitors don't and you fear it will reduce your edge too much) then you have to make the choice and take responsibility for it.
Only if you happen to read the readme, right? It doesn't pop up a warning when you install it (if it did I think that would be fine).
Nobody would complain if this was called the "Web Based Spell Checker" or "After The Deadline Spell Checker".
From the article: "But then, at the top of the description, I found this message greeting me: [...]"
It's this way on the linked extension's page as well: https://marketplace.visualstudio.com/items?itemName=seanmcbr...
I think that's fairly prominent place and the only explanation for installing this extension could be either that it's acceptable - for example if one's using MSVSC to edit Wikipedia articles or something like that - or negligence to read anything but the title (which can't be helped).
(Well, author could've put "[INSECURE!!!! WILL STEAL YOUR CODEZ!!!!1one]" in the title... but should he?)
The description, which is the only part visible in the search interface, contains no mention that this uses a web service.
See this comment how it should be done correctly: https://news.ycombinator.com/item?id=11805189
"Uses a web service to detect mistakes and suggest fixes - great for Markdown or any text file."
https://github.com/Microsoft/vscode-spell-check/commit/70847...
Some ideas like this one are so bad that they shouldn't exist at all on the premise that the idea of spell checking requiring sending all your documents over http is so bad that anyone that runs it must perforce either not know or not understand because understanding would lead any reasonable party not to install it.
Therefore the addon exists only as a trap for the unwary or the stupid and makes the plugin ecosystem worse for existing and thus ought to be deleted.
I just had to check, and am sad to report After the Deadline wouldn't have caught this error ("peaked" for "piqued") even if the author had still been using it.
More relevantly, am I wrong in thinking that After the Deadline does actually support HTTPS? An HTTPS request [1] seems to work fine. The article muses on this point a little, but maybe it is just the "teacher" module at fault after all?
[1] https://service.afterthedeadline.com/checkDocument?key=test-...
> ... any text opened in Visual Studio Code
> with this extension loaded would be send ...
^^^^
I suspect that should be "sent".PR https://github.com/Microsoft/vscode-spell-check/pull/30
But it seems this was reverted in a more recent commit.
#letTheConspiracyTheoriesBegin
You are off by a factor of 1000 or more for cost of spellcheck
For reference, the hunspell dictionary file used in apps like Libre Office and Firefox is about 400kb. That's effectively the whole of the English language.
Change it from JSON to YAML or canonical s-expressions and you'll have room for even more …
Very useful features for writing code.
That being said I 100% agree that Charles is a fantastic application.
Happy to add another {mips32,armv7} box to my network, though.
The both happen to have different use cases.
Charles is my go to for tracing what is going on when I need to snoop SSL traffic.
Radio Silence doesn't use popups or alerts. It's completely passive and invisible when you don't have the app's UI open. If you want to monitor connections, you can open the app and take a look at the monitor tab.
Can you also disallow certain requests with your app? It seems to be app-wide only, but if I wanted to block e.g. chrome (or, all app) from specifically connecting to "adWare.com", would that be possible?
Could I have done that locally? Sure but I didn't know the language. I just wanted to get something done and it did the job pretty well.
Maybe that applies in this situation? I don't know. Course what I was doing was for a throwaway project that I wasn't planning on releasing to the world.
Edit: Poe's law.
While it's possible to have a dictionary of all of the words of a language, it will always be missing the proper nouns. It will also be missing the data needed to take my very poor spelling and figure out what I'm trying to say.
Combining these two problems, I've found that oftentimes my local spell checker can't figure out what I'm trying to say, but Google can figure it out no problem.
I don't mind having to go to Google once in a while to do this manually, but that can is the case for a distributed spell check service.
The description was changed to reflect that it uses a web service at one point, but the change was reverted.
https://github.com/Microsoft/vscode-spell-check/pull/30
So no, the post is not overdramatic at all.
I'm not saying it's not suspicious (I don't think it is though), but I don't think that a Microsoft employee creating their own plugin, even under Microsoft's Github, makes it suspicious.
Aside from the (sometimes insane) checks they have in place I've also had to sign a NDA.
I doubt that the creator of this plugin had bad intentions, but using this plugin could cause some programmers to be dragged in front of a court.
I believe the warning should be more visible.
I can understand why people used Visual Studio 20 years ago - decent free alternatives were lacking. But in 2016? And no less than for markdown!
ctags has existed since 1979, which is almost 40 years ago. The thing you read about implements a different way to find definitions.