Live data from Hacker News

Windows Terminal Source Code

github.com

51–60 of 214 posts

Re: Windows Terminal Source Code

#51
post #6

Here are all the ways it spies on you: https://github.com/microsoft/terminal/search?q=Telemetry%3A%... https://github.com/microsoft/terminal/blob/main/src/host/tel...

as a software dev you know that soft anonymous telemetry of how a user use what you do is very valuable to make decision on how to make things....

I wish there was way everywhere to collect with privacy and being accepted by user as not something we want to spie people on... but as always there is (a lot ) of abuse in this area so this may never going to happen

Re: Windows Terminal Source Code

#52

Just wondering -- why would Microsoft release the source code for this component of Windows?

There's an excellent blog post by the product manager I believe that explains the history of the CMD command, how terminal emulation works in Windows, and the work they were doing. The way I understand this project is essentially "an interface" to the new ConPTY they developed (which IIRC is closed source, naturally). That doesn't make it any lesser. I've used it since a build was available, 4 years ago or something.…

So, one of the cool things about this repository (Hi! I’m the engineering lead for the Terminal/Console/… team. I’m biased!) is that it also contains the source for ConPTY and the rest of the Windows console host[1]. Every change made here flows back into Windows, and vice-versa.

In this repo, you can find some of our terrible secrets and workarounds and debugging hooks and perhaps even some explanation for why things work the way they do. Or don't work the way they should.

If you’re looking for a good[2] way to spend a few minutes, search for “LOAD BEARING” :)

[1]: If you build the “Host.EXE” project and copy the resulting OpenConsole.exe over %WINDIR%\System32\conhost.exe, it’ll work just fine and you’ll pick up a bunch of the console changes we’ve made in the past few years.

[2] Goodness not guaranteed, void where prohibited, etc.

EDIT: Oh, kaelinl mentioned this in a sibling comment to yours. Sorry about that! I've also reworded parts of the main comment body to flow better.

Re: Windows Terminal Source Code

#53
post #6

Here are all the ways it spies on you: https://github.com/microsoft/terminal/search?q=Telemetry%3A%... https://github.com/microsoft/terminal/blob/main/src/host/tel...

Just glancing through them it looks like perfectly reasonable telemetry collection, not sure why you call that spying.

Terminals should not be sending telemetry.

Imagine if every .exe and every .dll did that! That's not OK!

Re: Windows Terminal Source Code

#54

Apple should follow MS's example and open source its Terminal.app It's a decent terminal emulator, but could use several enhancements and the community could help. For some reason I haven't changed to iTerm yet, even though it's been objectively better in every way for years. Even the minor gripe I had with font rendering is fixed. There's something about using default apps as much as possible that appeals to me. But…

> Apple should follow MS's example and open source its Terminal.app

This is bellyaching about nothing. Instead, Microsoft should follow Apple's example and open source the operating system. The only part of macOS that is not open source is the GUI, i.e. Quartz Compositor, and the gui applications. Microsoft, meanwhile, is an incredible slouch when it comes to open source, only very recently changing their hostile "embrace, extend, extinguish" stance towards OSS.

Re: Windows Terminal Source Code

#55
post #48
post #38

Earlier quoted context omitted.

> It's a decent terminal emulator, but could use several enhancements and the community could help. It's the only modern terminal that passes the VT torture test. It supports double width and double height characters (great for terminal error messages). It doesn't support overline (which is awesome for status lines at the bottom of the screen) and requires font support for line drawing and block graphics (Unicode 13…

VT torture test?

I think rbanffy is referring to vttest[1], but I'm not certain.

[1]: https://www.invisible-island.net/vttest/

EDIT to add: vttest is maintained by the current maintainer of xterm. It's the "torturiest" VT test I know of.

Re: Windows Terminal Source Code

#56
Worth watching Casey Muratori's series of videos on terminals, and how to implement them, where he often makes specific comparison to Windows Terminal. He has some specific criticisms that are easy to disagree with, but the vast majority are well warranted. His broader series of videos on the topic are even worthwhile from a purely "software engineering education" standpoint.

https://youtu.be/hxM8QmyZXtg

I feel a bit bad about posting comments about it relatively frequently on HN, but it's just so very very good, and snark aside, his perspective is extremely valuable.

Re: Windows Terminal Source Code

#57

Apple should follow MS's example and open source its Terminal.app It's a decent terminal emulator, but could use several enhancements and the community could help. For some reason I haven't changed to iTerm yet, even though it's been objectively better in every way for years. Even the minor gripe I had with font rendering is fixed. There's something about using default apps as much as possible that appeals to me. But…

> Apple should follow MS's example and open source its Terminal.app This is bellyaching about nothing. Instead, Microsoft should follow Apple's example and open source the operating system . The only part of macOS that is not open source is the GUI, i.e. Quartz Compositor, and the gui applications. Microsoft, meanwhile, is an incredible slouch when it comes to open source, only very recently changing their hostile "e…

Mac without the userland is mostly useless. At that point you might as well switch fully to FreeBSD.

Re: Windows Terminal Source Code

#58
post #21

Earlier quoted context omitted.

ok, what do those do?

There are some pretty detailed comments on many of them if you click through to their call sites, and more can be inferred from the file names of the callers. Let's take a look at `windowio.cpp` for example. This most-generic event fires every time you type any input character on the keyboard: https://github.com/microsoft/terminal/blob/57c3953aca49f68ac... It also has more-specific events for several different ways o…

Say what you will about Microsoft but they put a substantially more amount of comments in their code, as compared to say, GNOME Terminal.

Re: Windows Terminal Source Code

#59
post #32
post #30

Earlier quoted context omitted.

spy (/spaɪ/) v., 1 : [intransitive] to collect secret information about another country, organization or person

Is your runtime data “secret”? I think some people will have a hard time with this concept, but the idea of data being “private” or “secret”, by default , is disappearing. And it won’t be coming back if the world continues to digitize. If you want those attributes for your data, you’ll have to take measures. That means reading user agreements, verifying open source, using encryption intentionally. Vacuuming up data i…

> Especially if you essentially agree to it when you accept the Windows terms of service (ethical issues of this aside)

“But the plans were on display…”

“On display? I eventually had to go down to the cellar to find them.”

“That’s the display department.”

“With a flashlight.”

“Ah, well, the lights had probably gone.”

“So had the stairs.”

“But look, you found the notice, didn’t you?”

“Yes,” said Arthur, “yes I did. It was on display in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying ‘Beware of the Leopard.”

Re: Windows Terminal Source Code

#60
post #50
post #43

Earlier quoted context omitted.

What you do with your software in the privacy of your home seems like it should be “secret”

That is not how telemetry works. It is not spying or a privacy issue. Categorizing it as such only dilute the meaning of both terms so the real issues won't be taken serious. If you feel like a bunch of developers getting info about how many times the world clicks on a button hurts you personally, then don't install it. Calling it a privacy issue it taking it too far.

It is absolutely both a spying and privacy issue. What I decide is private, or what information constitutes spying is arbitrary.

I love windows terminal, but it should collect nothing by default. Another subjective opinion.

Post reply on HN