From 2c5eac62531837902c60fa557fc2f7572cc5361f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B8=D1=85=D0=B0=D0=B8=D0=BB=20=D0=9A=D0=B0=D0=BF?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=D0=BA=D0=BE?= Date: Sun, 1 Feb 2026 22:13:31 +0300 Subject: [PATCH] 2026-02 GitBudget resurrection --- en/news/2025-01_year24.md | 2 +- en/news/2025-09_kotlin-cross.md | 4 +- en/news/2026-02_git-budget-android-ios.md | 27 +++++++ en/news/git-budget-draft-for-android-ios.html | 69 ++++++++++++++++++ en/news/index.html | 49 ++++++------- en/news/index10.html | 16 ++++ en/news/index2.html | 49 +++++++------ en/news/index3.html | 46 ++++++------ en/news/index4.html | 40 +++++----- en/news/index5.html | 34 ++++----- en/news/index6.html | 34 ++++----- en/news/index7.html | 34 ++++----- en/news/index8.html | 36 +++++---- en/news/index9.html | 35 +++++---- en/news/kotlin-cross.html | 4 +- en/news/year24.html | 2 +- images/2026-01_git-budget-android-ios.jpg | Bin 0 -> 96619 bytes ru/news/2026-02_git-budget-android-ios.md | 27 +++++++ ru/news/git-budget-draft-for-android-ios.html | 69 ++++++++++++++++++ ru/news/index.html | 49 ++++++------- ru/news/index10.html | 16 ++++ ru/news/index2.html | 49 +++++++------ ru/news/index3.html | 46 ++++++------ ru/news/index4.html | 40 +++++----- ru/news/index5.html | 34 ++++----- ru/news/index6.html | 35 +++++---- ru/news/index7.html | 34 +++++---- ru/news/index8.html | 35 ++++----- ru/news/index9.html | 35 +++++---- 29 files changed, 594 insertions(+), 356 deletions(-) create mode 100644 en/news/2026-02_git-budget-android-ios.md create mode 100644 en/news/git-budget-draft-for-android-ios.html create mode 100644 images/2026-01_git-budget-android-ios.jpg create mode 100644 ru/news/2026-02_git-budget-android-ios.md create mode 100644 ru/news/git-budget-draft-for-android-ios.html diff --git a/en/news/2025-01_year24.md b/en/news/2025-01_year24.md index c73d8e8..b868594 100644 --- a/en/news/2025-01_year24.md +++ b/en/news/2025-01_year24.md @@ -17,7 +17,7 @@ Let's see the results of the year 2024 quarter by quarter: * **The second quarter** (April - June): * (Python) Created the first version of Python -> C++ translator * Created text UI for "Memory" game - * Created graphics UI for "Memory" game with assests based on sketches drawn on the graph paper + * Created graphics UI for "Memory" game with assets based on sketches drawn on the graph paper * **The third quarter** (July - September): * (Python) Created 2D adventure game prototype using Python Arcade * Renamed "Limited language model" term to "Cross-language dialect" (**CLD**) to better convey the nature of achieving portable code diff --git a/en/news/2025-09_kotlin-cross.md b/en/news/2025-09_kotlin-cross.md index 19b0ea8..f2dd538 100644 --- a/en/news/2025-09_kotlin-cross.md +++ b/en/news/2025-09_kotlin-cross.md @@ -18,8 +18,8 @@ Thus, to support `git push` for moderately sized repositories, I would need to run my own server with CORS proxy. I have neither money, nor time to do that at the moment, unfortunately. -That's why, having stumpled upon the wall of reality once again, I have to -retreat: PSKOV will now be a Node.js application that generate sites +That's why, having stumbled upon the wall of reality once again, I have to +retreat: PSKOV will now be a Node.js application that generates sites locally. A user can manager Git himself. # September diff --git a/en/news/2026-02_git-budget-android-ios.md b/en/news/2026-02_git-budget-android-ios.md new file mode 100644 index 0000000..7c8139b --- /dev/null +++ b/en/news/2026-02_git-budget-android-ios.md @@ -0,0 +1,27 @@ +Title: GitBudget draft for Android and iOS +Date: 2026-02-01 +Category: News +Slug: git-budget-draft-for-android-ios +Lang: en + +![][splash] + +# January + +In January I've resurrected GitBudget project for two reasons: + +1. Combine job goals and hobby ones because they overlap through Kotlin Multiplatform +2. Evaluate Kotlin Multiplatform in decreasing code duplication among platforms (the positive results are described in [Хабр article][habr]). + +[In the distant 2020][gb-old] when I approached GitBudget the first time my +main idea was to track history of spendings, not analysis. This time my +priority was to calculate the available balance left to be spent a day, i.e., +analysis. + +# February + +In February I plan to port GitBudget to Desktop with the help of Qt. + +[gb-old]: git-budget.html +[habr]: https://habr.com/ru/articles/989286/ +[splash]: ../../images/2026-01_git-budget-android-ios.jpg \ No newline at end of file diff --git a/en/news/git-budget-draft-for-android-ios.html b/en/news/git-budget-draft-for-android-ios.html new file mode 100644 index 0000000..ff0a60c --- /dev/null +++ b/en/news/git-budget-draft-for-android-ios.html @@ -0,0 +1,69 @@ + + + + + + + + + +

In the news...

+
+
+

+ GitBudget draft for Android and iOS +

+

+ 2026-02-01 +

+
+

+

January

+

In January I've resurrected GitBudget project for two reasons:

+
    +
  1. Combine job goals and hobby ones because they overlap through Kotlin Multiplatform
  2. +
  3. Evaluate Kotlin Multiplatform in decreasing code duplication among platforms (the positive results are described in Хабр article).
  4. +
+

In the distant 2020 when I approached GitBudget the first time my +main idea was to track history of spendings, not analysis. This time my +priority was to calculate the available balance left to be spent a day, i.e., +analysis.

+

February

+

In February I plan to port GitBudget to Desktop with the help of Qt.

+
+
+
+ + + +
+ + diff --git a/en/news/index.html b/en/news/index.html index 812158e..189cb64 100644 --- a/en/news/index.html +++ b/en/news/index.html @@ -24,6 +24,29 @@

News

+
+

+ GitBudget draft for Android and iOS +

+

+ 2026-02-01 +

+
+

+

January

+

In January I've resurrected GitBudget project for two reasons:

+
    +
  1. Combine job goals and hobby ones because they overlap through Kotlin Multiplatform
  2. +
  3. Evaluate Kotlin Multiplatform in decreasing code duplication among platforms (the positive results are described in Хабр article).
  4. +
+

In the distant 2020 when I approached GitBudget the first time my +main idea was to track history of spendings, not analysis. This time my +priority was to calculate the available balance left to be spent a day, i.e.,. . .

+
+ +

Manage files @@ -246,32 +269,6 @@ Future functionality like Git and Markdown is expected to follow the same patter Continue reading

-
-

- Notes and Git -

-

- 2025-05-10 00:00 -

-
- -

Notes

-

In April I created a web application to take notes.

-

Initially, the features I wanted to implement were:

-
    -
  1. keep data in Git
  2. -
  3. web application uses DoX architecture
  4. -
  5. data is synchronized among several clients: PC, mobile, etc.
  6. -
-

I have managed to fulfill the first two items only, didn't have time for the -third one. Thus, the application is pretty much useless at the moment.. . .

-
- -

Page 1 of 10

diff --git a/en/news/index10.html b/en/news/index10.html index 7791771..2436174 100644 --- a/en/news/index10.html +++ b/en/news/index10.html @@ -24,6 +24,22 @@

News

+
+

+ Editor roadmap for 0.4.0 +

+

+ 2015-01-13 00:00 +

+
+

The development of Editor 0.3.0 showed us, that usage of custom GUI was not a perfect idea. A few months ago, custom GUI seemed as a simpler way to do things, but it turned out to lack many little features, that are crucial if you're planning to make a convenient tool.

+

In the end, we decided to do what we wanted to do in the first place - to use Qt library as the GUI library for our editor.

+

So, we'll rewrite the Editor with Qt interface and a little bit refreshed project concept in mind. We plan to release the editor with new GUI and a set of basic features like loading and saving projects in May.. . .

+
+ +

User survey ends today diff --git a/en/news/index2.html b/en/news/index2.html index 177be21..a759731 100644 --- a/en/news/index2.html +++ b/en/news/index2.html @@ -24,6 +24,32 @@

News

+
+

+ Notes and Git +

+

+ 2025-05-10 00:00 +

+
+ +

Notes

+

In April I created a web application to take notes.

+

Initially, the features I wanted to implement were:

+
    +
  1. keep data in Git
  2. +
  3. web application uses DoX architecture
  4. +
  5. data is synchronized among several clients: PC, mobile, etc.
  6. +
+

I have managed to fulfill the first two items only, didn't have time for the +third one. Thus, the application is pretty much useless at the moment.. . .

+
+ +

PSKOV 2 without LHA? @@ -230,29 +256,6 @@ graphical results did not match that of the audience.. . .

Continue reading

-
-

- Rethinking -

-

- 2024-08-12 00:00 -

-
-

Game

-

When July started my initial plan was to make the instrument support Python to -JavaScript code translation. However, this did not happen because tasks with -higher priority emerged.

-

Which task is more important than develpment of the instrument? -Development of a game, of course! Now, let's go back to the beginning of -July 2024…

-

Gamejam

-

"Start the game" 3-day gamejam finished in the beginning of July 2024. -I participated in the jam to validate the instrument under development and. . .

-
- -

Page 2 of 10

diff --git a/en/news/index3.html b/en/news/index3.html index bc0152b..447185a 100644 --- a/en/news/index3.html +++ b/en/news/index3.html @@ -24,6 +24,29 @@

News

+
+

+ Rethinking +

+

+ 2024-08-12 00:00 +

+
+

Game

+

When July started my initial plan was to make the instrument support Python to +JavaScript code translation. However, this did not happen because tasks with +higher priority emerged.

+

Which task is more important than develpment of the instrument? +Development of a game, of course! Now, let's go back to the beginning of +July 2024…

+

Gamejam

+

"Start the game" 3-day gamejam finished in the beginning of July 2024. +I participated in the jam to validate the instrument under development and. . .

+
+ +

"Memory" GUI @@ -207,29 +230,6 @@ not the hardware one. Today I can confidently say I found the necessary. . .

Continue reading

-
-

- Why I keep track of spendings in a personal app made with Git+JS -

-

- 2020-05-03 00:00 -

-
-

GitBudget

-

In this article Michael shares his experience of using Git+JS.

-

Hi, folks, let me share my experience of creating an application to keep track of my spendings. Specifically, let me do it by answering the following questions:

-
    -
  1. Why keep track of spendings in an application?
  2. -
  3. Why did I create the application as a personal project?
  4. -
  5. Why does the project use Git+JS?
  6. -
-

1. Why keep track of spendings in an application?

-

I, like many people out there, wanted to become rich and successful. To become rich, one is often advised to run a personal budget, that's what I started to do several years ago. I'd like to point out that running my personal budget hasn't made me rich and successful, and I increased income simply by moving to Moscow.. . .

-
- -

Page 3 of 10

diff --git a/en/news/index4.html b/en/news/index4.html index c3dfcf5..6be2f1d 100644 --- a/en/news/index4.html +++ b/en/news/index4.html @@ -24,6 +24,29 @@

News

+
+

+ Why I keep track of spendings in a personal app made with Git+JS +

+

+ 2020-05-03 00:00 +

+
+

GitBudget

+

In this article Michael shares his experience of using Git+JS.

+

Hi, folks, let me share my experience of creating an application to keep track of my spendings. Specifically, let me do it by answering the following questions:

+
    +
  1. Why keep track of spendings in an application?
  2. +
  3. Why did I create the application as a personal project?
  4. +
  5. Why does the project use Git+JS?
  6. +
+

1. Why keep track of spendings in an application?

+

I, like many people out there, wanted to become rich and successful. To become rich, one is often advised to run a personal budget, that's what I started to do several years ago. I'd like to point out that running my personal budget hasn't made me rich and successful, and I increased income simply by moving to Moscow.. . .

+
+ +

Teaching folks to program 2019, a.k.a. in the search of an ideal program: Sequence @@ -181,23 +204,6 @@ It seems that right now we have less completed features than before the release Continue reading

-
-

- Examples and dependencies -

-

- 2018-08-21 00:00 -

-
-

Cloud

-

This article describes two new OpenSceneGraph cross-platform examples and the change in handling dependencies.

-

Examples of HTTP client and node selection

-

Once we finished working on the remote debugging example and reported its completion, we were surprised by the fact that secure HTTP connection between a debugged application and debug broker was only working in the web version of the example. Desktop and mobile versions only worked with insecure HTTP.. . .

-
- -

Page 4 of 10

diff --git a/en/news/index5.html b/en/news/index5.html index 9745982..b7e7117 100644 --- a/en/news/index5.html +++ b/en/news/index5.html @@ -24,6 +24,23 @@

News

+
+

+ Examples and dependencies +

+

+ 2018-08-21 00:00 +

+
+

Cloud

+

This article describes two new OpenSceneGraph cross-platform examples and the change in handling dependencies.

+

Examples of HTTP client and node selection

+

Once we finished working on the remote debugging example and reported its completion, we were surprised by the fact that secure HTTP connection between a debugged application and debug broker was only working in the web version of the example. Desktop and mobile versions only worked with insecure HTTP.. . .

+
+ +
-
-

- Scripting research -

-

- 2017-08-16 00:00 -

-
-

Textbook with a text

-

This article describes scripting research in July 2017.

-

Our first goal of using a scripting language was to have a platform-independent code that runs unchanged on every supported platform.

-

OGS Editor 0.10 supports Python for such a code thanks to SWIG. SWIG provides a way to wrap almost any C/C++ code and use it in dozens of languages like Python, Ruby, Lua, Java, C#, etc.. SWIG really helped us taste the beauty of platform-independent code. However, SWIG only works one way: from C/C++ to a target language. This means the main application must be in the target language, and C/C++ code can only be used as a library.. . .

-
- -

Page 5 of 10

diff --git a/en/news/index6.html b/en/news/index6.html index 29dda05..3f1c200 100644 --- a/en/news/index6.html +++ b/en/news/index6.html @@ -24,6 +24,23 @@

News

+
+

+ Scripting research +

+

+ 2017-08-16 00:00 +

+
+

Textbook with a text

+

This article describes scripting research in July 2017.

+

Our first goal of using a scripting language was to have a platform-independent code that runs unchanged on every supported platform.

+

OGS Editor 0.10 supports Python for such a code thanks to SWIG. SWIG provides a way to wrap almost any C/C++ code and use it in dozens of languages like Python, Ruby, Lua, Java, C#, etc.. SWIG really helped us taste the beauty of platform-independent code. However, SWIG only works one way: from C/C++ to a target language. This means the main application must be in the target language, and C/C++ code can only be used as a library.. . .

+
+ +
-
-

- October 2016 recap -

-

- 2016-11-19 00:00 -

-
-

Gaining Android support was like climbing a mountain for us

-

This article describes how we spent a month building OpenSceneGraph (OSG) for Android: the first attempt to build OSG, the search for OSG alternatives, and the success in building OSG.

-

First attempt to build OSG.

-

Having no prior knowledge of Android development, we grabbed the latest Android Studio and started doing beginner tutorials. We passed Java part pretty fast. Everything worked out of the box. Then came C++ part and related problems.. . .

-
- -

Page 6 of 10

diff --git a/en/news/index7.html b/en/news/index7.html index 779b45d..6ef6a5a 100644 --- a/en/news/index7.html +++ b/en/news/index7.html @@ -24,6 +24,23 @@

News

+
+

+ October 2016 recap +

+

+ 2016-11-19 00:00 +

+
+

Gaining Android support was like climbing a mountain for us

+

This article describes how we spent a month building OpenSceneGraph (OSG) for Android: the first attempt to build OSG, the search for OSG alternatives, and the success in building OSG.

+

First attempt to build OSG.

+

Having no prior knowledge of Android development, we grabbed the latest Android Studio and started doing beginner tutorials. We passed Java part pretty fast. Everything worked out of the box. Then came C++ part and related problems.. . .

+
+ +

Technology showcases @@ -177,23 +194,6 @@ It's time to create simple Mahjong solitaire game.

Continue reading

-
-

- Once Mahjong – always Mahjong -

-

- 2016-08-10 00:00 -

-
-

We started Opensource Game Studio project a long time ago. We wanted to provide open source community with tools to create games. However, it was unclear what tools' purpose was. So we decided to start small: create a game first.

-

It took us 3 years to reach the first goal: we released OGS Mahjong 1.0 in 2012. Even for a hobby project (we spend about 40 hours a month) it's too long.

-

Upon the game release we got it: Tools are means to save development time.

-

We spent 4 more years to develop them. Now is the time to prove they are worth every single day spent. How? We will recreate Mahjong solitaire mode in just a few hours!. . .

-
- -

Page 7 of 10

diff --git a/en/news/index8.html b/en/news/index8.html index 4506e9a..c8ed74e 100644 --- a/en/news/index8.html +++ b/en/news/index8.html @@ -24,6 +24,23 @@

News

+
+

+ Once Mahjong – always Mahjong +

+

+ 2016-08-10 00:00 +

+
+

We started Opensource Game Studio project a long time ago. We wanted to provide open source community with tools to create games. However, it was unclear what tools' purpose was. So we decided to start small: create a game first.

+

It took us 3 years to reach the first goal: we released OGS Mahjong 1.0 in 2012. Even for a hobby project (we spend about 40 hours a month) it's too long.

+

Upon the game release we got it: Tools are means to save development time.

+

We spent 4 more years to develop them. Now is the time to prove they are worth every single day spent. How? We will recreate Mahjong solitaire mode in just a few hours!. . .

+
+ +
-
-

- Live session video and downloads -

-

- 2015-11-15 00:00 -

- - -

Page 8 of 10

diff --git a/en/news/index9.html b/en/news/index9.html index 849e00a..a42cece 100644 --- a/en/news/index9.html +++ b/en/news/index9.html @@ -24,6 +24,25 @@

News

+
+

+ Live session video and downloads +

+

+ 2015-11-15 00:00 +

+ + +
-
-

- Editor roadmap for 0.4.0 -

-

- 2015-01-13 00:00 -

-
-

The development of Editor 0.3.0 showed us, that usage of custom GUI was not a perfect idea. A few months ago, custom GUI seemed as a simpler way to do things, but it turned out to lack many little features, that are crucial if you're planning to make a convenient tool.

-

In the end, we decided to do what we wanted to do in the first place - to use Qt library as the GUI library for our editor.

-

So, we'll rewrite the Editor with Qt interface and a little bit refreshed project concept in mind. We plan to release the editor with new GUI and a set of basic features like loading and saving projects in May.. . .

-
- -

Page 9 of 10

diff --git a/en/news/kotlin-cross.html b/en/news/kotlin-cross.html index 1d0ff6c..d826fc5 100644 --- a/en/news/kotlin-cross.html +++ b/en/news/kotlin-cross.html @@ -41,8 +41,8 @@ too large error.

Thus, to support git push for moderately sized repositories, I would need to run my own server with CORS proxy. I have neither money, nor time to do that at the moment, unfortunately.

-

That's why, having stumpled upon the wall of reality once again, I have to -retreat: PSKOV will now be a Node.js application that generate sites +

That's why, having stumbled upon the wall of reality once again, I have to +retreat: PSKOV will now be a Node.js application that generates sites locally. A user can manager Git himself.

September

In September I will create the first version of PSKOV for Node.js diff --git a/en/news/year24.html b/en/news/year24.html index 82c06d4..d4e1aff 100644 --- a/en/news/year24.html +++ b/en/news/year24.html @@ -42,7 +42,7 @@

  • The second quarter (April - June):
    • (Python) Created the first version of Python -> C++ translator
    • Created text UI for "Memory" game
    • -
    • Created graphics UI for "Memory" game with assests based on sketches drawn on the graph paper
  • +
  • Created graphics UI for "Memory" game with assets based on sketches drawn on the graph paper
  • The third quarter (July - September):
    • (Python) Created 2D adventure game prototype using Python Arcade
    • Renamed "Limited language model" term to "Cross-language dialect" (CLD) to better convey the nature of achieving portable code
    • diff --git a/images/2026-01_git-budget-android-ios.jpg b/images/2026-01_git-budget-android-ios.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5130bc4261578d311b3a5e4c10ca30d07abeeaa9 GIT binary patch literal 96619 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

      @HV}q{RN9Ly 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 UB+sAxkJ#U!{F~(-^Ly?;0NIS{b^rhX literal 0 HcmV?d00001 diff --git a/ru/news/2026-02_git-budget-android-ios.md b/ru/news/2026-02_git-budget-android-ios.md new file mode 100644 index 0000000..281db97 --- /dev/null +++ b/ru/news/2026-02_git-budget-android-ios.md @@ -0,0 +1,27 @@ +Title: Заготовка GitBudget для Android и iOS +Date: 2026-02-01 +Category: News +Slug: git-budget-draft-for-android-ios +Lang: ru + +![][splash] + +# Январь + +В январе воскресил проект GitBudget по двум причинам: + +1. Cовмещение рабочих целей с целями в хобби, т.к. они пересекаются по Kotlin Multiplatform +2. Оценка эффективности Kotlin Multiplatform в уменьшении дублирования кода между платформами (получилось хорошо, цифры в [статье на Хабре][habr]). + +[В далёком 2020-м году][gb-old] при первой попытке сделать GitBudget мой +акцент был на ведении истории трат, не аналитике. Сейчас же я в первую +очередь сделал подсчёт баланса на текущий день по своей модели бюджета, т.е. +как раз сделал аналитику, историю трат отложил. + +# Февраль + +В феврале планирую перенести GitBudget на Desktop с помощью Qt. + +[gb-old]: git-budget.html +[habr]: https://habr.com/ru/articles/989286/ +[splash]: ../../images/2026-01_git-budget-android-ios.jpg \ No newline at end of file diff --git a/ru/news/git-budget-draft-for-android-ios.html b/ru/news/git-budget-draft-for-android-ios.html new file mode 100644 index 0000000..f9564a3 --- /dev/null +++ b/ru/news/git-budget-draft-for-android-ios.html @@ -0,0 +1,69 @@ + + + + + + + + +

      +

      В новостях...

      +
      +
      +

      + Заготовка GitBudget для Android и iOS +

      +

      + 2026-02-01 +

      +
      +

      +

      Январь

      +

      В январе воскресил проект GitBudget по двум причинам:

      +
        +
      1. Cовмещение рабочих целей с целями в хобби, т.к. они пересекаются по Kotlin Multiplatform
      2. +
      3. Оценка эффективности Kotlin Multiplatform в уменьшении дублирования кода между платформами (получилось хорошо, цифры в статье на Хабре).
      4. +
      +

      В далёком 2020-м году при первой попытке сделать GitBudget мой +акцент был на ведении истории трат, не аналитике. Сейчас же я в первую +очередь сделал подсчёт баланса на текущий день по своей модели бюджета, т.е. +как раз сделал аналитику, историю трат отложил.

      +

      Февраль

      +

      В феврале планирую перенести GitBudget на Desktop с помощью Qt.

      +
      +
      +
      + + + +
      + + diff --git a/ru/news/index.html b/ru/news/index.html index e31668b..8430760 100644 --- a/ru/news/index.html +++ b/ru/news/index.html @@ -24,6 +24,29 @@

      Новости

      +
      +

      + Заготовка GitBudget для Android и iOS +

      +

      + 2026-02-01 +

      +
      +

      +

      Январь

      +

      В январе воскресил проект GitBudget по двум причинам:

      +
        +
      1. Cовмещение рабочих целей с целями в хобби, т.к. они пересекаются по Kotlin Multiplatform
      2. +
      3. Оценка эффективности Kotlin Multiplatform в уменьшении дублирования кода между платформами (получилось хорошо, цифры в статье на Хабре).
      4. +
      +

      В далёком 2020-м году при первой попытке сделать GitBudget мой +акцент был на ведении истории трат, не аналитике. Сейчас же я в первую +очередь сделал подсчёт баланса на текущий день по своей модели бюджета, т.е.. . .

      +
      + +
      -
      -

      - Заметки и Git -

      -

      - 2025-05-10 00:00 -

      -
      - -

      Заметки

      -

      В апреле сделал заготовку веб-приложения заметок.

      -

      Запланированы были следующие характеристики:

      -
        -
      1. данные хранятся в Git
      2. -
      3. веб-приложение на архитектуре DoX
      4. -
      5. данные синхрятся между несколькими клиентами: комп, мобила и т.д.
      6. -
      -

      За апрель успел реализовать лишь первые два пункта, третий не успел. Без -третьего пункта приложение в текущем виде практически бесполезно, поэтому. . .

      -
      - -

      Страница 1 из 10

      diff --git a/ru/news/index10.html b/ru/news/index10.html index e0747c1..42c2583 100644 --- a/ru/news/index10.html +++ b/ru/news/index10.html @@ -24,6 +24,22 @@

      Новости

      +
      +

      + План задач для Editor 0.4.0 +

      +

      + 2015-01-13 00:00 +

      +
      +

      Разработка Editor 0.3.0 показала нам, что использование кастомного GUI не было столь хорошей идеей, как показалось на первый взгляд. Несмотря на более простую реализацию, кастомный GUI лишен множества мелких достоинств, которые оказываются практически необходимы, если задаться целью сделать удобный инструмент.

      +

      В конце концов, мы решили сделать то, что хотели сделать с самого начала - использовать для редактора библиотеку Qt.

      +

      В ближайшее время мы перепишем редактор, имея в виду Qt-интерфейс и немного обновленную концепцию проекта. Мы планируем выпустить редактор с новым интерфейсом и набором базовых функций, таких как загрузка и сохранение проектов, в мае.. . .

      +
      + +

      Окончание опроса diff --git a/ru/news/index2.html b/ru/news/index2.html index 08cfa19..d5b4d2b 100644 --- a/ru/news/index2.html +++ b/ru/news/index2.html @@ -24,6 +24,32 @@

      Новости

      +
      +

      + Заметки и Git +

      +

      + 2025-05-10 00:00 +

      +
      + +

      Заметки

      +

      В апреле сделал заготовку веб-приложения заметок.

      +

      Запланированы были следующие характеристики:

      +
        +
      1. данные хранятся в Git
      2. +
      3. веб-приложение на архитектуре DoX
      4. +
      5. данные синхрятся между несколькими клиентами: комп, мобила и т.д.
      6. +
      +

      За апрель успел реализовать лишь первые два пункта, третий не успел. Без +третьего пункта приложение в текущем виде практически бесполезно, поэтому. . .

      +
      + +

      ПСКОВ 2 без LHA? @@ -216,29 +242,6 @@ Linux, macOS и Windows. Таким образом, если кому-либо Читать далее

      -
      -

      - Переосмысление -

      -

      - 2024-08-12 00:00 -

      -
      -

      Игра

      -

      По планам за июль я должен был доработать инструмент для трансляцию кода из -Python в JavaScript. Этого не произошло, потому что появились более -приоритетные задачи.

      -

      Какая задача может быть приоритетнее разработки инструмента? Разработка -игры, конечно же! Итак, возвращаемся в начало июля 2024-го года…

      -

      Геймджем

      -

      В начале июля 2024-го года закончился трёхдневный геймджем от -«Начни игру», в котором я участвовал. Целью моего участия в -геймджеме было как проверить свои игровые наработки в условиях,. . .

      -
      - -

      Страница 2 из 10

      diff --git a/ru/news/index3.html b/ru/news/index3.html index 1dc61fb..1f51443 100644 --- a/ru/news/index3.html +++ b/ru/news/index3.html @@ -24,6 +24,29 @@

      Новости

      +
      +

      + Переосмысление +

      +

      + 2024-08-12 00:00 +

      +
      +

      Игра

      +

      По планам за июль я должен был доработать инструмент для трансляцию кода из +Python в JavaScript. Этого не произошло, потому что появились более +приоритетные задачи.

      +

      Какая задача может быть приоритетнее разработки инструмента? Разработка +игры, конечно же! Итак, возвращаемся в начало июля 2024-го года…

      +

      Геймджем

      +

      В начале июля 2024-го года закончился трёхдневный геймджем от +«Начни игру», в котором я участвовал. Целью моего участия в +геймджеме было как проверить свои игровые наработки в условиях,. . .

      +
      + +

      Графический интерфейс «Памяти» @@ -206,29 +229,6 @@ Ubuntu Edge. Особенностью продукта должна была Читать далее

      -
      -

      - Почему я сделал личный проект учёта трат на Git+JS -

      -

      - 2020-05-03 00:00 -

      -
      -

      ГитБюджет

      -

      В этой статье Михаил поделится опытом использования Git+JS.

      -

      Здравствуйте, господа, в этой статье я поделюсь опытом создания приложения учёта трат, в частности отвечу на следующие вопросы:

      -
        -
      1. Зачем мне приложение учёта трат?
      2. -
      3. Почему это личный проект?
      4. -
      5. Почему проект на Git+JS?
      6. -
      -

      1. Зачем мне приложение учёта трат?

      -

      Как и многие другие люди я давно хотел стать богатым и практиковать успешный успех. Одной из рекомендаций в таких случаях часто выступает предложение вести собственный бюджет, чем я и занялся несколько лет назад. Скажу сразу, что ведение бюджета не сделало меня богатым и успешным, а своё материальное положение я улучшил обычным переездом в Москву.. . .

      -
      - -

      Страница 3 из 10

      diff --git a/ru/news/index4.html b/ru/news/index4.html index a5251de..cf96f54 100644 --- a/ru/news/index4.html +++ b/ru/news/index4.html @@ -24,6 +24,29 @@

      Новости

      +
      +

      + Почему я сделал личный проект учёта трат на Git+JS +

      +

      + 2020-05-03 00:00 +

      +
      +

      ГитБюджет

      +

      В этой статье Михаил поделится опытом использования Git+JS.

      +

      Здравствуйте, господа, в этой статье я поделюсь опытом создания приложения учёта трат, в частности отвечу на следующие вопросы:

      +
        +
      1. Зачем мне приложение учёта трат?
      2. +
      3. Почему это личный проект?
      4. +
      5. Почему проект на Git+JS?
      6. +
      +

      1. Зачем мне приложение учёта трат?

      +

      Как и многие другие люди я давно хотел стать богатым и практиковать успешный успех. Одной из рекомендаций в таких случаях часто выступает предложение вести собственный бюджет, чем я и занялся несколько лет назад. Скажу сразу, что ведение бюджета не сделало меня богатым и успешным, а своё материальное положение я улучшил обычным переездом в Москву.. . .

      +
      + +
      -
      -

      - Примеры и зависимости -

      -

      - 2018-08-21 00:00 -

      -
      -

      Облако

      -

      Эта статья описывает два новых кросс-платформенных примера OpenSceneGraph и изменение в работе с зависимостями.

      -

      Примеры клиента HTTP и выбора узла сцены

      -

      После окончания работы над примером удалённой отладки и сообщения об этом мы с удивлением обнаружили, что безопасное соединение HTTPS между отлаживаемым приложением и брокером отладки работало лишь в веб-версии примера. Десктопная и мобильная версии работали лишь с помощью обычного соединения HTTP.. . .

      -
      - -

      Страница 4 из 10

      diff --git a/ru/news/index5.html b/ru/news/index5.html index 441ca3b..f559792 100644 --- a/ru/news/index5.html +++ b/ru/news/index5.html @@ -24,6 +24,23 @@

      Новости

      +
      +

      + Примеры и зависимости +

      +

      + 2018-08-21 00:00 +

      +
      +

      Облако

      +

      Эта статья описывает два новых кросс-платформенных примера OpenSceneGraph и изменение в работе с зависимостями.

      +

      Примеры клиента HTTP и выбора узла сцены

      +

      После окончания работы над примером удалённой отладки и сообщения об этом мы с удивлением обнаружили, что безопасное соединение HTTPS между отлаживаемым приложением и брокером отладки работало лишь в веб-версии примера. Десктопная и мобильная версии работали лишь с помощью обычного соединения HTTP.. . .

      +
      + +
      -
      -

      - Изучение скриптования -

      -

      - 2017-08-16 00:00 -

      -
      -

      Тетрадка с текстом

      -

      Эта статья описывает изучение скриптования в июле 2017.

      -

      Наша основная цель использования скриптового языка - это наличие платформо-независимого кода, выполняемого без изменений на каждой поддерживаемой платформе.

      -

      Редактор 0.10 использует Python в качестве подобного кода с помощью SWIG. SWIG позволяет использовать практически любой код C/C++ из языков вроде Python, Ruby, Lua, Java, C# и т.д.. SWIG помог нам впервые оценить прелесть платформо-независимого кода. К сожалению, SWIG работает лишь в одном направлении: из C/C++ в язык назначения. Это приводит к тому, что основное приложение должно быть написано на языке назначения, а код C/C++ может быть использован лишь в виде библиотеки.. . .

      -
      - -

      Страница 5 из 10

      diff --git a/ru/news/index6.html b/ru/news/index6.html index f22c2c2..e39114a 100644 --- a/ru/news/index6.html +++ b/ru/news/index6.html @@ -24,6 +24,23 @@

      Новости

      +
      +

      + Изучение скриптования +

      +

      + 2017-08-16 00:00 +

      +
      +

      Тетрадка с текстом

      +

      Эта статья описывает изучение скриптования в июле 2017.

      +

      Наша основная цель использования скриптового языка - это наличие платформо-независимого кода, выполняемого без изменений на каждой поддерживаемой платформе.

      +

      Редактор 0.10 использует Python в качестве подобного кода с помощью SWIG. SWIG позволяет использовать практически любой код C/C++ из языков вроде Python, Ruby, Lua, Java, C# и т.д.. SWIG помог нам впервые оценить прелесть платформо-независимого кода. К сожалению, SWIG работает лишь в одном направлении: из C/C++ в язык назначения. Это приводит к тому, что основное приложение должно быть написано на языке назначения, а код C/C++ может быть использован лишь в виде библиотеки.. . .

      +
      + +
      -
      -

      - Октябрь 2016 кратко -

      -

      - 2016-11-19 00:00 -

      -
      -

      Достижение поддержки Android было сродни покорению горы для нас

      -

      Эта статья описывает, как мы потратили месяц на сборку OpenSceneGraph (OSG) под Android: первая попытка собрать OSG, поиск альтернатив OSG и успех в сборке OSG.

      -

      Первая попытка собрать OSG.

      -

      Не имея опыта разработки под Android, мы взяли последнюю версию Android Studio и начали проходить самоучители для начинающих. Java далась легко. Всё работало из коробки. Затем наступил черёд C++ и проблем.

      -

      **CMake. **Android Studio для работы с C++ использует собственную версию CMake, которая конфликтует с системной. Для нас это было явным сигналом о необходимости подготовить отдельное окружение разработки специально под Android.. . .

      -
      - -

      Страница 6 из 10

      diff --git a/ru/news/index7.html b/ru/news/index7.html index 7e95db1..3ee0006 100644 --- a/ru/news/index7.html +++ b/ru/news/index7.html @@ -24,6 +24,24 @@

      Новости

      +
      +

      + Октябрь 2016 кратко +

      +

      + 2016-11-19 00:00 +

      +
      +

      Достижение поддержки Android было сродни покорению горы для нас

      +

      Эта статья описывает, как мы потратили месяц на сборку OpenSceneGraph (OSG) под Android: первая попытка собрать OSG, поиск альтернатив OSG и успех в сборке OSG.

      +

      Первая попытка собрать OSG.

      +

      Не имея опыта разработки под Android, мы взяли последнюю версию Android Studio и начали проходить самоучители для начинающих. Java далась легко. Всё работало из коробки. Затем наступил черёд C++ и проблем.

      +

      **CMake. **Android Studio для работы с C++ использует собственную версию CMake, которая конфликтует с системной. Для нас это было явным сигналом о необходимости подготовить отдельное окружение разработки специально под Android.. . .

      +
      + +
      -
      -

      - Раз Маджонг – всегда Маджонг -

      -

      - 2016-08-10 00:00 -

      -
      -

      Мы начали проект Opensource Game Studio очень давно. Мы хотели дать сообществу свободного программного обеспечения средства для создания игр. Правда, тогда не было ясно, что они из себя должны представлять. Поэтому решили начать с малого: создать игру.

      -

      Мы потратили 3 года для достижения этой цели: выпуск OGS Mahjong 1.0 состоялся в 2012 году. Даже для хобби-проекта (мы тратим в среднем около 40 часов в месяц) это очень долго.

      -

      После выпуска игры до нас дошло: Средства для создания игр должны экономить время разработки.. . .

      -
      - -

      Страница 7 из 10

      diff --git a/ru/news/index8.html b/ru/news/index8.html index a94e7a0..9c33e5d 100644 --- a/ru/news/index8.html +++ b/ru/news/index8.html @@ -24,6 +24,22 @@

      Новости

      +
      +

      + Раз Маджонг – всегда Маджонг +

      +

      + 2016-08-10 00:00 +

      +
      +

      Мы начали проект Opensource Game Studio очень давно. Мы хотели дать сообществу свободного программного обеспечения средства для создания игр. Правда, тогда не было ясно, что они из себя должны представлять. Поэтому решили начать с малого: создать игру.

      +

      Мы потратили 3 года для достижения этой цели: выпуск OGS Mahjong 1.0 состоялся в 2012 году. Даже для хобби-проекта (мы тратим в среднем около 40 часов в месяц) это очень долго.

      +

      После выпуска игры до нас дошло: Средства для создания игр должны экономить время разработки.. . .

      +
      + +
      -
      -

      - Видеозапись живой сессии и материалы -

      -

      - 2015-11-15 00:00 -

      -
      -

      Если вы пропустили живую сессию, вы можете посмотреть ее здесь: -https://www.livecoding.tv/video/kornerr/playlists/whac-a-mole-from-scratch/

      -

      Проект, созданный в ходе сессии, можно скачать здесь: -https://github.com/OGStudio/liveSessionWhacAMole/archive/master.zip

      -

      Последняя версия редактора доступна здесь: -http://sourceforge.net/projects/osrpgcreation/files/Editor/jenkins/422015-11-1308-16-46_0.7.4/. . .

      -
      - -

      Страница 8 из 10

      diff --git a/ru/news/index9.html b/ru/news/index9.html index 27e430d..19b9cf3 100644 --- a/ru/news/index9.html +++ b/ru/news/index9.html @@ -24,6 +24,25 @@

      Новости

      +
      +

      + Видеозапись живой сессии и материалы +

      +

      + 2015-11-15 00:00 +

      +
      +

      Если вы пропустили живую сессию, вы можете посмотреть ее здесь: +https://www.livecoding.tv/video/kornerr/playlists/whac-a-mole-from-scratch/

      +

      Проект, созданный в ходе сессии, можно скачать здесь: +https://github.com/OGStudio/liveSessionWhacAMole/archive/master.zip

      +

      Последняя версия редактора доступна здесь: +http://sourceforge.net/projects/osrpgcreation/files/Editor/jenkins/422015-11-1308-16-46_0.7.4/. . .

      +
      + +
      -
      -

      - План задач для Editor 0.4.0 -

      -

      - 2015-01-13 00:00 -

      -
      -

      Разработка Editor 0.3.0 показала нам, что использование кастомного GUI не было столь хорошей идеей, как показалось на первый взгляд. Несмотря на более простую реализацию, кастомный GUI лишен множества мелких достоинств, которые оказываются практически необходимы, если задаться целью сделать удобный инструмент.

      -

      В конце концов, мы решили сделать то, что хотели сделать с самого начала - использовать для редактора библиотеку Qt.

      -

      В ближайшее время мы перепишем редактор, имея в виду Qt-интерфейс и немного обновленную концепцию проекта. Мы планируем выпустить редактор с новым интерфейсом и набором базовых функций, таких как загрузка и сохранение проектов, в мае.. . .

      -
      - -

      Страница 9 из 10