diff --git a/en/news/2026-05_git-budget-qt.md b/en/news/2026-05_git-budget-qt.md new file mode 100644 index 0000000..25c0a10 --- /dev/null +++ b/en/news/2026-05_git-budget-qt.md @@ -0,0 +1,31 @@ +Title: Git Budget is now finally a Qt application, too +Date: 2026-05-01 +Category: News +Slug: git-budget-qt +Lang: en + + + +# April + +In April I have finally updated Klin tool to generate C++ bindings. This allowed +me to have Git Budget as a Qt application for macOS using Kotlin Dialect. + +The most interesting part is how many lines of code were saved when supporting +several platforms: + +| Platform | Saved lines of code | Saved % | Total lines of code | +| --- | --- | --- | --- | +| Android | 0 (Original code) | 0% | 652 | +| iOS | 333 | 58% | 569 | +| macOS | 340 | 44% | 761 | + +Turns out the fact that you don't need to repeat the logic means additional +platforms require 44-58% less lines of code, i.e., once you have an Android +application any additional platform comes at only half the price. + +# May + +In May I plan to add the history of spendings to Git Budget. diff --git a/en/news/git-budget-qt.html b/en/news/git-budget-qt.html new file mode 100644 index 0000000..7a5e494 --- /dev/null +++ b/en/news/git-budget-qt.html @@ -0,0 +1,99 @@ + + + +
+ + + + + ++ 2026-05-01 +
+In April I have finally updated Klin tool to generate C++ bindings. This allowed +me to have Git Budget as a Qt application for macOS using Kotlin Dialect.
+The most interesting part is how many lines of code were saved when supporting +several platforms:
+| Platform | +Saved lines of code | +Saved % | +Total lines of code | +
|---|---|---|---|
| Android | +0 (Original code) | +0% | +652 | +
| iOS | +333 | +58% | +569 | +
| macOS | +340 | +44% | +761 | +
Turns out the fact that you don't need to repeat the logic means additional +platforms require 44-58% less lines of code, i.e., once you have an Android +application any additional platform comes at only half the price.
+In May I plan to add the history of spendings to Git Budget.
++ 2026-05-01 +
+In April I have finally updated Klin tool to generate C++ bindings. This allowed +me to have Git Budget as a Qt application for macOS using Kotlin Dialect.
+The most interesting part is how many lines of code were saved when supporting +several platforms:
+| Platform | +Saved lines of code | +Saved % | +Total lines of code | +
|---|---|---|---|
| Android | +0 (Original code) | +0% | +652 | +
- 2025-08-08 -
-
In July I've added the following to PSKOV 2:
-| № | -Description | -Demonstration | -
|---|---|---|
| 1 | -Selecting a Git branch | -- |
| 2 | -Pulling the changes of a Git branch | -- |
| 3 | -Creating a new file | -- |
Page 1 of 10
diff --git a/en/news/index10.html b/en/news/index10.html index 061cb7f..0f41357 100644 --- a/en/news/index10.html +++ b/en/news/index10.html @@ -24,6 +24,31 @@
+ 2015-06-28 00:00 +
+We completed Editor 0.6.0. You can see 0.6.0 in action here.
+Editor 0.6.0 got the following new features:
+We don't have 0.7.0 completion date at the moment, because we decided to take some time to set up a roadmap for Shuan and Mahjong 2. Once done, we will share 0.7.0 completion date and its feature list along with the roadmap.. . .
++ 2025-08-08 +
+
In July I've added the following to PSKOV 2:
+| № | +Description | +Demonstration | +
|---|---|---|
| 1 | +Selecting a Git branch | ++ |
| 2 | +Pulling the changes of a Git branch | ++ |
| 3 | +Creating a new file | ++ |
- 2024-11-14 00:00 -
-
Now, we have an old "PSKOV" version and we need an improved one.
-First, we should recall what "PSKOV" consists of:
-Helper script is used to bypass web page restriction to access -local file system.
-The script itself is a tiny web server with the following commands:
-| № | -Command | -Details | -
|---|---|---|
| 1 | -GET /path |
-Get current working directory path | -
Page 2 of 10
diff --git a/en/news/index3.html b/en/news/index3.html index 26a8079..6060235 100644 --- a/en/news/index3.html +++ b/en/news/index3.html @@ -24,6 +24,46 @@
+ 2024-11-14 00:00 +
+
Now, we have an old "PSKOV" version and we need an improved one.
+First, we should recall what "PSKOV" consists of:
+Helper script is used to bypass web page restriction to access +local file system.
+The script itself is a tiny web server with the following commands:
+| № | +Command | +Details | +
|---|---|---|
| 1 | +GET /path |
+Get current working directory path | +
- 2024-01-04 00:00 -
-To gain code portability, we have to divide whole code into two parts:
-To simplify portable code construction, we want to be able to place any code - -both repeatable and unique - without hierarchy requirements of operating -systems. Bus design pattern seems to be the best option. The Bus makes all -code chunks equal because they interact through the Bus only.
-Currently we have:
- -. . .
-Page 3 of 10
diff --git a/en/news/index4.html b/en/news/index4.html index a0d592d..b4bf6ea 100644 --- a/en/news/index4.html +++ b/en/news/index4.html @@ -24,6 +24,33 @@
+ 2024-01-04 00:00 +
+To gain code portability, we have to divide whole code into two parts:
+To simplify portable code construction, we want to be able to place any code - +both repeatable and unique - without hierarchy requirements of operating +systems. Bus design pattern seems to be the best option. The Bus makes all +code chunks equal because they interact through the Bus only.
+Currently we have:
+ +. . .
+- 2019-01-01 0:01 -
-
It was a year of reimagining and rethinking. As some of you may remember, we started this project to make a game development tool. During the years, the idea evolved from one form to another, sometimes the changes were significant, other times we threw away all the code and started anew.
-As a result of all these changes, we came to the end of the year 2018 without a tool, but with a clear understanding of what tool are we making.
-There are plenty of fine game development tools out there. Some of them are even open source. We spent plenty of time trying them, and some are quite good.. . .
-Page 4 of 10
diff --git a/en/news/index5.html b/en/news/index5.html index 3da1f75..b041ea6 100644 --- a/en/news/index5.html +++ b/en/news/index5.html @@ -24,6 +24,23 @@
+ 2019-01-01 0:01 +
+
It was a year of reimagining and rethinking. As some of you may remember, we started this project to make a game development tool. During the years, the idea evolved from one form to another, sometimes the changes were significant, other times we threw away all the code and started anew.
+As a result of all these changes, we came to the end of the year 2018 without a tool, but with a clear understanding of what tool are we making.
+There are plenty of fine game development tools out there. Some of them are even open source. We spent plenty of time trying them, and some are quite good.. . .
+- 2017-11-22 00:00 -
-
It's time to step back to see our accomplishments in 2017 and how they connect to the overall goal of Opensource Game Studio project.
-Brief history
-Opensource Game Studio project is 12 years old now.
-2005. We started the project with a fanatic call to create the best game ever. Probably right after finishing Half-Life 2 or Morrowind. 99.99% of those who wanted to participate weathered during a couple of years leaving only the two of us: Michael (coding) and Ivan (the rest). The project was in a constant turmoil because we had no clear purpose and discipline. Thus, we only got a handful of demonstrations during that period.. . .
-Page 5 of 10
diff --git a/en/news/index6.html b/en/news/index6.html index 2f2d747..01ede39 100644 --- a/en/news/index6.html +++ b/en/news/index6.html @@ -24,6 +24,24 @@
+ 2017-11-22 00:00 +
+
It's time to step back to see our accomplishments in 2017 and how they connect to the overall goal of Opensource Game Studio project.
+Brief history
+Opensource Game Studio project is 12 years old now.
+2005. We started the project with a fanatic call to create the best game ever. Probably right after finishing Half-Life 2 or Morrowind. 99.99% of those who wanted to participate weathered during a couple of years leaving only the two of us: Michael (coding) and Ivan (the rest). The project was in a constant turmoil because we had no clear purpose and discipline. Thus, we only got a handful of demonstrations during that period.. . .
+- 2017-01-25 00:00 -
-
This article describes our plans for 2017.
-Our past plans suggested we would have Android platform support by this time. However, we have a long way to go, before we can declare Android support. See for yourself:
-
Some people would consider this a failure. We don't. We see a chance to start low and jump high!
-Having only worked with liberal and forgiving desktop environments, Android was a complete surprise for us. Android punished us for everything: memory, resources, graphics. The usual Android response was either a crash, or an empty screen.. . .
-Page 6 of 10
diff --git a/en/news/index7.html b/en/news/index7.html index a3d49c8..01398a4 100644 --- a/en/news/index7.html +++ b/en/news/index7.html @@ -24,6 +24,25 @@
+ 2017-01-25 00:00 +
+
This article describes our plans for 2017.
+Our past plans suggested we would have Android platform support by this time. However, we have a long way to go, before we can declare Android support. See for yourself:
+
Some people would consider this a failure. We don't. We see a chance to start low and jump high!
+Having only worked with liberal and forgiving desktop environments, Android was a complete surprise for us. Android punished us for everything: memory, resources, graphics. The usual Android response was either a crash, or an empty screen.. . .
+- 2016-09-17 00:00 -
-We will hold live session on 25 September 2016 at 12:00 CEST -It's time to create simple Mahjong solitaire game.
-. . .
-Page 7 of 10
diff --git a/en/news/index8.html b/en/news/index8.html index d3b9f9f..5a9ecf9 100644 --- a/en/news/index8.html +++ b/en/news/index8.html @@ -24,6 +24,23 @@
+ 2016-09-17 00:00 +
+We will hold live session on 25 September 2016 at 12:00 CEST +It's time to create simple Mahjong solitaire game.
+. . .
+- 2016-01-25 00:00 -
-We're glad to annouce that the LiveCoding session will take place on 31 January 2016 at 12:00 CET. Join us!
-. . .
-Page 8 of 10
diff --git a/en/news/index9.html b/en/news/index9.html index 7bbc840..e3e35bf 100644 --- a/en/news/index9.html +++ b/en/news/index9.html @@ -24,6 +24,21 @@
+ 2016-01-25 00:00 +
+We're glad to annouce that the LiveCoding session will take place on 31 January 2016 at 12:00 CET. Join us!
+. . .
+- 2015-06-28 00:00 -
-We completed Editor 0.6.0. You can see 0.6.0 in action here.
-Editor 0.6.0 got the following new features:
-We don't have 0.7.0 completion date at the moment, because we decided to take some time to set up a roadmap for Shuan and Mahjong 2. Once done, we will share 0.7.0 completion date and its feature list along with the roadmap.. . .
-Page 9 of 10
diff --git a/ru/news/2026-05_git-budget-qt.md b/ru/news/2026-05_git-budget-qt.md new file mode 100644 index 0000000..c44810b --- /dev/null +++ b/ru/news/2026-05_git-budget-qt.md @@ -0,0 +1,30 @@ +Title: Git Budget теперь и в виде приложения Qt +Date: 2026-05-01 +Category: News +Slug: git-budget-qt +Lang: ru + + + +# Апрель + +В апреле я наконец доработал инструмент Klin для генерации кода обвязки на C++, +после чего с помощью Kotlin Dialect удалось получить Git Budget на Qt для macOS. + +Отдельного внимания заслуживает экономия строк кода при поддержке нескольких платформ: + +| Платформа | Экономия в строках кода | Экономия в % | Общее количество строк кода | +| --- | --- | --- | --- | +| Android | 0 (Первичный код) | 0% | 652 | +| iOS | 333 | 58% | 569 | +| macOS | 340 | 44% | 761 | + +Выходит, благодаря тому, что логику не надо писать повторно, начиная со второй +платформы экономия составляет 44-58% строк кода, т.е. после Android каждая +следующая платформа обходится лишь в половину стоимости. + +# Май + +В мае планирую добавить историю трат в Git Budget. diff --git a/ru/news/git-budget-qt.html b/ru/news/git-budget-qt.html new file mode 100644 index 0000000..4bab74e --- /dev/null +++ b/ru/news/git-budget-qt.html @@ -0,0 +1,98 @@ + + + +
+ + + + + ++ 2026-05-01 +
+В апреле я наконец доработал инструмент Klin для генерации кода обвязки на C++, +после чего с помощью Kotlin Dialect удалось получить Git Budget на Qt для macOS.
+Отдельного внимания заслуживает экономия строк кода при поддержке нескольких платформ:
+| Платформа | +Экономия в строках кода | +Экономия в % | +Общее количество строк кода | +
|---|---|---|---|
| Android | +0 (Первичный код) | +0% | +652 | +
| iOS | +333 | +58% | +569 | +
| macOS | +340 | +44% | +761 | +
Выходит, благодаря тому, что логику не надо писать повторно, начиная со второй +платформы экономия составляет 44-58% строк кода, т.е. после Android каждая +следующая платформа обходится лишь в половину стоимости.
+В мае планирую добавить историю трат в Git Budget.
++ 2026-05-01 +
+В апреле я наконец доработал инструмент Klin для генерации кода обвязки на C++, +после чего с помощью Kotlin Dialect удалось получить Git Budget на Qt для macOS.
+Отдельного внимания заслуживает экономия строк кода при поддержке нескольких платформ:
+| Платформа | +Экономия в строках кода | +Экономия в % | +Общее количество строк кода | +
|---|---|---|---|
| Android | +0 (Первичный код) | +0% | +652 | +
- 2025-08-08 -
-
В июле я добавил в ПСКОВ 2 следующее:
-| № | -Описание | -Демонстрация | -
|---|---|---|
| 1 | -Выбор ветки Git | -- |
| 2 | -Подтягивание изменений в ветке Git | -- |
| 3 | -Создание нового файла | -- |
Страница 1 из 10
diff --git a/ru/news/index10.html b/ru/news/index10.html index 0c994ec..40a091d 100644 --- a/ru/news/index10.html +++ b/ru/news/index10.html @@ -24,6 +24,30 @@
+ 2015-06-28 00:00 +
+Мы завершили работу над версией 0.6.0 редактора. Вы можете увидеть 0.6.0 в действии здесь.
+Список новых возможностей Редактора 0.6.0:
++ 2025-08-08 +
+
В июле я добавил в ПСКОВ 2 следующее:
+| № | +Описание | +Демонстрация | +
|---|---|---|
| 1 | +Выбор ветки Git | ++ |
| 2 | +Подтягивание изменений в ветке Git | ++ |
| 3 | +Создание нового файла | ++ |
- 2024-11-14 00:00 -
-
Итак, у нас есть старая версия «ПСКОВа», а нам нужна новая с улучшенными -характеристиками.
-Первым делом стоит вспомнить, из чего состоит «ПСКОВ»:
-Вспомогательный скрипт нужен по одной причине: веб-страницам запрещено общаться -с локальной файловой системой по соображениям безопасности.
-Скрипт представляет из себя крошечный веб-сервер со следующими командами:. . .
-Страница 2 из 10
diff --git a/ru/news/index3.html b/ru/news/index3.html index 6e4c30b..dd9c52d 100644 --- a/ru/news/index3.html +++ b/ru/news/index3.html @@ -24,6 +24,31 @@
+ 2024-11-14 00:00 +
+
Итак, у нас есть старая версия «ПСКОВа», а нам нужна новая с улучшенными +характеристиками.
+Первым делом стоит вспомнить, из чего состоит «ПСКОВ»:
+Вспомогательный скрипт нужен по одной причине: веб-страницам запрещено общаться +с локальной файловой системой по соображениям безопасности.
+Скрипт представляет из себя крошечный веб-сервер со следующими командами:. . .
+- 2024-01-04 00:00 -
-Для достижения портируемости кода необходимо разделить весь код на две части:
-Для упрощения конструирования портируемого кода нужна возможность размещать -любой код - и повторяющийся, и уникальный - без учёта иерархии конечной платформы. -Для этого лучше всего подходит шаблон проектирования «Шина». Шина все куски -кода делает равными, т.к. они взаимодействуют друг с другом через Шину.
-На текущий момент получился следующий результат:. . .
-Страница 3 из 10
diff --git a/ru/news/index4.html b/ru/news/index4.html index ef85eb2..3e22099 100644 --- a/ru/news/index4.html +++ b/ru/news/index4.html @@ -24,6 +24,31 @@
+ 2024-01-04 00:00 +
+Для достижения портируемости кода необходимо разделить весь код на две части:
+Для упрощения конструирования портируемого кода нужна возможность размещать +любой код - и повторяющийся, и уникальный - без учёта иерархии конечной платформы. +Для этого лучше всего подходит шаблон проектирования «Шина». Шина все куски +кода делает равными, т.к. они взаимодействуют друг с другом через Шину.
+На текущий момент получился следующий результат:. . .
+- 2019-01-01 0:01 -
-
Этот год во-многом стал для нас годом переосмысления и определенности. Как некоторые из вас помнят, мы начинали этот проект, для создания среды для разработки игр. В течение многих лет идея развивалась от одной формы к другой, иногда изменения были значительными, в других случаях мы отбрасывали весь код и начинали заново.
-В результате всех этих изменений мы подошли к концу 2018 года без готового инструмента, но с четким пониманием того, что за инструмент мы создаем.. . .
-Страница 4 из 10
diff --git a/ru/news/index5.html b/ru/news/index5.html index e6a31f3..351185e 100644 --- a/ru/news/index5.html +++ b/ru/news/index5.html @@ -24,6 +24,22 @@
+ 2019-01-01 0:01 +
+
Этот год во-многом стал для нас годом переосмысления и определенности. Как некоторые из вас помнят, мы начинали этот проект, для создания среды для разработки игр. В течение многих лет идея развивалась от одной формы к другой, иногда изменения были значительными, в других случаях мы отбрасывали весь код и начинали заново.
+В результате всех этих изменений мы подошли к концу 2018 года без готового инструмента, но с четким пониманием того, что за инструмент мы создаем.. . .
+- 2017-11-22 00:00 -
-
Настало время сделать ревизию наших достижений в 2017 году и проверить, насколько они следуют основной цели проекта Opensource Game Studio.
-Краткая история
-Проекту Opensource Game Studio уже 12 лет.
-2005. Мы начали проект с фанатичного призыва к созданию самой лучшей игры. Видимо, сразу же после прохождения Half-Life 2 или Morrowind. 99.99% тех, кто хотел участвовать, отвалились в течение первых двух лет. Остались лишь два человека: Михаил (программирование) и Иван (всё остальное). Проект находился в стадии постоянного беспорядка, т.к. у нас не было ни чёткой цели, ни дисциплины. Неудивительно, что за этот период мы можем похвастаться лишь небольшим набором сумбурных демонстраций.. . .
-Страница 5 из 10
diff --git a/ru/news/index6.html b/ru/news/index6.html index 0ea6028..b7e032b 100644 --- a/ru/news/index6.html +++ b/ru/news/index6.html @@ -24,6 +24,24 @@
+ 2017-11-22 00:00 +
+
Настало время сделать ревизию наших достижений в 2017 году и проверить, насколько они следуют основной цели проекта Opensource Game Studio.
+Краткая история
+Проекту Opensource Game Studio уже 12 лет.
+2005. Мы начали проект с фанатичного призыва к созданию самой лучшей игры. Видимо, сразу же после прохождения Half-Life 2 или Morrowind. 99.99% тех, кто хотел участвовать, отвалились в течение первых двух лет. Остались лишь два человека: Михаил (программирование) и Иван (всё остальное). Проект находился в стадии постоянного беспорядка, т.к. у нас не было ни чёткой цели, ни дисциплины. Неудивительно, что за этот период мы можем похвастаться лишь небольшим набором сумбурных демонстраций.. . .
+- 2017-01-25 00:00 -
-
Эта статья содержит наши планы на 2017 год.
-Наши предыдущие планы предполагали, что сейчас у нас уже будет поддержка платформы Android. Тем не менее, у нас впереди ещё очень много работы, прежде чем мы сможем объявить о поддержке Android. Судите сами:
-
Кто-нибудь может посчитать это неудачей. Но не мы. Мы видим шанс начать с низкого старта и прыгнуть высоко!
-Т.к. ранее мы имели опыт работы лишь с либеральным и всё прощающим настольным ПК, Android стал для нас полной неожиданностью. На каждом шагу нас ожидало наказание за фривольное использование памяти, ресурсов, графики. Чаще всего в ответ на наши действия мы получали либо падение приложения, либо пустой экран.. . .
-Страница 6 из 10
diff --git a/ru/news/index7.html b/ru/news/index7.html index ee4c1c8..7835adf 100644 --- a/ru/news/index7.html +++ b/ru/news/index7.html @@ -24,6 +24,25 @@
+ 2017-01-25 00:00 +
+
Эта статья содержит наши планы на 2017 год.
+Наши предыдущие планы предполагали, что сейчас у нас уже будет поддержка платформы Android. Тем не менее, у нас впереди ещё очень много работы, прежде чем мы сможем объявить о поддержке Android. Судите сами:
+
Кто-нибудь может посчитать это неудачей. Но не мы. Мы видим шанс начать с низкого старта и прыгнуть высоко!
+Т.к. ранее мы имели опыт работы лишь с либеральным и всё прощающим настольным ПК, Android стал для нас полной неожиданностью. На каждом шагу нас ожидало наказание за фривольное использование памяти, ресурсов, графики. Чаще всего в ответ на наши действия мы получали либо падение приложения, либо пустой экран.. . .
+- 2016-09-17 00:00 -
-25 сентября 2016 в 13:00 MSK мы проведём прямой эфир. -Самое время создать простой пасьянс Маджонг
-. . .
-Страница 7 из 10
diff --git a/ru/news/index8.html b/ru/news/index8.html index 8a5ed0f..28afa8b 100644 --- a/ru/news/index8.html +++ b/ru/news/index8.html @@ -24,6 +24,23 @@
+ 2016-09-17 00:00 +
+25 сентября 2016 в 13:00 MSK мы проведём прямой эфир. +Самое время создать простой пасьянс Маджонг
+. . .
+- 2016-01-25 00:00 -
-Мы рады сообщить, что трансляция LiveCoding состоится 31 января 2016 в 14:00 MSK. Присоединяйтесь!
-. . .
-Страница 8 из 10
diff --git a/ru/news/index9.html b/ru/news/index9.html index 4a7b9d4..bc87529 100644 --- a/ru/news/index9.html +++ b/ru/news/index9.html @@ -24,6 +24,21 @@
+ 2016-01-25 00:00 +
+Мы рады сообщить, что трансляция LiveCoding состоится 31 января 2016 в 14:00 MSK. Присоединяйтесь!
+. . .
+- 2015-06-28 00:00 -
-Мы завершили работу над версией 0.6.0 редактора. Вы можете увидеть 0.6.0 в действии здесь.
-Список новых возможностей Редактора 0.6.0:
-Страница 9 из 10
diff --git a/vid/2026-04_git-budget-qt.mp4 b/vid/2026-04_git-budget-qt.mp4 new file mode 100644 index 0000000..bfa4357 Binary files /dev/null and b/vid/2026-04_git-budget-qt.mp4 differ