When I work on multi-lingual projects, it always takes a lot of time to estimate and prioritize the localization process. Even if you use machine translation, you can't just translate all languages in the world, since it takes a long time, and LLM will spend all your money on garbage generations like chars "aa" repeated thousands of times in a row. I built the NPM package langstats to solve this problem.| vitonsky.net
Big tech companies invest a lot of effort to sell us the point that every good programmer must have their own open source project. Many programmers have open source side projects, but quite few of them can explain why they waste their time on it. As a result, they work for free, to make big tech rich. Actually, open source can't make money for programmers, but may be useful as a promotion tool for them.| vitonsky.net
User interfaces everywhere are a bit too generic nowadays, as they must be efficient in terms of maintenance and release time. However, that is not a reason to create a pointless and bad UX. It's enough to monitor the meaningfulness of interfaces and ask yourself, "Does it make sense?" to make the user experience great.| Robert Vitonsky | Software engineering insights
Enterprise programming is the management of system complexity. The main goals of most enterprise projects are to minimize bugs, ensure scalability, and release as soon as possible. These goals are unreachable in projects where people rely on individual skills rather than on a system-based approach.| Robert Vitonsky | Software engineering insights
The software that has a political opinion implies a bias and high risk for security. Avoid software with a "position" today, so you don't get hacked tomorrow.| Robert Vitonsky | Software engineering insights
Development logs are an important part of any project because they allow us to track progress, detect problems, and investigate incidents. Remember the value and advantages of development logs, and preserve as many logs as possible.| Robert Vitonsky | Software engineering insights
Let's say you need to choose some technology for your project, or you already have problems with some technologies, so you want to replace them with others. If you do not maintain a decision log, you have a high risk of making bad decisions that are biased, based on authority, and take too long.| Robert Vitonsky | Software engineering insights
A few days ago, David Heinemeier Hansson announced that Turbo 8 is dropping TypeScript . I'm okay with that because I don't even know what Turbo 8 is. However, over the past few years, some frontend programmers have tried to sell me the idea that "TypeScript is useless, just use tests". I think people with such opinions either don't care about code quality or simply don't know what TypeScript is. Here, I will explain why you should use TypeScript.| Robert Vitonsky | Software engineering insights
I've developed a few browser extensions, and every week I receive numerous emails with "revenue offer". Some experienced developers know that offers like these will inject malware into the browsers of your users, but scammers who make these offers will not tell you about it. They offer "integrations" that don't look so suspicious. Imagine how many developers have accepted these offers. Then look at the number of extensions in your browser and think about how much risk there is that you have a...| Robert Vitonsky | Software engineering insights
Some developers are sure that BEM is just a way to make class names in CSS are unique and, since a modern tools allow to make names unique automatically they have no reasons to use BEM. This is a mistake with a bad consequences, BEM is are methodology about atomic code design, it gives you a standards and guides how to simplify code maintaining.| Robert Vitonsky | Software engineering insights
The web-browser is the most used program for me and for most users of the internet, so it is important for browser to work efficiently during daily use. Altough most browsers have embedded translation features and there exists a lot of browser extensions providing translation capabalities, I have found them to be not good enough and unacceptable for intensive use. This is why I have created Linguist - the ultimate browser extension for translation.| Robert Vitonsky | Software engineering insights
If your project don't have a design system it is probably usual problem for you, when even a small changes like changes a color for action buttons takes off a lot of time, generate a lot of changes and make user interface look inconsistent. To solve the problems, you should start use a design system. Let's talk what is it and how to use.| Robert Vitonsky | Software engineering insights
How often you start code review and can't understand how this changes fix the problem and even don't understand is reliable this changes or not? If it periodically happens, you should start write detailed description for each pull request.| Robert Vitonsky | Software engineering insights
We strive to ensure code quality with tests, static code typing, code analyzing, code review and documentation, but some of most popular programming languages like Typescript and Java kill interfaces as concept to describe contract of code.| Robert Vitonsky | Software engineering insights
To make good code and think sensibly, you have to practice and improve your skills always. To improve skills, you have to explore the world, meet with exists ideas and be ready to admit that your approach been wrong.| Robert Vitonsky | Software engineering insights
Last time i often hear point about "modern software is unjustified complicated compared to software of 20-30 years ago, modern development approach is wrong and we must focus on performance and energy efficient" and i completely against of this point. Complicated software is move us to the future.| Robert Vitonsky | Software engineering insights
UI kits are became popular and today exists really many UI libraries, but almost whole its a have one fundamental architecture problem which make this libraries not much good for wide use. The problem is a not modular design.| Robert Vitonsky | Software engineering insights
Welcome to my blog. I've create it to expressing my opinion, primarily about programming.| vitonsky.net
Tech-savvy's notes and insights in software engineering: practices, findings, and advice| vitonsky.net
If you’re still using IP geolocation to decide what language to show, stop screwing around. It’s a broken assumption dressed up as a feature.| vitonsky.net
Enterprise programming is the management of system complexity. The main goals of most enterprise projects are to minimize bugs, ensure scalability, and release as soon as possible. These goals are unreachable in projects where people rely on individual skills rather than on a system-based approach.| Blog about computers