четверг, 14 июня 2018 г.

How to “break on property change” in a web browser ?

If you need to run a debugger to find a place where some property is changed you can redefine this property as a function and add 'debugger' line


For example:

// There you will be able to find a place
// where 'document.getElementById('qty').value' is changed
(

function(obj){
//    var obj = document.getElementById('qty');

    obj._value = obj.value;

    Object.defineProperty(obj, 'value', {
        get: function () {
            return obj._value;
        },

        set: function (value) {
            debugger; // sets breakpoint
            obj._value = value;
        }
    });
}
)(document.getElementById('qty'))



воскресенье, 13 ноября 2016 г.

How to keep all history of 'apt-get install ..." command ?

I would like to have available all history of software installation on my PC (Ubuntu).
But by default Ubuntu keeps 'apt-get'-logs only for last 12 months. After that time 'logrotate' will delete older logs.

To fix it you should change a file '/etc/logrotate.d/apt':

diff --git a/logrotate.d/apt b/logrotate.d/apt
index 9a6e5d1..3021b99 100644
--- a/logrotate.d/apt
+++ b/logrotate.d/apt
@@ -7,7 +7,7 @@
 }
 
 /var/log/apt/history.log {
-  rotate 12
+  rotate 1200
   monthly
   compress
   missingok


So for now the logs will be kept during 100 years (1200 months)! :)

воскресенье, 2 октября 2016 г.

Load order of Cucumber files from 'support' directory

Hi. I am using Cucumber(Ruby) to make automated testing.
And it was interesting for me to know the order how Cucumber loads files from 'support' directory.

For now I know the answer!
At first 'support/env.rb' is loaded. After that all other files will be loaded in alphabet order.
It's correct for Cucumber 2.4.0.

среда, 31 августа 2016 г.

Секс с настройкой видеодрайвера для корректной работы Xmonad в Ubuntu на ноутбуке с NVidia Quadro K1100M и Intel® HD Graphics 4600

Проблема

На моём ноутбуке (HP ZBook 15) при установке проприетарного драйвера nvidia в Xmonad пропадает очень удобная особенность: возможность независимо отображать выбранный рабочий стол только на одном из выбранных мониторов, включая дисплей ноутбука (при наличии хотя бы одного подключенного монитора)

Цель

Восстановить стандартную возможность в XMonad -- перебрасывать окна с одного монитора/дисплея на другой с помощью горячих клавиш; одновременно можно перебросить окно с одного рабочего стола на другой.

Шаги для решения проблемы

1. Удалить полностью проприетарные драйвера nvidia

apt-get purge nvidia-*

2. Переустановить пакет  xserver-xorg-core

apt-get install --reinstall xserver-xorg-core 

3. Если в директории /usr/lib/x86_64-linux-gnu/xorg/extra-modules есть файл с названием libglx.so.1 , то его надо переименовать/удалить

4. Запустить команду

update-initramfs -u


четверг, 18 августа 2016 г.

Тонкости выполнения бекапов Andoid-прошивок в CWM (ClockWorkMod) для чайников: виды бекапов и их различие

CWM позволяет сохранять бекапы в различных форматах: tar и dup.

При выборе tar-формата данные с разделов "data", "system", "cache", "android_secure" будут сохранены в виде tar-архивов. Причём tar-файлы будут иметь нулевой размер, но также будут созданы файлы ".tar.a", которые и будут содержать архив с данными. Данные с разделов "boot", "recovery", "uboot" сохраняются в виде образов раздела.

Пример содержимого директории с бекапом.

G:\clockworkmod\backup\2012-08-01.00.01.15>dir /b
.android_secure.vfat.tar
.android_secure.vfat.tar.a
boot.img
cache.ext4.tar
cache.ext4.tar.a
data.ext4.tar
data.ext4.tar.a
nandroid.md5
recovery.img
recovery.log
system.ext4.tar
system.ext4.tar.a
uboot.img


При выборе dup-формата, содержимое разделов "data", "system", "cache", "android_secure" будут сохранены в виде списка файлов с указанием, где лежит каждый файл.

Пример

dedupe 2
d 770 0 0 0 0 1343858092 ./lost+found
d 770 1000 2001 1461175811 1343864058 1343864058 ./recovery
f 666 0 0 1343864058 1343864058 1343864058 ./recovery/log 436/b34653797d5feada2d8c5b5f33def321c208c0f5fe7477dcb8edd15a18c1a 4896

f 640 0 0 1461175811 1343864058 1343864058 ./recovery/last_log 436/b34653797d5feada2d8c5b5f33def321c208c0f5fe7477dcb8edd15a18c1a 4896


Сами файлы лежат в директории "/clockworkmod/blobs/"

Формат dup-позволяет уменьшить размер бекапа, за счёт того, что повторяющиеся файлы в разделах "data", "system", "cache", "android_secure" будут сохранены только один раз.


Пример директории, содержащей бекап в формате dup.


G:\clockworkmod\backup\2012-08-01.23.34.48>dir /b
.android_secure.vfat.dup
boot.img
cache.ext4.dup
data.ext4.dup
nandroid.md5
recovery.img

system.ext4.dup


Мораль

Если вы используете dup-формат, то при копировании бекапов с флешки на компьютер копируйте целиком всю директорию "/clockworkmod", а не только директории с бекапами.

среда, 17 августа 2016 г.

How to install drivers for Newman N1 (MTK6577) on Windows 7 ?

I have an old smartphone Newman N1 which is built on MTK6577 chipset.
I have decided to learn how to flash a new ROM on Android device and I have chosen Newman N1 for my experiments.

But I was very confused due to impossibility to find a correct driver which will give me a possibility to work with smartphone through ADB (Android Debug Bridge) tool.

After a long time it was found a working solution.
I am using Windows 7 so all next instuctions are correct and will work only for Windows 7.

Steps.
1. Connect your smartphone to your PC through USB cable. Smartphone should be switched on.
2. Open "Device Manager" to see how a new device will be found. I found an unknown device with name "MTK "MT65xx Android device".
3. Choose "Update driver" and select manual update. 
4. Open the list of all devices and select "Android device" vendor. After that select "Andoid Composite ADB Interface" device.

I did not describe which exactly driver I installed because I did it too much times so I don't know how this driver was installed on my PC.

I hope this instruction will help you. Maybe I will write more details about this trouble.

Resources
1. http://forum.xda-developers.com/fire-hd/general/guide-install-windows-adb-drivers-fire-t3189000

понедельник, 30 мая 2016 г.

AutoSave: a good SublimeText plugin for autosaving your files

During a long time of using PhpStorm/RubyMine and other IDEs  I have got used to using autosave feature when I editing files.

But now I am using SublimeText and it does not do this by default.
But it can be easily fixed by installing 'AutoSave' plugin.

Steps to do.
1. Install autosave plugin using PackageControl or any other way.
2. Switch on 'autosave' feature by entering command 'Toggle AutoSave: all files' after pressing 'Ctrl-Shift-p' key.