Sunday, October 18, 2020

[DevOps] Installation docker and portainer

Hello, portainer it's a web GUI for managing of docker images. Is possible work as a local docker so and as remote. 

How run Chrome without CORS security

Hello, it's a script for running chrome without CORS, on MacOSX (write it in one line).

#!/usr/bin/env bash
open -n -a /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args
--user-data-dir="/tmp/chrome_dev_test" --disable-web-security

For Linux, and Windows, this is script is some, just add some params.

[DevOps] AndroidSDK for Linux

Hello, it's my script for the installation of Android SDK to CentOS. 

Saturday, October 17, 2020

[DevOps] NodeJS installation script for hot update

Hello, this is script is needed for the hot switch versions of Node.js on machine. You can have two installed different versions of Node.js. For example, it can be v12 and v14.

So is possible to switch on a different version using only one command. Currently, I work only on Linux based (and macOS as a client system) systems and code will be targeted on these systems

#!/bin/sh
# Install Node.js 14.2.0
sudo su
yum install -y git
curl https://raw.githubusercontent.com/creationix/nvm/v0.35.3/install.sh | bash
source ~/.bashrc
nvm install v14.13.0
# Relevant for some OSes
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
For getting a list of all installed nodes, you can use
#!/bin/sh
nvm ls #list all nodes
nvm use <version># switch to specific version
Sources:
  1. More information you can get on official repo
  2. Or on another site (first link in google)

Friday, April 14, 2017

Deleting file from history of git-repository(all commites)

First:
git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch ' \
--prune-empty --tag-name-filter cat -- --all
Replace <myfile> on your file or directory(<dir>/*)

Next:
git push origin --force --all
git push origin --force --tags
Sometimes you must delete all tags

Wednesday, April 5, 2017

Interected materials from GDC 2016-2017

NGTech into Android. Building dependencies for NGTech(RU)

В прошлом, я уже предпринимал попытки портировать движок на Android, поэтому большая часть кода была уже переведена, за исключением подсистем физики, звука, окна и подсистемы потоков, но в этот раз я настроен более чем серьезно.  Тогда даже был получен рабочий билд, который рисовал картинку на экране, и остальные подсистемы работали судя по тестам, но прям поиграть было нельзя.

Сейчас же хочется получить полноценный билд. Поэтому 3 дня назад я начал полноценное портирование, перед этим произведя код-ревью части компонентов, фиксинга части горячих багов и подготовка соответствующей инфраструктуры. За эти дни я активировал весь отключенный функционал, кроме собственно указанных подсистем.

Проблема отсутствия поддержки необходимых функций для функционирования файберов в тред библиотке будет решаться методом молотка - будет внедрена их ASM реализация. Притом примечателен тот факт, что их функционал еще был реализован в 2012 году, но они так и не попали в финальную сборку Android. Напомню, что с момента 2012 года, прошло уже 3 мажорные версии.

Т.к большинство зависимостей движка уже собрано, осталось собственно:

1) OpenAL
2) PhysX
3) Devil

Если со вторым все ясно - там скорее всего все соберется из коробки, ибо NVidia же, сценариев под VS конечно нету, но никто не отменял командную строку
С первым все гораздо сложнее - в интернете пишут постоянно, что необходимо использовать специальную версию openal(ссылка будет приложена ниже), но на практике структура у OpenAL такая, что нужные участки кода можно включать макросами, поэтому нам надо всего лишь получить правильный config.h под нашу платформу, во всяком случае я надеюсь этим дело и ограничится. Иначе придется лезть diff'ом и искать изменения, это немного усложняет сам процесс, ибо у меня используется мало того, что более новая версия чем все тут представленные, так еще и своя ветка, в которой я попытался избавиться от данной структуры(что бы можно было одновременно переключаться между типами API).
С третьим ситуация осложняется следующим образом - банально неизвестно собирается ли она(там файлов много, а выборочно я просто устану компилировать - поэтому просто отложим это сейчас).

По итогам сегодняшнего дня и сегодняшней ночи... осталось только собрать эти библиотеки и слинковать это все добро. - Ну или найти бинарный вариант OpenAL Soft, но это уже завтра все.
Оконная система будет реализована самостоятельно(надо же учиться работать и без кроссплатформенных либ) - вариант с SDL пока не рассматривается, т.к еще и мало времени. Инпут будет осуществляться через NVGamepadLib - я все равно ее собирался внедрять.

В общем завтра я буду плотно разбираться с этим вопросом.

Пока уделяю по максимуму времени, ибо в итоге не хочется оказаться ... ну вы поняли


Да и добить это уже надо



Ссылки по работе с OpenAL Soft Android:
1
2
3
4
5
6
7
8
BinRepo?

Ссылки по Fibers:
Aros/Platforms/Support for *nix

Boost.Context
boost context class
LIGHTWEIGHT COOPERATIVE MULTITASKING WITH BOOST.CONTEXT
Асинхронность: назад в будущее
FiberTaskingLib