SilverKey Monitor

Inside look at modern web browser (part 1)

published on 2024/09/15

In this 4-part blog series, we'll look inside the Chrome browser from high-level architecture to the specifics of the rendering pipeline. If you ever wondered how the browser turns your code into a functional website, or you are unsure why a specific technique is suggested for performance improvements, this series is for you.

developer.chrome.com


Founder Mode, hackers, and being bored by tech

published on 2024/09/15

Tech has become all Jobs and no Woz. As Dave Karpf rightly identifies, the hacker has vanished from the scene, to be replaced by an endless array of know-nothing hero founders whose main superpower is the ability to bully subordinates (and half of Twitter) into believing they are always right.

Ianbetteridge

Our hero is always Dave Winer of scripting.com, one of the most prolific contributor to the web from blogging, RSS, podcasting, etc.


Why Scrum is Stressing You Out

published on 2024/09/15

If a development team were to sit down and decide to deliver code every two weeks, based on a process of their own design—one that made sense to them and suited their circumstances—that would be one thing. But sprints in a Scrum-like process don’t work that way. Every aspect of a sprint is prescribed: its duration, its meetings, its tasks, and even the roles of its participants. You might think that choosing your own process wouldn’t make much of a difference, but research tells a different story. Autonomy—the ability to direct one’s own work—plays a significant role in how work is experienced.

rethinking software


Falsehood programmers believe about TCP

published on 2024/09/15
  1. TCP is reliable, so everything I send will be received by the other end.
  2. OK, mostly reliable.
  3. OK, fine, it's not reliable (in the above sense of the word), but the sender and recipient will always eventually agree on exactly which bytes made it over the transport.
  4. It is possible to create a guarantee analogous to (3) by building some message-oriented application-level protocol on top of TCP, such as HTTP or SMTP.
  5. There is a such thing as a TCP packet.
  6. There is no such thing as a TCP packet.
  7. If we fail to connect to a well-known remote host, then we must be offline.
  8. Nagle's algorithm is good.
  9. Nagle's algorithm is bad.
  10. I don't have to care about Nagle's algorithm.
  11. This is all low-level pedantry. I can think of TCP like a two-way Unix pipe that goes over the network, and completely ignore how it is implemented.
  12. If the network is transparent to TCP, then it must be transparent to IP.
  13. If the network is transparent to HTTP/1.1, then it must be transparent to TCP.
  14. Weird networks that are not transparent to standard protocols are an aberration. I can safely ignore them.
  15. TCP is implemented in terms of IP.

lwn.net


Announcing TypeScript 5.6

published on 2024/09/11

Since TypeScript 5.6 beta, we reverted a change around how TypeScript’s language service searched for tsconfig.json files. Previously the language service would keep walking up looking for every possible project file named tsconfig.json that might contain a file. Because this could lead to opening many referenced projects, we reverted the behavior and are investigating ways to bring back the behavior in TypeScript 5.7.

Additionally, several new types have been renamed since the beta. Previously, TypeScript provided a single type called BuiltinIterator to describe every value backed by Iterator.prototype. It has been renamed IteratorObject, has a different set of type parameters, and now has several subtypes like ArrayIterator, MapIterator, and more.

Microsoft DevBlogs