WordPress Gutenberg: it’s not about Text Editor

I wasn’t paying much attention after the announcement of Gutenberg projects from WordPress guys back in 2010’s.

I never had any dramatic impacts by CKEditor embedded in the WordPress admin panel. I still think it’s one of the best examples of UI/UX text editors on the Web. The whole development process caught my attention due to React licensing issue that got the Internet buzzing about for couple of months, until Facebook changed it.

And then I checked this video on the future of WYSIWYG editor and Gutenberg’s impact on the WordPress ecosystem.

This is huge! The whole ecosystem will change its standards of writing plugins/themes. The concept of expanding viewports going beyond the classical monitor resolution, including wearables and other portable devices. Block architecture. Enough with spoilers – just watch the video.

Puppeteer: NodeJS browser automation

Puppeteer is a Node library which provides a high-level API to control headless Chrome over the DevTools Protocol. It can also be configured to use full (non-headless) Chrome.

Demo is woth thousand words. API Documentation covers all the aspects of browser emulation/handling I could think of..

Whether it will be a replacement of NightwatchJS or a sub-component in the current end-to-end stack – fun times of trials & errors will tell.

NoSQL: MongoDB vs DynamoDB for Big Data storage

Minor quote on basic comparison of MongoDB vs DynamoDB from Amazon:

Engines DynamoDB MongoDB
Data Model
  • Key-value with JSON support
  • Up to 400 kb record size
  • Limited data type support
  • JSON-like document
  • Up to 16 mb record size
Querying Key-value queries Query & analyze data in multiple ways — by single keys, ranges, faceted search, graph traversals, and geospatial queries through to complex aggregations

In both cases they perfectly suite for big data storage. Both offer cloud-based (AWS, and Mongo Atlas) and local storage solutions.

Positive feedback on DynamoDB and its pricing policy  (pricing calculator):

Amazon lets you buy operations per second capability rather than CPU hours or storage space. This removes a whole lot of complexity for developers who would otherwise need to tune the database configuration, monitor performance levels, ramp up hardware resources when needed. This provides users a fast and reliable storage space for their needs with costs that scale in direct proportion to the demand.

For now, DynamoDB looks more favorable. The fact that it’s an AWS-only engine doesn’t set any limits. The overall stack of AWS tools that exists in their infrastructure looks promising.

HubSpot: Gatekeepers and Gardeners

HubSpot tech blog published great article on job balancing and tech leads paradox of gatekeepers gardeners.

You might be a gatekeeper if:

  • your team regularly waits for you to review their PRs
  • your team waits to do the next thing assigned to them instead of taking initiative to find projects for themselves
  • you hesitate to go on vacation because you’re concerned your team will struggle in your absence

On the opposite.

A gardener might:

  • forego reviewing work, or let other members of the team take on the responsibility
  • let the team handle their own task management, trusting they understand the needs of the customer, business, and team
  • encourage members to build relationships on and off the team
  • let the team experience failure, trusting in their accountability to fix their problems and learn from their mistakes
  • have their team take on grungy work along with the “fun” work, because they understand the value of it

Great overview of these two roles people occasionally take once becoming managers/tech leads.

Amazon AWS: Giant dilemma in IT

Microsoft, Google, Apple. Now Amazon. Whenever IT company becomes a leader in its niche, people start grumbling about its “evil” intents or monopolizing the market. Well, it’s natural for a market (i.e. capitalist) model. Monopoly kills competition, but to become a monopolist you have to really work hard to reach it.

Same happened with Amazon recently.

Amazon is a retailer, price sensitivity is in their DNA. In the past, when new companies like Digital Ocean have gotten large enough to show up on their radar they’ve reacted with deep price cuts.

….

Adding this all up, Amazon is terrifying to compete with.

 

 

Main Software Engineering cornerstone: Quality

Recently Paul M. Jones published great article on the Software Engineering major conflict between Business and Software worlds: Product quality that perfectly matches Robert L.Glass book I’ve been recently reading on “Facts and Fallacies of Software Engineering“. If you still didn’t read it – strongly recommended!

Just few excerpts on the article:

They [engineers] have a reputation to maintain. Low quality for their kind of work is bad for reputation among their peers. (Note that their peers are not necessarily their employers.)

They understand they may be working on the same project later; higher quality means easier work later, although at the expense of (harder? more?) work now.

And on the other side (dark side?..):

The reputation of the payer is not dependent on how the work is done, only that the work is done, and in a way that can be presented to customers. Note that the customers are mostly not the programmer’s peers.

Some useful links for JS coding

Few nice things to use in close future:

Hoodie

A fast, simple and self-hosted backend as a service for your (web) apps, Open Source and free. No need to write server-side code or database schemas. Makes building offline-capable software a breeze.

GREENKEEPER.IO

Get safety & consistency with real-time monitoring and automatic upates for npm dependencies.

Reduce CSS bundle size by cutting class names

This is pure awesomeness! Gajus Kuizinas went beyond asset minifiers which resulted from 140KB to 53KB CSS size decrease.

There is one thing a minifier cannot do – change the selector names. This is because a CSS minifier does not control the HTML output. Meanwhile, CSS names can get long.

All the details are in the post worth reading, if still think that webpack can only merge JS files in a bundle.