RSSAmplifier

Blog

Ilya's blog

Systems and software engineering

ilya-sher.orgRSS feed ↗10 posts

Latest posts

Common,,Mistakes

As a programmer / code reviewer, any string manipulation is a red flag and should put you on alert. It s error prone and mistakes are common. That goes for constructing, parsing, and searching within strings. Avoid string manipulation whenever possible. Rationales, pitfalls, and alternative solutions follow. Concatenation Concatenation usually means having two (or more) separate [ ]

Common Mistakes[0]

Using the first element of an array without additional checks is a common mistake. The code above assumes that there is at least one element in things. Unfortunately, it doesn t do anything about the situation when this assumption is not true. The following fix (or something similar) is common: Despite the (most likely) intent of [ ]

To assert() or not to assert()?

Background I ve noticed that I m using and recommending to use assert() in our TypeScript projects. Particularly, to be used in runtime, including input validation sometimes, as opposed to the common use case which is in tests. While one colleague was fully onboard, another one noted that use of assert() in runtime is non-idiomatic and is [ ]

Technologies I’m Impressed by

Following is the list of technologies I m Impressed by, a completely subjective metric. Since I’m not impressed often, these deserve to be listed. In arbitrary order: Hope you have found something new to you in this list. In this case, I recommend taking a look at it.

Subjective Python or why I “hate” Python

Python is a bad fit for typical DevOps tasks.

Motivation to Keep Going on a Project

I have a friend that likes the feeling of progress in the professional area. He considers working on a project as part of his professional development. Following our discussion with regards to staying motivated on such a project, I would like to describe the factors that keep me going. Your factors are likely to be [ ]

Readable TypeScript debug() Output for Protobuf Messages

For search engine indexing and for understanding: Protobuf is frequently used with GRPC. Protobuf is how the requests and responses are serialized. The Problem Look at the output below. Printing protobuf messages using debug( %j ) produces unreadable output (the first one below). Solution Here is all you need to make it work. SessionResponse below is a [ ]

Type Casting in TypeScript

( During code review, looking at TypeScript code. ) Colleague: type casting Me: hold a sec, I don t remember about anything called type casting in TypeScript Colleague: you know, as Me: yep, there is as , I just don t think it was called type casting when I last re-read the official documentation a couple [ ]

Feedback Essentials

This is a concise post, summarizing Manager Tools podcasts about feedback. Examples are mine, I couldn t remember specific examples. Manager Tools recommendations are based on data about what s effective gathered from companies from different industries and of different sizes. Purpose of Feedback The only purpose of feedback is to encourage productive behavior and to discourage [ ]

AWS SDK pagination – disregard for Developer Experience

According to Pagination using Async Iterators in modular AWS SDK for JavaScript, state of the art for pagination in AWS JS SDK is: While having paginators is an improvement over previous atrocities like making the client code track the pagination state (through variously named next page fields of course), it s still wrong. Wouldn t it make [ ]