About:
Shalvah's Blog is a personal website authored by Shalvah, featuring content related to technology, programming, and personal insights. The site is associated with the Twitter handle @swish_ink.
Website:
Outgoing Links:
Subscribe to RSS:
The author discusses their DIY smart home project to create presence-activated lights using Antela smart bulbs and Home Assistant software. They explain the process of setting up the project, including choosing the right microcont...
The article discusses the necessity of complexity in software design, using personal examples to illustrate the point. It emphasizes that every engineering problem has a minimum necessary complexity, and that as software architect...
The author reflects on completing the first year of a three-year Bachelor's degree in Engineering, discussing the program, the challenges, and the things they've learned. They talk about their reasons for choosing engineering over...
The text explores software design problems and solutions, focusing on transactions and side effects. It discusses the use of database transactions, the problems with nested service classes interacting with external systems during ...
The text explores the concept of vector search, explaining the idea behind it, how vectors are used to represent non-numerical entities, and how similarity is determined. It also discusses the measures of similarity and how to cho...
The author reflects on leadership and dictatorship after watching Dawn of the Planet of the Apes, drawing parallels between the film and real-life leadership scenarios. They discuss the need for confidence and the ability to make ...
The article explains how SVG works and how it differs from pixel-based images. It demonstrates how to draw shapes using SVG and how to manipulate SVGs with JavaScript. It also explains how to construct an arrowhead using the <path...
The text discusses the development of a high-level API for a Faktory library in PHP, including the creation of a dispatcher, job class, and executor class. The author plans to make the API flexible for users to use directly or plu...
The text explores concurrent rate limiters, mutexes, and semaphores. It discusses the implementation of concurrent rate limiters, concurrency control scenarios, semaphore implementations, and distributed concurrency control. The a...
The text discusses the concept of cardinality in mathematics and software engineering, explaining how it affects data storage and access patterns. It also touches on the importance of cardinality in database indexing and data stor...
The text explores the concept of packing and unpacking bytes, using examples in JavaScript and Ruby. It explains how to represent a series of bytes as a string and how to recover the original information. It also discusses the pos...
The text is part 5 of a series on building a PHP client for Faktory, focusing on supporting more parts of the Faktory protocol, including the INFO command, PUSHB command, and adding support for password authentication. The author ...
The text discusses the refactoring of a PHP client for Faktory, separating responsibilities and creating a higher layer of abstraction. It also covers the tests for the TCP client and the implementation of the Faktory protocol. Th...
The text discusses implementing better logging and error-handling in the Faktory client to make development easier. It explains how to make logging configurable, use a common interface, and handle exceptions properly.
The article discusses how the author and their team improved the CI run times in one of their core Ruby services by up to 50%. They identified the initial state, the problems with the build structure, and the reasons why slow buil...
The text describes the process of solving a logic puzzle using a graph approach. The author explains the puzzle, the graph approach, the possible states, the implementation, and the pathfinding. The author also shares some observa...
The text is a continuation of a series on building a PHP client for Faktory. The author sets up a new Composer project and starts off with a simple test using Pest. The author then proceeds to implement the TCP connection and hand...
The author discusses building a PHP client for Faktory, a language-agnostic queue server. The author describes the process of getting Faktory running and connecting to it via its exposed API. The author also details the process of...
...
The post is part 4 of a series where the author builds a task queue system using Ruby. The author discusses the implementation of a multi-threaded task queue system, the use of Redis for queuing workloads, and the challenges and i...
The post is part 3 of a series where the author builds a task queue system. The author discusses error handling, middleware/callbacks, chaining, and graceful shutdown in the post.