Grumpy Posts

Besides the delicate grumpiness which is gratuitously scattered throughout this blog like the golden rays of light in a gentle sunset, there exist a few blog posts which have been written with the express purpose of venting out some major grumpiness.

Here is a list of them:

On Full Stack Developers

On UUIDs and GUIDs

On scripting languages

Why Oracle sucks

The GWX (Get Windows 10) KB3035583 trojan horse

"By using this site, you agree to the use of cookies."

(The list will be extended as more posts are added.)


On Full Stack Developers

Q: How does a full stack developer sleep?
 A: They don't sleep, they REST.

Almost every single company delivering some kind of product on the web since the early 2010s seems to be looking to hire full-stack developers.  Full stack development is all the rage.  If you are an employer, you can't possibly be doing it right unless you are hiring full-stack developers to do the job.  If you are a programmer, you are not particularly employable unless you can work with the full stack.

It is almost as if software architectures requiring individual programmers to work on every single layer of the entire stack are a good thing. It is almost as if the the job market is full of programmers who are actually capable of working on every layer of the stack.  And it is almost as if they could possibly be any good at that. Or any part of it.

How did it all go so wrong?


Rich Hickey - Simple Made Easy

"Simple Made Easy" presentation by Rich Hickey from the InfoQ Software Development Conference, recorded at Strangeloop 2011

It is best to watch this presentation here: https://www.infoq.com/presentations/Simple-Made-Easy Where the slideshow plays alongside with the video. (It is a lot better like that.)

My notes on the presentation:

"Simplicity is prerequisite for reliability" - Edsger W. Dijkstra

Simple vs. Complex, Easy vs. Hard


On UUIDs and GUIDs

Universally Unique Identifiers (UUIDs) otherwise called Globally Unique Identifiers (GUIDs) are 128-bit numbers that are often used to identify information. In its canonical representation, a UUID looks like this: 2205cf3e-139c-4abc-be2d-e29b692934b0  

The Wikipedia entry for Universally Unique Identifier (https://en.wikipedia.org/wiki/Universally_unique_identifier) says that they are "for practical purposes unique" and that "while the probability that a UUID will be duplicated is not zero, it is so close to zero as to be negligible."  Wikipedia then does the math and shows that if 103 trillion UUIDs are generated, the chance of duplication among them is one in a billion.

Great.  Now, let me tell you why I hate UUIDs.

The 32 hexadecimal digits that make up a UUID have a higher concentration of entropy than anything else that I deal with during a regular working day.  (It helps that IntelliJ IDEA spares me from having to see git commit hashes.)  This is to say that the overwhelming majority of all the entropy that I am exposed to nowadays is due to seeing UUIDs. This was not happening in the days before the UUID; entire weeks could pass without seeing something as hopelessly nonsensical as a UUID, requiring me to coerce my brain to ignore it because "there is no sense to be made here". The higher the entropy of the visual stimulus we are exposed to, the higher the cognitive effort required to process it, even if just to dismiss it as un-processable. This makes UUIDs very tiresome to work with. When looking at a table of columns, the UUID column is always the angry column.


6 videos from TechSummit Amsterdam 2017 (Jun 1st)

A couple of weeks ago some of us went to the TechSummit conference organized by LeaseWeb.  Here is a list of the talks that I attended, along with a short description for each.

The first presentation was “Shaving my head made me a better programmer” by Alex Qin, which was about what it is like to be a woman, and specifically a programmer, in the U.S. tech industry.  (And in the University before that.)  She talked about the inequality, the sexism, and the harassment.   She mentioned that she once gave a talk in a really big conference about accessibility in the U.S., and afterwards she was asked “How do I talk to women at bars?”  The head-shaving part refers to how changing her appearance resulted in being taken more seriously.  It was quite an interesting talk, though I suspect that in Amsterdam, she was to a large extent preaching to the choir.



My notes on the Fielding Dissertation (REST)

These are my notes on Roy T. Fielding's famous Ph.D. dissertation "Architectural Styles and the Design of Network-based Software Architecture"

What follows are excerpts from the dissertation, with my notes usually in parentheses.

Roy Thomas Fielding is: chief Scientist in some tech company; Chairman, Apache Software Foundation; Visiting Scholar, W3C @ MIT CS Lab; etc; Publications, Honors, Awards, Fellowships etc. Involved in the authoring of the Internet standards for the Hypertext Transfer Protocol (HTTP) and Uniform Resource Identifiers (URI).


"The World Wide Web has succeeded in large part because its software architecture has been designed to meet the needs of an Internet-scale distributed hypermedia system."
(He makes it sound as if it was designed this way on purpose.)

"In order to identify [...] aspects of the Web that needed improvement and avoid undesirable modifications, a model for the modern Web architecture was needed to guide its design, definition, and deployment."

(So, he admits the need to build a model after the fact.)

"An architectural style is a named, coordinated set of architectural constraints."


My notes on a youtube video about Roy T. Fielding

  • A youtube videoclip titled "Roy T. Fielding: Understanding the REST Style"


These are my notes on "Roy T. Fielding: Understanding the REST Style" youtube videoclip:

No technical information.

"It's really an accessible piece of work.  It is not full of equations.  There is one equation.  The equation is there just to have an equation, by the way."