Back to The tech awesomeness
Table of contents
Endeavor chapters

The article for today.

I was thinking how to write an application for the operational system with no knowledge of operational system programming languages.

Ideally, for example, with only HTML and JavaScript knowledge.

And there is one such method available.

The platform for such application is the browser with the browser engine inside.

The method is: I create the web page, web pages with HTML and JavaScript, then I place it, them inside the browser folder so the browser wraps such web page, web pages around.

Then I optionally set up the broswer so that the start page is that one of the web pages after its startup.

Then I optionally change the browser icon to depict the web page as in the form of the application.

Then I optionally make settings of the browser so that it does not allow new browser windows inside and new browser tabs inside and it does not allow new browser page reloads, new navigations to other web pages other than that created resource. And some others settings not obvious for me now.

Then I optionally hide the navigation items, as usual back, reload menu buttons in such browser.

What is possible by such method is that a lot of web pages can be converted into applications for operational systems by such approach and method. And even my one of the earliest web pages 15 years old, however it is not practical to create the application for that web page.

I do those optional steps in order to achieve several goals.

The first one is that the web page is such browser represents the typical application for operational system visually.

The second one is that the application does not require other tools than the operational system ones(like file transfers and others) and HTML and JavaScript to create it as I have mentioned. Mostly because doing so implies that it allows to automate such application creations serially by third-party automation tools with certain peculiarities though with dependency with which API such application (with web page inside) is using in under which circumstances.

The third one is that the addition of the application server, such ones in Java as: Tomcat, Jetty, Undertow, others with such web page and browser(with browser engine) allows to create browser(which is also a client in itself) a browser client server applications for operational system.

The fourth one is that some browsers are cross platform. So I have an opportunity to produce such application for not only one and for other different operatinal systems in case the browser as a base for such application is cross platform.

The fifth one is that the automation tools which produce such cross platform distributions are possible as an option, however I do not know if it is possible to create such automation tool application by using only the operational system tools, JavaScript and HTML.

Another idea for such automation tool is the browser engine which allows to add web pages as files in it and provides some tuning for the visuals in its interface and then produces a copy of itself with ability to start that copy as an operational system application for only one particular type of operational system with portability limitaions.

I have noticed few such applications with developer tools as in browsers in them available already, however I do not know how people produced their distributions.

The downside of such method is how much it takes of the file system space for distributions for operational systems. If I take as a benchmark the browser application size in macOS 10.15.14 as of 2020-04-27, such application will take from 258MB to 397MB(megabytes), while the web page inside is, for example, 1KB(kilobyte) and more of storage space.

For example, if I turn these web pages of text and put them in such browsers, the size of the end result will take from 4.2MB to 263MB, 402MB of storage space at least as of 2020-04-27.

It is even more a downside when such pages are available in the internet and the user have the default browser distribution and access to them via that browser distribution. The bandwidth of such traffic is more in amount than such web page with no such distribution with browser.

However if I plan to turn such web pages into standalone application for operational system with no dependency for the internet connection, then this method will be suitable with no searches for the minifying the browser distribution(with browser engine inside), because it does not require the knowledge of web manifests technology to achieve that web page autonomity. And both methods require at least one time access to the internet connectivity though with different time ranges and with different traffic bandwidths.

The sixth goal is that the possibility to keep the web manifests technology and other APIs still in supportance by such method eventhough for some cases it reminds me a form of recursion when the operational system functionality is active and then such browser distribution functionality in single application.

In other words such method is a browser(browser engine in the better case than such one) in the application for operational system. And standalone application as a browser(browser engine in the better case than such one) and which supports the static and dynamic content, which requires and does not require internet connectivity.

Some browsers in macOS 10.15.14 as of 2020-04-27 do not allow to open themselves twice. They allow to open the browser windows and browser tabs several times and not themselves several times.

One application in macOS 10.15.14 as of 2020-04-27 with internet mailing functionality does not allow to open itself twice or more times. It allows to switch through mailboxes though inside. The similar functionality in the internet for that application allows opening itself twice and more in several browser tabs and in several browser windows.

One application in macOS 10.15.14 as of 2020-04-27 with address connection storage and management functionality does not allow to open itself twice or more times. It allows to switch through connections though inside. The similar functionality in the internet for that application allows opening itself twice and more in several browser tabs and in several browser windows.

Another application with time event organising functionality has the same behaviour as previous one in macOS 10.15.14 as of 2020-04-27 and in the internet.

One application in macOS 10.15.14 as of 2020-04-27 with graphical data storage and management functionality does not allow to open itself twice or more times. It allows to switch through graphical data though inside. The similar functionality in the internet for that application allows opening itself twice and more in several browser tabs and in several browser windows.

Two applications in macOS 10.15.14 as of 2020-04-27 with at least textual data storage and management functionality do not allow to open themselves twice or more times. They allow to switch through textual data though inside. The similar functionality in the internet for that application allows opening itself twice and more in several browser tabs and in several browser windows.

Three applications in macOS 10.15.14 as of 2020-04-27 with at least textual, numerical, graphical, presentational data storage and management functionality do not allow to open themselves twice or more times. They allow to switch through textual, numerical, graphical, presentational data though inside. The similar functionality in the internet for that application allows opening itself twice and more in several browser tabs and in several browser windows.

One application in macOS 10.15.14 as of 2020-04-27 with device searching functionality does not allow to open itself twice or more times. It allows to switch through different devices though inside. The similar functionality in the internet for that application allows opening itself twice and more in several browser tabs and in several browser windows.

So this is the ability on which this method stands as a basis.

Another one is the creation of the application by using in simple case HTML only, and additionally, CSS, JavaScript and others optionally.

The update from 2020-06-02.

Provision of not full feature set in browser engine can reduce the size of the package. In jQuery JavaScript library it is possible to configure which components the version of the library will have after its provision. For my case during periodic usages among various web sites the full feature set is enough for where various web sites use different API. And for packaging this web site within browser engine there is no need in web manifests and Web SQL Database API and others because I do not use such API for this web site, however such API implementations add additional space within browser engine. Moreover depending on the interdependency it is not feasible to uncouple some API sometimes because of some reasons such as for example technical debt (Eliminating Technical debt). Moreover some browsers using several browser engines in themselves, such as Avant Browser, Lunascape Browser and others as of 2020-06-02.

The update from 2020-07-30.


    /-------------------------------------------------------------------------\
    |     Browser                                                             |
    |                                                                         |
    |     /--------------\.........../--------------\                         |
    |     |Data Injection| ..........| Engine       |...............          |
    |     |    Unit      | . . ......\--------------/              .          |
    |     \--------------/ . . . ...                               .          |
    |                      . . . . . /--------------\           /-----------\ |
    |     /--------------\ . . . . . | Alternative  |...........| Engine    | |
    |     |Data Cylinder |.. . . . . | Engine №1    |           | Switcher  | |
    |     \--------------/   . . . . \--------------/           \-----------/ |
    |                        . . . .                               .  .       |
    |     /--------------\   . . . . /--------------\              .  .       |
    |     |Data Valve    |.... . . . | Alternative  |...............  .       |
    |     \--------------/     . . . | Engine №2    |                 .       |
    |                          . . . \--------------/                 .       |
    |     /--------------\...... . .                                  .       |
    |     |Data          |       . . /--------------\                 .       |
    |     |Alternator    |       . . | Alternative  |..................       |
    |     \--------------/       . . | Engine №N    |                         |
    |                            . . \--------------/                         |
    |     /--------------\       . .                                          |
    |     |Data Cache    |........ .                                          |
    |     |Battery       |         .                                          |
    |     \--------------/         .                                          |
    |                              .                                          |
    |     /--------------\         .                                          |
    |     |Data History  |..........                                          |
    |     |Mirrors       |                                                    |
    |     \--------------/                                                    |
    \-------------------------------------------------------------------------/

...............................................................................
.....................Living Standard data....spec data....proposal data........
/--------------\..............IP data........HTML data.....JSON data...........
|Browser      ←|...CSS data.........SVG data..........................data.....
\--------------/.....XML data...DNS data...............JavaScript data.........
...........................GML data....IPF data.....SGML data..................
...............................................................................
...............................................................................

Browserless; Browser <.

The end of update from 2020-07-30.

Browser engine is the softwarenery(software and machinery), browseral system which is contact after release and provision to variety of groups, such game developers and gaming users, web site developer and web site users, web application developers and web application users, to the web pages, web site and other web products and their corresponging users, to the external libraries in relation to the browser, to the operational system and operational systems, in case of cross browser engines where it is launching itself with a help of it, and their users, even if they do not use the browser itself, such as operational system administrators. And before and during the release with various browseral system and its components developers and other persons.

From one point of view browser can request and fetch resources from remote location and from the other point of view the application can run itself on top and inside a browser engine.

From one side the resources are in transfer discretely and repeteadly and browser once, from the other side the browser itself with the application once and then the resources optionally.

There are locations with no internet connectivity access, so that it is sometimes relevant to download the browser with an application and to use (and play) it later for such locations, where the mobile device supports such browser engine applications.

While there are CAP theorem(Consistency, Availability, Partition tolerance) after computer scientist Eric Brewer, ACID (Atomicity, Consistency, Isolation, Durability) guarantees, BASE (Basically Available, Soft state, Eventual consistency) semantics for databases, the browser, the browser engine, the browseral system are themselves a distributed data, espessially if they have often updates.

The browseral system is for download once and then for optional updates in whole or in parts, then the web pages are for download as responses for requests. Also the application, web page within the browser engine, the browseral system is for download and later for optional updates in whole or in parts, as well as for optional small data transfers.

The update from 2020-07-28.

For example, in order to save some memory space, the browser are existing in multiple versions for different operational systems and different instruction sets. For example, if not to to save some memory space, another version of the browser of bigger size identifies the architecture instruction set and operational system version and starts the code for that particular part of its bigger code size. In this scope browser as one of the applications. And to prepare such bigger browser version is not following the logic as in this link for different operational systems and different instruction sets. https://en.wikipedia.org/wiki/Universal_binary.

And for some advance usage, some XAxes application can slim the bigger browser version or other application version into smaller one in order to save some memory for long term usage applications.

Via that method the user do not choose the version for operational system and architecture instruction set before and during download. And me as developer do not create some JavaScript code for that, for example:


switch (os) {
            case

From the other side, the more network space is in usage via such method.

Both approaches do not care too much for developer in one way or another, from the other side, the per specific set of combination of both architecture instruction set and operation system cares more for network space, while bigger size browser for different architecture instruction sets and operation systems cares more for the user.

If that is so, when some XAxes slimming application is runtiming at server side somewhere before the download page, then both the current usual approach can be in line with the network space care and bigger size browser version. With a cost of triple load for me as a developer.

The process is as follows: the bigger size browser version is in supply for server from some source with its preparation(first developer load), the XAxes slimming application(and its development and download and setup) is in action(second developer load) and then caching for avoiding doing slimming recurrently for caring for central processing and temperature in cost of storing these slim versions after XAxes slimming application results at some disk space, the JavaScript code for the page for the current usual download process is in process(third developer load) for avoiding new user learning and understanding of another download process while already holding the information about operation system versions and architecture instruction sets. Because there were several complaints for me several times during these several years about such extra versions and unclarity about what exactly they mean, however it reminds few episodes as well as in Idiocracy satire comedy film as of 14 years ago.

The update from 2020-07-29.

Such code possibly exists somewhere or it is a possible duplicate:


class Software {
    String softwareName;
    String binaryUrl;
    String sourceUrl;
    String hash;/*md5,shasum,pgp,url*/
    String latestVersion;
    String operationalSystem;
    String programmingLanguage;
    String architectureInstructionSet;
}

The update from 2020-07-31.

That process I mention earlier in this web page is pretty flexible: if to build(and to integrate) some concurrent versions system(CVS), some source control management(SCM) instead of XAxes with with automatic creation of commit messages and history of commits, especially a configurable one, then for these web pages I will have a history of changes with dates inside the commit messages, for example after each page upload. But that is a very huge load for me as a developer, probably a triple or quadruple one. With no need to create another blog engine with another function to store history for the updates for the web pages. A kindish of ubiquitous SCM, ubiquitous CVS for the web site and web application. But not for the source code, but rather for the releases and release files. More for the release operations side, rather than the development operations side.

The update from 2020-11-23.

There are applications with two, three and more pointers. And there are tabindex and application switcher.

The update from 2021-01-22.

Whether I get such updates from such URLs or such updates sends an availability reminder from such URLs after preferencing.

The update from 2021-03-04.

As there are in some browsers plugins and extensions, that one opens up an opportunity for other programming languages plugins and extentions, which gives the opportunity for the web sites with different programming languages(dynamic ones), not only JavaScript, as it was present already one day in really previous days. For example CGI, C++ web pages from the server side. At this time it is from the client side.

Інший специфічний засіб для створення застосунку для операційної системи

Стаття сьогодні.

Оновлення від 2020-11-23.

Існують застосунки та додатки з двома, трьома та більше вказівників. Та існують табіндекс tabindex та перемикач застосунків, перемикач додатків.

Оновлення від 2021-01-22.

Чи я забираю подібні оновлення з подібних посилань чи оновлення надсилають наявністні нагадування з подібних посилань після налаштунку.

Оновлення від 2021-03-04.

Адже існує у деяких ППіНТВСуІ з плагінами і розширеннями, те відчиняє можливість для інших программованих мов для плагінів і для розширень, які дають можливість для сторінок в інтернеті з різними мовами програмування (динамічними), не лише джаваскіпт, як це було присутньо вже одного дня у попередньо. Наприклад CGI, C++ сторінки в інтернеті з боку обслуговувача. На цей раз це можливо з боку клієнта.

Оновлення від 2021-12-03.

The update as of 2021-12-03.

Якщо не GGBRMS;ГЖБПМС від 2021-05-03 у якійсь грі для ППіНТВСуІ а поточна ППіНТВСуІ дає процес гри зі швидкістю замість 2 ФЗС у 1 ФЗС, і відомо що деяка та група гри що не для ППіНТВСуІ дають 2 можливості зміни налаштувань а саме в-грі і поза-грою і це мабуть з за їх дістріб'ютічейні якщо без довантаження окремих файлів щоб змінювати ФЗС опосередковано в ній, але щодо тієї групи гри яка для ППіНТВСуІ.

Тут дещо більше варіантів бо більш розповсюджені наступні версії. Тож за умови якщо відомо що при схожих умовах інша ППіНТВСуІ дає процес гри зі швидкістю 2 ФЗС то можливі наступні варіанти. Як один варіант способу то це вантаження тії іншої ППіНТВСуІ яка за версією закрито кодова, тобто її дістріб'ютіексчейнджі у такій дістріб'ютічейні. Наслідком цього способа є те що при частих оновленнях це навантаження на мережу кожен раз і завантажаються додаткові повторені можливо рідко оновлювані елементи, які не мають залежності до гри і до шивдкості у ФЗС. У іншому способі якщо це відрито кодова ППіНТВСуІ, можливі два таких наступних варіанти. Це з за того ділення при якому у ППіНТВСуІ відокремлені їх двигуни для перегляду чи ні як малюнком цією сторінкою у веб від 2020-07-30. Тут швидкість оновлень файлів для ППіНТВСуІ для компіляційного складання вже немає такої проблеми як для деякої групи гри не для ППіНТВСуІ, але за умови варіанту невідокремленості тих двигунів ППіНТВСуІ буде довше компіляційно складатися кожен раз і знову ж таки з тими додатковими повторюваними можливо рідко оновлюваними елементами, які не мають залежності до самої гри і до шивдкості у ФЗС. Це про модульність. А точніше це про модульну послугу. І в цих останніх варіантах при діленні використовуються мабуть деякі дістріб'ютічейні які від 2021-01-04 або інший як то наприклад довантаження його безпосередньо з самої ППіНТВСуІ.

Тож єдиного типу ППіНТВСуІ що я не знаходив що якась ППіНТВСуІ в одночас і компіляційно складала, звичайно, з залежністю від зовнішнього компіляційно складаючого елемента, і відображала групу гри для ППіНТВСуІ і інших поза групи гри. А відокремлено або для компіляційного складання або для відображення групи гри для ППіНТВСуІ і інших пози групи гри ППіНТВСуІ існують. Тож для обох застосувань у будь якому випадку доведоться виконувати 2 довантаження за умови їх обох використань в обох варіантах за того ділення для розробників і для розробниць. Також і для кінцевих користувачів і для кінцевих користувачок за умови якщо вважається що кінцевий користувач і кінцева користувачка їх компіляційно складають що є елементом процесу розробки за деяким існуючим визначенням.

Модульна послуга має ознаки і послуги і модуля. Наприклад як послуга допродажу в одному типі послуги продажу. Допродаж тут в тому самому змісті як і upsell. Чому типі. І отут є одна така наступна особливість. Адже я особисто не замовляв послугу допродажу як модульну послугу в послугах продажу а існують місця як онлайн так і офлайн де вона практикується, але ці дві послуги як мінімум є процесами з двома дієвими елементами, присутність чи відсутність цієї модульної послуги допродажу в послузі продажу і наштовхує мене виокремити цю ситуацію в інший тип продажу. А саме це 1 тип продажу без присутності модульної послуги допродажу і 1 тип продажу з присутністю модульної послуги допродажу. Але мабуть таких модульних послуг не одна як то допродаж тому ви такє виокремлення достатньо умовне. Але як ви мабуть помітили, успішний допродаж як модульна послуга неможливий без успішного продажу як послуги тому існує якийсь тип залежності в цьому. А саме мабуть як то у межах принципу одиничної розширюваності чи подібного.

Тут після нещодавніх утòчнень достатньо влучно було б наголосити для тієї групи яка далеко від джава як мови програмування і віднадалі так чи ні, якщо це нею читаєме, а саме про те що послуга у цьому вмісті цією веб сторінкою за цією датою місцями є не саме якась уточнена а відокремлена від якихось уточнень. Ось додатково як наприклад про послугу продажу. Адже вона можлива і офлайн і онлайн а також можлива і в різних невіртуальних місцях і в різних невіртуальних налаштуваннях і комбінаціях. Тож тут вона, послуга є як самодостатній об'єкт знову ж таки якщо про неї в межах джава. Тож вона може бути без залежностей і рухома навіть зважаючи щодо її змісту.

Якщо узагальнити з обох і модульної послуги і модульного продукта чи модульної речі, джава дістріб'ютіексчейнджі після збирання з присутністю модулів в проекті і джава дістріб'ютіексчейнджі після збирання з відсутністю модулів в проекті чи є чи нема в цьому модульної послуги, є якийсь об'єкт без назви з його іншим типом для такого узагальнення згідно поточних джава меж.

Якщо не узагальнювати, то НОП.

Оновлення від 2022-02-22.

The update as of 2022-02-22.

Дістріб'ютіексчейнджі за способами розповсюдження включно з розширеннями і з плагінами і з іншими

Distributeeexchangee as per approaches of distribution including extensions and plugins and others


                                                        отримання посилання до джерела      отримання посилання до джерела         і там і там;both
                                                        чи файла зовнішньо;                 чи файла всередині додатка;
                                                        receiving source link               receiving source link
                                                        or file externally                  or file externally
    з одного протокола;from one protocol

    з файла; from file

    з одного протокола і з файла;
    from one protocol and from file

        App чи plugin як у Atlassian Jira;
        https://www.atlassian.com/software/jira

        Zimlet як у Zimbra;https://www.zimbra.com

    з різних протоколів;схоже як з гіперпротокола
    from various protocols;alike from hyperprotocol

    комбінаційно;mixed
        прийнамні з деяких протоколів;
        at least from some protocols;
        Poftfile як у https://www.macports.org

Але у випадку про вилучення назви групи чи ім'я користувача чи користувачки наприклад

dscl . -delete /Groups/someGroupName

чи

dscl . -delete /Users/someUserName

і ви отримуєте

delete: Invalid Path

DS Error: -14009 (eDSUnknownNodeName)

при перевстановленні чи вилученні ПЗ у цьому випадку це позначало також що вони вже були вилучені.

Because "..as spam, and therefore cannot authorize a third party application." with no way to add it there, similar one to https://trac.macports.org/ticket/63376 was not fixed by https://trac-test.macports.org/wiki/howto/PortTreeTarball but that similar to that one was fixed by https://trac-test.macports.org/wiki/howto/SyncingWithGit or by https://guide.macports.org/#installing.macports.git with some changes of absolute paths there. Так що рішенням було застосування замість з одного чи з іншого ВІДДАЛЕНИХ протоколів до 1 завантаженного ВІДДАЛЕНОГО файла з додатковими командами.

Також щодо dscl щонайменш зі знайдених прикладів тут https://community.jamf.com/t5/jamf-pro/dscl-change-command/m-p/32010 та https://trac.macports.org/ticket/41592 отакі знахідки щодо його ППІ.



    dscl . -doWhat /for/whom/or/record whichAttributeName attributesCurrentValue attributesNextValue
    if to provide non existing pair of whichAttributeName attributesCurrentValue
    then at least locally 
    <main> attribute status: eDSAttributeNotFound
    <dscl_cmd> DS Error: -14134 (eDSAttributeNotFound)

    sometimes it requires two given permissions 
    and if one of them was not given then at least locally
    <main> attribute status: eDSPermissionError
    <dscl_cmd> DS Error: -14120 (eDSPermissionError)

    if to provide non existing /for/whom/or/record for example
    dscl . -read /Users/macports2
    then at least locally 
    <dscl_cmd> DS Error: -14136 (eDSRecordNotFound)

What is for https://trac.macports.org/ticket/49284, https://trac.macports.org/ticket/49243, https://trac.macports.org/ticket/49233 it was solved by temporary moving OpenSSL 3.0.0-alpha7 15 Oct 2020 (Library: OpenSSL 3.0.0-alpha7 15 Oct 2020) in favours of LibreSSL 2.8.3.

Оновлення від 2022-04-13.

The update as of 2022-04-13.

Переважно для java джава якщо ПЗ підтримує запуск двох зразків такого додатка чи застосунка у деяких межах перемикачевої системи то треба оновлювати додатково і саму віртуальну машину у якихось випадках. Але також існують і катячіїся оновлення. Тож адже завантаження таких наступних версій віртуальних машин можливе з різних URL;УРР то


    #forACaseOfJVMDependentOnlyApplication 

    #if from some URL conventionally
    download nextRollingUpdatePrecompiledOrToCompileJVMVersionFromURL

    install nextRollingUpdatePrecompiledOrToCompileJVMversionFromURL

    startThatJVMVersionWithApplicationOrStopAndStartThemAndOptionallyStopOthers

    #optionallyRemovePreviousJVMVersionOrLeaveThatJVMVersionAsABackupAndOptionallyLeaveThatTrace
    #chooseAndAddOnErrorCaseProcessMethodForThatApplicationWithJVM 

Оновлення від 2023-01-09.

The update as of 2023-01-09.

Щодо випадка про переміщення кінцевих DExch.


             DExch.

  код;code                    версія;version



per change;щодо зміни       per location;щодо розташування
n -> n+1                    mostly;переважно незмінні


rarely;рідко незмінні       n -> n+1 

..


             DExch.

  код;code                    версія;version
                  \    /
                   \  /
                    \/
                    /\        
                   /  \
                  /    \
per change                    per location;щодо розташування
;щодо зміни                   

n -> n+1                      mostly;переважно незмінні


rarely;рідко незмінні         n -> n+1 

..


             DExch.
         

  

             версія;version.
                        |
                        |
                        |
              __________|__________ код;code.
per change;щодо зміни   |
                        |
                        |
                        |
per location;щодо розташування

..


             DExch.
         

                               /compilation;interpretation;
                              /складання;інтеретація
             версія;version. /
                        |   /
                        |  / 
                        | /
              __________|/__________ код;code.
per change;щодо зміни  /|
                      / |
     дизасемблювання;/  |
зворотня розробка       |
                       per location;щодо розташування

Оновлення від 2023-06-13.

The update as of 2026-06-13.

Різні способи зміни між адміністративною чи подібною особливістю і іншими якщо наявні у http://thetechawesomeness.ideasmatter.info/table-chapters.html;2 поміж http://thetechawesomeness.ideasmatter.info/table-chapters.html;10.

Якщо подібних особливостей для налаштувань достатньо багато, то існують наприклад у VPN та для деяких обслуговувачів веб застосунків та веб місць їх набори або мікронабори деякі з яких були додані біля 6 років тому. Також для деяких дістріб'ютіексчейнджі операційних систем для встановлення багаторазово після його підготовки.

Однак такого не багато розповсюджено для http://thetechawesomeness.ideasmatter.info/mobility-and-immobility.html а також для двох з http://thetechawesomeness.ideasmatter.info/internet-and-exinternet-and-internetless.html.