Chris’ Corner: Have You Ever

Featured Imgs 23

Have you ever heard web developers talk over each other? I enjoyed Mat​hia⁠s S​chäf⁠er’s Client-side JavaScript and React criticism: What comes next?. It’s a solid baby-bear take on meta discussions on the state of building websites.

I hear JavaScript critics yelling: “Just use Progressive Enhancement! Sprinkle some JavaScript on your static HTML! Don’t believe those fraudsters, grifters, bastards, idiots that lied to you!”

Again, I understand the frustration. Nonetheless, I don’t think the current situation can be explained in terms of fraud, lies, gaslighting et cetera.

I think we’re at the point where we agree that there is, in general, too much client-side JavaScript and it has negative implications. But it wasn’t the fault of a criminal overloard.

At the risk of being reductive, it came out of developers inventing things that helped them build the things they needed to build in a way they liked, partially because the web platform itself wasn’t giving it to them. They just dropped a few balls along the way. Now we can pick them back up.


Have you ever heard someone say “Put JSX in the browser you cowards!” and scratched your chin and thought “Yeah! They should!” well perhaps you could get involved with ESX, which is as far as I know the closest thing going on that. And if you say “Why? Template literals are that”, then I think you have some catching up to do because that’s been done six ways to Sunday with all sorts of different libraries. Perhaps the biggest push was Google’s Lit, which I think even Google has gotten bored of.


Have you ever thought “TypeScript is pretty complicated, but at least it’s not Set Theory!”? Never fear, Vladimir Klepov is here to ruin that for you with Making sense of TypeScript using set theory. I kid, I kid, it’s actually a nice way to think about complex types. I’ll steal the first two bullet points of the big reveal:

  1. Our universe is all the values a JS program can produce.
  2. A type (not even a typescript type, just a type in general) is some set of JS values.

Have you ever read that web performance concerns are 80% client-side concerns and 20% back-end concerns? Tim Kadlec verified that decade-old claim recently in The Performance Golden Rule Revisited. It’s still true. It largely means you’ll see more benefit from focusing your web performance improvements on client-side things. I’ve always thought, yes, that’s true, unless that 20% is really bad, because that 20% is the first thing that happens during website loading. That’s why metrics like Time to First Byte (TTFB) are important because they measure that first response from the server. Jeremey Wagner had a post about that this year: Optimize Time to First Byte.

How to Generate Scripts of Database Objects in SQL Server

Featured Imgs 23

The Generate Scripts feature in SQL Server Management Studio (SSMS) allows you to create T-SQL scripts of various database objects, including tables, views, stored procedures, functions, and triggers. This feature is useful when you are creating a backup of your database objects, transferring objects to another database, or simply generating scripts for documentation purposes.

SQL Server management studio creates a script of the individual objects of a database and all database objects of the database. First, we will see how to create the script for a single object. I have restored the stackoverflow2010 database on my computer. We will generate CREATE TABLE script for the dbo.posts table.

How To Create and Edit PDF Annotations in Java

Featured Imgs 23

PDF file structure – unlike many other common document formats – provides natural, built-in protection for our intellectual property, ensuring unsolicited third parties can’t easily change or delete our content.

Despite this built-in file security, however, PDF files still do provide a meaningful way for document creators and viewers to interact and share ideas. The PDF annotations feature allows (authorized) viewers to provide feedback on a document’s contents by inserting new text (or other) objects at specific points calling out elements of the document’s original content.