?

Log in

Freeman
08 October 2016 @ 11:23 pm
Сходил на TK Conf. Очень многолюдная конфа, организаторы - молодцы, я представляю как тяжело организовывать такие мероприятия. Провели достойно, за что респект.



Read more...Collapse )
 
 
Freeman
01 October 2016 @ 11:33 am
Никогда не стоит пользоваться возможностью "отправить деньги на карточку" у Сбербанка (например для пополнения Тиньковки). 1.5% комиссия - тупо грабеж, и при переводе о нем не говорится
 
 
Freeman
Наступает осень, окна в комнатах все чаще стали закрываться, и я озаботился вопросом - а не вредно ли это? Существуют нормы концентрации CO2 в воздухе, и превышение этих норм может серьезно влиять на здоровье. Особо печально в этой ситуации то, что углекислый газ невидим, мы не можем своими органами чувств точно оценить качество воздуха. Свою роль в ощущении воздуха играют и его влажность, и его температура.
В итоге купил такой вот датчик.

Он умеет мерять уровень CO2 и температуру воздуха, и питается от USB (потребляет, кстати, настолько мало, что powerbank не распознает его как потребителя и вырубается).
Первым делом я померил CO2 в офисе. 670 PPM - это просто отлично. Идеальный уровень - 400-800 PPM, где 400 - это уровень свежего воздуха вне помещения, и даже скорее вне города. Для мегаполиса, вне офиса, показатели могут быть на уровне 600-800PPM.  800-1200 это уже тревожный уровень. 1000 - это максимально допустимый уровень по стандартам ASHRAE и OSHA. После 1000 могут наблюдаться головная боль, слабость, проблемы с концентрацией внимания. Более 2500 возможны нежелательные для здоровья эффекты.

Дома с воздухом оказалось не все так радужно, как в офисе. При приходе домой, прибор зашкалило за 3000. Резко начал проветривать, но уровень 800-1000 - обыденность, даже при проветривании помещения.

Но мне была интересна динамика - как изменяются показатели CO2 со временем.  И тут пригодился USB-выход датчика, что дает возможность завести данные на компьютер. На сайте продавца есть софт для Windows, но это скучно. К радости, есть https://github.com/contactless/wb-mqtt-co2mon который компилируется под Linux и позволяет завести показания датчика через протокол MQTT.
Через docker были подняты Mosquitto (брокер MQTT) и OpenHab - отличное решение open-source решение для умного дома. Все значения отслеживаются online, и доступны графики по истории показаний датчиков. Также, OpenHab был интегрирован с Telegram - если уровень CO2 превышает 1500 мне приходит уведомление в чат.



Интеграция оказалась достаточно простой, заняла пару вечеров.
Что дальше? Задумался об установке приточной вентиляции. Но это дорого. В любом случае, будем чаще проветривать помещение.
 
 
Freeman
После обновления, XCode перестал компилировать (Archieve) Cordova-приложения с ошибкой

‘Cordova/CDVViewController.h’ file not found

при этом ionic build проходит нормально.

Решение:Добавить строчку "$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include"
в
Build Settings -> Header Search Paths
 
 
Freeman
29 September 2015 @ 10:00 pm
Например так выглядит старт сервиса aitnotifier


description "AirNotifier"
author "Alexey Petushkov"

start on started mongodb
stop on stopping mongodb
respawn

chdir /opt/airnotifier
script
sudo -u airnotifier /usr/bin/python /opt/airnotifier/airnotifier.py
end script


или, например, использующий его демон


description "GSK push service"
author "Alexey Petushkov"

start on (started mysql and started rc and started airnotifier)
stop on (stopping mysql and stopping rc and stopping airnotifier)
respawn

script
sudo -u www-data /usr/bin/php -f /var/www/clientSite/daemons/notifications.php
end script

 
 
 
Freeman
  Hi,

After much looking around I was never able to find a how-to guide(or should I say the ones that did never worked)on how to connect my android tablet/phone to Ubuntu for file transfers, sure there's other means of doing it wireless via your LAN, but truth be told MTP and Ubuntu don't exactly see eye to eye and as such I hope the following guide I put together saves someone a lot of time and effort. This was performed on Ubuntu 14.04 LTS

STEP 1
Firstly we're going to need to install some of the common MTP apps that will be needed. Open up a terminal and type the following two lines one after the other.


sudo apt-get install libmtp-common mtp-tools libmtp-dev libmtp-runtime libmtp9

sudo apt-get dist-upgrade

STEP 2
Then we're going to amend the fuse.conf file. FUSE is an application that aims to provide a secure method for non privileged users to create and mount their own file system implementations. This option overrides the security measure restricting file access to the user mounting the file system. So all users (including root) can access the files. This option is by default only allowed to root, but this restriction can be removed with a change to the aforementioned fuse.conf file as follows:

At the terminal type


sudo nano /etc/fuse.conf

We want to remove the # from the below line of code for user_allow_other, like so...


#/etc/fuse.conf - Configuration file for Filesystem in Userspace (FUSE)

#Set the maximum number of FUSE mounts allowed to non-root users.
#The default is 1000.
#mount_max = 1000

# Allow non-root users to specify the allow_other or allow_root mount options.
user_allow_other


Now save the file by pressing Ctrl+x, press Y and then Enter.

STEP 3

We now need to set up some rules for our device that we plan on connecting, but before we do that we need to find out both the vendor and product id

Connect your device via an available usb port and from terminal enter


lsusb
This should bring up an output similar to the following


Bus 002 Device 003: ID 0fce:01b1 Sony Ericsson Mobile Communications AB
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 006: ID 0461:4d65 Primax Electronics, Ltd
Bus 001 Device 005: ID 0846:9020 NetGear, Inc. WNA3100(v1) Wireless-N 300


You need to look for your device, in this instance my Sony Tablet is at the top of the list, the vendor id is 0fce and product id is 01b1

STEP 4
We're then going to amend the mtp udev rules as follows, from a terminal type


sudo nano /lib/udev/rules.d/69-mtp.rules

Then add the below line of code


# Sony Xperia Z2 Tablet
ATTR{idVendor}=="0fce", ATTR{idProduct}=="01b1", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"

Remember what you're changing here is the device name next to the #, this can be whatever you want, the # comments out the code, but for clarity and reference later I would choose the name of your tablet/phone and also the vendor id and product id, they should match what was seen when you issued the lsusb command earlier.

Once done, save the file.

STEP 5
The next step would also be to add a line of code to the 51 android rules file, again from a terminal type


sudo nano /etc/udev/rules.d/51-android.rules

Then add the following line of code


ATTR{idVendor}=="0fce", ATTR{idProduct}=="01b1", MODE=”0666"

Remember what I have highlighted in red needs to be changed to your device product id and vendor id.

Once that is done and the file is saved, remove any usb device currently connected and issue the following commands

[B]STEP 6


sudo service udev restart

Then save any other remaining work you may have open and reboot the system.

STEP 7

sudo reboot

Once rebooted you should now be able to plug your Android device in(making sure the screen is unlocked) and VIOLA!!(or at least I hope) You will now be able to transfer data to/from your Android device via the much quicker and much more reliable MTP

All feedback gladly welcome, would like to know if this has worked for this others too.

Взято тут
http://ubuntuforums.org/archive/index.php/t-2226702.html
 
 
Freeman
24 September 2014 @ 08:28 pm
Отличная статья в Вики Сфинкса - есть таблицы для большинства языков
http://sphinxsearch.com/wiki/doku.php?id=charset_tables
 
 
Freeman
SELECT table_schema "Data Base Name",  sum( data_length + index_length ) / 1024 /  1024 "Data Base Size in MB",  sum( data_free )/ 1024 / 1024 "Free Space in MB"  FROM information_schema.TABLES  GROUP BY table_schema;
 
 
Freeman
10 July 2014 @ 02:57 pm
Проблема 1:
>> Local Npm module "grunt-template-jasmine-requirejs" not found. Is it installed?

Решение:
  require('load-grunt-tasks')(grunt,{
         pattern: ['grunt-*', '!grunt-template-jasmine-requirejs']
  });  
 
 
Freeman

Пуск — Выполнить, пишем regedit

идем по  пути :  HKEY_CLASSES_ROOT\Mime\Database\Content Type\

в самом конце списка находим кириллические надписи типа «аудио/AMR» , удаляем все значения с кириллицей (предварительно можно сделать бэкап ветки).