Hacker Newsnew | past | comments | ask | show | jobs | submit | agolliver's commentslogin

There are no good private DNS configurations, but if you don't trust the big caching recursive resolvers then I'd consider just running your own at home. Unbound is easy to set up and you'll probably never notice a speed difference.


I trust my isp far more than I trust cloudflare and google


Why? Some were injecting ads, blocking services, degrading video and other wrongdoings.


Maybe their ISPs don't do that. There are many ISPs on the Earth.


Mine doesn’t do that, mine is very transparent about what they do, what they will support, what laws they have to follow, what guidelines they can ignore, what logging they do, and if I have issues I jump on IRC and talk to them.

If I have issues with cloudflare what do I do?


Editors & style guides don't tend to give you that choice.


The New Yorker is one of the few places you'll see this regularly

https://www.newyorker.com/culture/culture-desk/the-curse-of-...


quite common in America too


I'd also say it's integration with Firefox on Android is just a broken, miserable experience. (I mostly blame FF for this, because it used to be great)

https://github.com/mozilla-mobile/fenix/issues/9773


LastPass has stagnated last few years after being bought out and raising prices for no additional benefit


I just created a new Google account in the US without providing any personal details whatsoever.


That hasn't been my experience of late.

In fact, I just tried again and was asked to "verify my phone number."

Perhaps you created such an account with your phone?

In which case, Google already has that information.


About a decade ago, as an intern helping research this, I developed an app to manually tag processes as "big core only" or "little core only" etc. This was for the QuickIA[0], which had a Xeon in one socket and an Atom in the other. It was fun to kick off a gigantic compression task and watch the "expected time to completion" progress bar change dramatically when you migrated the process between sockets.

You all would probably find the "QuickIA Software Support" section interesting, they go through a few issues you run into when you have incompatible micro architectures running in a single system. It also might help illuminate where Intel's head was at during the early research phase of creating a heterogeneous processor.

[0] https://www.neotextus.net/hpca12.pdf


PowerShell does have progress bars, but rendering them is (was?) on the critical path. I once had a script that was downloading a large file and took ages to finish, you could speed it up by well over 10x disabling the progress bar.

https://github.com/PowerShell/PowerShell/issues/2138


Are they synchronizing on the UI every time they update the progress bar? That's a rookie mistake.


I have a hard time believing real programmers would allow something like that in production code... But I guess if its corporate, nobody cares about the quality.


Outputting text to a terminal is synchronous. Try connecting your favorite program's STDOUT to a program that doesn't read its STDIN. The program will stop running after the output buffer fills, because "write" blocks. Obviously you can buffer internally, and have a "UI thread" for writing stdout... but literally nobody does this.

This is why people try to write the fastest terminal emulator -- a slow terminal emulator slows down apps. (And, it all makes sense. You have to apply backpressure when you are receiving data more quickly than you can process it. You can buffer to smooth over spikes, or you could drop data on the floor, but both of those would suck for output in a terminal!)


> have a "UI thread" for writing stdout... but literally nobody does this.

The Erlang runtime does it for you by default :)


stdout is by default buffered in almost every language. Outputting lots of non-critical stuff to stderr, or manually flushing stdout on every write, is definitely a rookie mistake. Raw terminal output should not be a big performance sink either if you do the sane thing and only write on every 100th or 1000th or whatever iteration of your main loop. No threads needed.


It's buffered, but buffers fill up. I wrote a small program [1] that calls os.Stdout.Write to write one byte, increments a counter by the number of bytes written, and records the time of the last write. Another thread then prints the byte count and the time since the last time Write() returned every second. Running "that program | sleep infinity" yields a buffer size of 65536 and writes stop returning after the first millisecond or so of program runtime. And that makes sense; nothing is reading the output of the program, and it is written to produce an infinite stream of bytes. There is no buffer you can allocate that stores an infinite number of bytes, so it has to block or abort.

[1] https://gist.github.com/jrockway/a5d96151e1c69407f491988df70...

Going back to the original context of the comment, we're calling some programmer at Microsoft an amateur because their progress bar blocks progress of the application. And indeed, that design could be improved (sample the progress whenever the terminal can accept however many bytes the progress bar takes to render), but it's a very common mistake. Any program that calls printf will eventually run into this problem. A fixed-length buffer smooths over quirks, but if your terminal can render 1 million characters per second and your program produces 1 million and 1 characters per second of log output, then there is no way your program can ever complete. You don't notice because programs don't output much information, terminals are fast, and 65536 is a good default. But in theory, your program suffers from the same bug as Microsoft's program. So it's pretty unfair to call them amateurs, unless the Linux kernel, GNU coreutils, etc. are all also written by amateur programmers. What the grandparent meant to say is "I've never noticed having made this mistake before" and nothing more.

This is something that programmers need to think about pretty much every time they do IO. Buffer, drop, or slow down. printf picks "buffer, then slow down", writing to syslog over UDP picks "drop", but what you really want depends on your application, and it is something that you have to explicitly think about.


Things weren't so nice in Windows before Microsoft added VT control sequences to Windows 10. Before then, if you wanted to draw fancy stuff in a console window, you had to call a synchronous out-of-band IPC API to conhost.exe. I don't know how PowerShell did it specifically, but you'd need to make the same sequence of slow IPC calls to draw the progress bar even if you did buffer them.


I've been around long enough to see programs which print lots of output to stdout get a lot lot faster by piping their output to /dev/null.


I've been around long enough to hit ctrl-o to make that happen


What does a programmer that's not a "real programmer" do? Only write code in films? Slap the keyboard on hackertyper.net?


I imagine the argument would be that the person that writes code at a corporation is not the same person who writes it for hobby. Even if they share the same body, one is just doing it for the cash and the other for fun.


npm was about 6 years old and im pretty sure a lot of corporates have adopted node by then.

I don't think it has so much to do with quality but rather we like to re-invent shiny "new" wheels and then the new tooling must iron out all the corner cases.

https://github.com/npm/npm/issues/11283


From reading this it sounds like support should land soon in Fedora 35

https://lwn.net/Articles/869561/


At 2 am last night a bot impersonating a family member added every one of their friends on facebook & sent them messages. I reported it as a fake account, a ticket which was instantly closed.

Facebook sent a notification later to them that the account was not impersonating anyone, no action would be taken, and there was no way to appeal.

Interestingly, messenger did splat a bunch of pretty good warnings on top of the DM they sent me: https://i.imgur.com/gigUA7G.png


Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: