Back to categories

Category: Technology

Extending Azure CLI
Why to extend Azure CLI? Azure CLI already has a lot of extensions to cover interactions with various services in Azure cloud. It also available on all platforms (Linux, Windows, MacOS) so same tool could be used in various scenarios. Many developers already have experience working with Azure CLI so if we add new “extension” it would feel natural and would not require learning new tool from scratch. But it would require to “design” groups and commands so they would feel natural and logical.
Andrei Zhozhin |
Porting Ruby library to TypeScript
Sometimes you realize that existing tools do not work for you anymore as you’ve reached particular limits. It could be a complicated tech stack to run, unacceptable execution time, and lack of expertise to do customizations. When other alternatives do not work for you it is time to create a new thing. This is a story about porting the Ruby library to JavaScript/TypeScript to support ongoing projects. Please note that the library porting process is a serious time investment as it requires understanding two stacks, exploring other libraries, do a lot of debugging and googling.
Andrei Zhozhin |
Harnessing wild microservices
Whenever you need to break your monolith into microservices or bootstrap green field using microservices approach there would be some problems that need to be addressed to prevent operations hell. These problems arise from the fact that multiple parts of your system would become independent and every microservice would need to implement the same SDLC process, now instead of one package, you need to care about N-packages. Moreover, microservices need to interact with each other and the idea to have static configuration (like you might have in monolith) would not work with 5+ services, so you need some discovery mechanism.
Andrei Zhozhin |
Elliptic curve cryptography
Elliptic curves or ECC (Elliptic Curve Cryptographic) or ECDSA (Elliptic Curve Digital Signature Algorithm) are already used in blockchain and to protect HTTP traffic as they have a compact size and much larger private keyspace than older algorithms like RSA (Rivest–Shamir–Adleman). As ECC provides the same level of security with a much shorter key length it is much more preferable for low power devices and limited storage (Internet of things and mobile devices).
Andrei Zhozhin |
Riding blockchain
It is very hard to ignore blockchain these days as it is a core for many coll technologies these days (starting from digital currencies like Bitcoin and Etherium finishing by NFT for artwork). Let’s look at Etherium blockchain as one of the major competitors and try to write some code to understand how to work with it programmatically. Basics Blockchain For simplicity, Blockchain is a sequence of blocks (that can hold any data) that are linked together via hashes.
Andrei Zhozhin |
Resume as code
Looking for ultimate resume format I’m not frequently updating my resume (CV) but when I do I want to keep track of all changes and preferably store my resume in a plain text format to be able to use diff tools. A long time ago I was using Word documents to track different versions of my resume, but it was no simple way to check what have changed from one version to another and it was pain.
Andrei Zhozhin |
Spreadsheet driven development
Big and complex systems are not created big and complex they are growing organically over years and are written by “generations” of developers. At some point, accidental complexity could breach a particular threshold and new changes (even trivial ones) could be very hard to implement without breaking something else. I’d like to share an approach that could help to extract some pieces of the code into the dedicated location (read configuration) and make it maintainable.
Andrei Zhozhin |
Taming Pandas
Why learn new tools In the modern world there is high demand for strong analytical skills, amount of data is growing dramatically, number of different databases and data stores is also increasing. Previously all data was stored in relational databases and SQL language was lingua franca to query it. But now not all databases support SQL and we technically could not put all our data into single storage, that means we need to find new tools capable to work with different data sources and provide at least the same level of flexibility like SQL.
Andrei Zhozhin |
Tibco EMS from zero to hero
Intro In an enterprise environment, there are lots of applications that need to talk to each other, there are enterprise patterns that allow such scenarios. One of such patterns is messaging. TibcoEMS could be utilized to implement messaging patterns and establish communication channels between multiple applications in your enterprise. I would try to cover basic aspects of TibcoEMS (queues, topics, durables, connection factories), permission model, bridging and routing it should be enough for more than 90% of use-cases.
Andrei Zhozhin |