Category Archives: Operating Systems

Resizing a partition on HiveOS

There was some strange partition /dev/sda2 of 6.5G size on my HiveOS:

root@rig0:/# cat /proc/partitions
major minor  #blocks  name                                                                                                                                                                                         

8        0  117219767 sda                                                                                                                                                                                       
8        1      20480 sda1                                                                                                                                                                                      
8        2    7323648 sda2             

root@rig0:/# df -h                                                                                                                                                                                                 
Filesystem      Size  Used Avail Use% Mounted on                                                                                                                                                                   
udev            1.9G     0  1.9G   0% /dev                                                                                                                                                                         
tmpfs           383M   44M  340M  12% /run                                                                                                                                                                         
/dev/sda2       6.8G  6.5G     0 100% /                                                                                                                                                                            
tmpfs           1.9G     0  1.9G   0% /dev/shm                                                                                                                                                                     
tmpfs           5.0M     0  5.0M   0% /run/lock                                                                                                                                                                    
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup                                                                                                                                                               
tmpfs           100M   16K  100M   1% /tmp                                                                                                                                                                         
tmpfs           1.9G     0  1.9G   0% /var/tmp                                                                                                                                                                     
tmpfs           1.9G   30M  1.9G   2% /var/log                                                                                                                                                                     
tmpfs           1.9G     0  1.9G   0% /var/log/journal                                                                                                                                                             
tmpfs           1.9G     0  1.9G   0% /var/log/apt                                                                                                                                                                 
/dev/sda1        20M  5.7M   15M  29% /hive-config
(more…)

Installing Jabber Messaging Service on Ubuntu 16.04

sudo apt install ejabberd
ufw allow to any port 5280 proto tcp
ufw allow to any port 5222 proto tcp
ufw allow to any port 5269 proto tcp
ufw allow to any port 7777 proto tcp
sudo nano /etc/ejabberd/ejabberd.yml
##
## hosts: Domains served by ejabberd.
## You can define one or several, for example:
## hosts:
##   - "example.net"
##   - "example.com"
##   - "example.org"
##
hosts:
  - "developernote.com"

...

###.   ====================
###'   ACCESS CONTROL LISTS
acl:
  ##
  ## The 'admin' ACL grants administrative privileges to XMPP accounts.
  ## You can put here as many accounts as you want.
  ##
  admin:
     user:
         - "admin": "developernote.com"
(more…)

A proper Ubuntu 18.04 installation for running Ethereum node

Create a Hyper-V machine with a disk that is large enough:

And install Ubuntu 18.04.

(more…)

Publishing QT application in Apple App Store

I succeeded with building my app for iOS and my first step in publishing the app in App Store was opening generated .xcodeproj file in XCode, but XCode froze displaying rotating progress indicator and wait cursor.

(more…)

Mining Raven Coin (RVN) with KawPow on Windows 10

I run T-Rex miner as follows:

t-rex -a kawpow -o stratum+tcp://rvn.2miners.com:6060 -u <mywallet>.rigW -p x

and set the following parameters on my 1060 GTX 3GB card with MSI Afterburner:

(more…)

Binding NumPad arrows on MacOS with Karabiner

I created the following key bindings in Karabiner:

(more…)

Building QT 5.15.0 (everywhere) for Android on Windows

  • Install Android Studio with SDK and NDK API Level 28.
  • Install strawberry-perl-5.26.2.1-64bit.msi first (before mingw-w64-install.exe) to E:\PFiles
  • Install MinGW with mingw-w64-install.exe online installer. Select POSIX threads in the installer UI combobox, otherwise you will get:
  • Extract the sources from QT archive qt-everywhere-src-5.15.0.zip to E:\Qt\Qt5.15.0 and run the following script in QT root directory containing configure.bat:
(more…)

Running a QT app on MacOS

I was able to compile and debug my app on MacOS with QT Creator:

All C++ code compiled successfully, but something went wrong with OpenGLES shaders. It is probably because I included OpenGLES headers from a wrong place.

(more…)

QT app is deactivated incorrectly on Android 10 in Gesture mode

If I enable Gesture mode on an Android 10 emulator by tapping System->Gestures->System Navigation->Gesture Navigation and then deactivate my app by swiping and reactivate it back, I get the following in the log:

adb logcat | grep "\ Lines"
05-04 21:52:36.389 11794 11939 D Lines   : Squircle::aboutToQuit()
05-04 21:52:36.389 11794 11939 D Lines   : InterstitialAdWrapper clear() called.
05-04 21:52:36.392 11794 11939 D Lines   : InterstitialAdWrapper InterstitialAd destructor called.
05-04 21:52:36.393 11794 11939 D Lines   : Squircle destructor called.
05-04 21:52:36.396 11794 11939 W Lines   : exit app 0
...
05-04 21:52:37.032 11794 11939 D Lines   : OslSoundPool destructor
05-04 21:52:37.117  2040  2134 W InputDispatcher: channel '8474831 net.geographx.LinesGame/net.geographx.MainActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
05-04 21:52:37.117  2040  2134 E InputDispatcher: channel '8474831 net.geographx.LinesGame/net.geographx.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
05-04 21:52:37.123  2040  3120 I WindowManager: WIN DEATH: Window{8474831 u0 net.geographx.LinesGame/net.geographx.MainActivity}
05-04 21:52:37.123  2040  3120 W InputDispatcher: Attempted to unregister already unregistered input channel '8474831 net.geographx.LinesGame/net.geographx.MainActivity (server)'
05-04 21:52:37.136  2040  3120 W ActivityManager: Scheduling restart of crashed service net.geographx.LinesGame/org.chromium.content.app.SandboxedProcessService0 in 1000ms
05-04 21:52:37.151  2040  2057 I ActivityManager: Process net.geographx.LinesGame (pid 11794) has died: cch CRE
05-04 21:52:38.034  2040  2057 I ActivityTaskManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=net.geographx.LinesGame/net.geographx.MainActivity bnds=[37,882][238,1191]} from uid 10090
05-04 21:52:38.055  2040  2057 I chatty  : uid=1000(system) Binder:2040_2 identical 8 lines
05-04 21:52:38.099  2040  2072 I ActivityManager: Start proc 12702:net.geographx.LinesGame/u0a134 for activity {net.geographx.LinesGame/net.geographx.MainActivity}
05-04 21:52:38.101 12702 12702 W raphx.LinesGam: Unexpected CPU variant for X86 using defaults: x86
05-04 21:52:38.124 12702 12702 E raphx.LinesGam: Not starting debugger since process cannot load the jdwp agent.
...
05-04 21:52:38.966  2040  2069 I ActivityTaskManager: Displayed net.geographx.LinesGame/net.geographx.MainActivity: +931ms
05-04 21:52:39.062 12702 12826 D libLinesGameQt_x86.so: Translation file has been loaded successfully:  "LinesGame_en"
05-04 21:52:39.062 12702 12826 D Lines   : App version:  "2.5.11, #133"
05-04 21:52:39.072 12702 12826 D Lines   : QT/SysInfo: Device Pixel Ratio: 3  Screen DPI:  147.131
05-04 21:52:39.106 12702 12826 D Lines   : InterstitialAdWrapper  valid
05-04 21:52:39.185 12702 12826 D Lines   : qml: Registering adfree
05-04 21:52:39.189  7632  9145 W Finsky  : [672] gcs.d(23): net.geographx.LinesGame: No account found.
05-04 21:52:39.411 12702 12826 D Lines   : qml: adfree Component.onCompleted
05-04 21:52:39.413 12702 12826 D Lines   : InterstitialAdWrapper: calling Java method ' initializeInterstitialAd ' from C++
05-04 21:52:39.413 12702 12826 D Lines   : Starting the application event loop...
05-04 21:52:39.463 12702 12826 D Lines   : onApplicationStateChanged(Qt::ApplicationActive)
(more…)

Why my QT app crashes at the destructor of std::thread on Android 10 devices?

I did some research on why my QT app crashes at the destructor of std::thread on Android 10 devices at the user side with the following call stack:

#00 /apex/com.android.runtime/lib64/bionic/libc.so (abort+160)
#01 /system/lib64/libc++.so (abort_message+232)
#02 /system/lib64/libc++.so (demangling_terminate_handler()+44)
#03 /system/lib64/libc++.so (std::__terminate(void (*)())+12)
#04 /system/lib64/libc++.so (std::terminate()+52)
#05 /system/lib64/libc++.so (std::__1::thread::~thread()+20)
#06 /apex/com.android.runtime/lib64/bionic/libc.so (__cxa_finalize+212)
#07 /apex/com.android.runtime/lib64/bionic/libc.so (exit+24)
#08 /data/app/com.domain.myapp-Rs_sm5VrLR1Jj8QW6oYByA==/lib/arm64/libplugins_platforms_qtforandroid_arm64-v8a.so

and figured out that its likely because std::thread destructor is being invoked while the thread is still joinable at some point of the application execution (thanks to G. M. on stackoverflow.com).

(more…)