Bluetooth Headset

Заказал Rapoo H6080. Как гарнитура — не понравилась. Мега-нечувствительный микрофон, тебя никто не слышит.

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

В это же время микрофон тоже тупит и тебя слышно также (если вообще слышно), как ты слышишь звук в наушниках.

Помимо этого подключив их посредством USB-кабеля (в этом случае они работают как рядовые USB-наушники), через некоторое время звук начинает заикаться, и так продолжается до тех пор пока их не переподключишь. Возможно это глюки USB-драйвера — не проверял.

До этого совсем немного тестил BlueDio H+ (Turbine) — на борту FM-приемник, слот для microSD-карты, микрофон. Если я правильно помню они работали как гарнитура даже через USB-соединение.

Есть еще «одноухая» Jabra Mini 0.3.5 — с ней та же фигня как и с Rapoo H6080, включается микрофон — падает качество звука.

А Wireless Headset не хотел брать из-за того, что радио-ресивер-трансмиттер подходит лишь для того гаджета, для которого он предназначен :(

Судя по всему все же придется брать их, если совсем припрет… Wireless Headset (с качественным звуком) сейчас стоят от 6-7к. Хотя, конечно, вот совсем недавно вышли в продажу Plantronics Backbeat Sense, но жаба душит.. 13к в РФ.

Рубрика: Новости | Оставить комментарий

OSX vulnerability

Судя по всему версии до 10.11 подвержены уязвимости, которая позволяет получить полный контроль над системой. Уязвимость позволяет любому пользователю получить root-права. Простой тест выглядит так:

$ EDITOR=/usr/bin/true DYLD_PRINT_TO_FILE=/this_system_is_vulnerable crontab -e

если на выходе получили, а все пользователи OS X до версии 10.11 точно его получат
osxvulnerable

то у вас проблема. На данный момент решается установкой дополнительного kext’а (SUIDGuard).
Источник информации — Stefan Esser

Рубрика: Новости | Оставить комментарий

Speedup by RAM Disk + rsync

Выделил 4Гб памяти под RAM-Disk, число 8388608 есть число 512-байтных блоков = 4096 * 2048

$ diskutil erasevolume HFS+ 'RAM Disk' `hdiutil attach 
-nomount ram://8388608`

поставил утилиту fswatch

$ brew install fswatch

настроил апдейт изменений через rsync

$ fswatch -ro /Volumes/RAMDisk/<source_folder>/ | xargs -n1 -I{}
rsync -ua --delete /Volumes/RAMDisk/<source_folder>/
~/<destination_folder>/

Теперь можно работать на RAM-диске, переносим туда какого-нибудь монстра типа PhpStorm / Android Development Studio / Eclipse / Flexible Development Tools и все остальные java-based IDE, указываем рабочий каталог на RAM-Disk, запускаем fswatch, таким образом гарантируем себе 99% вероятность сохранения рабочих файлов на жестком диске.

Совсем быстро оно работать конечно не станет, но работа с файловой системой существенно ускорится, меня допустим раздражает табличка в FDT, которая гласит что-то вроде «Сохраняюсь, ждите… можете прервать».

Рубрика: Новости | Оставить комментарий

Обновился до 10.10.4

Screenshot 2015-07-02 14.45.59

NVIDIA все так же оперативно выпускает свои драйвера под Mac OS X. Обновился без проблем, полет нормальный.

Рубрика: Новости | Оставить комментарий

The problem: keyboard layouts [unsolved]

Обычные человеки используют две раскладки — английскую и свою нативную. Но что делать, если ты полиглот и общаешься / пишешь на разных языках? Пусть это будет самый простой вариант — родной язык и два иностранных, с разными символами (английский, русский и хинди).

Все системы, которые есть на данный момент, будь то Windows / Mac OS X / *nix, предлагают лишь один способ переключения между ними, а именно — ротацию между раскладками. Это есть не всегда удобно, даже я бы сказал, совсем неудобно.

В Mac OS X — это недоразумение сглажено несколько отличным методом переключения — при однократном нажатии сочетания клавиш, ответственных за переключение раскладок — система переключает между собой последние две используемые раскладки, при удержании клавиш — вылезает список со всеми выбранными раскладками, из которых пользователь может выбрать нужную.

Но и это не всегда удобно.

Ни одна из систем не поддерживает переключения разных наборов раскладок на разных сочетаниях клавиш. Например, super + space — переключается между en / ru , а option + space — переключается на хинди или набор из хинди / японский.

Конечно же я просто не все знаю о возможностях упомянутых систем, но пришлось изобретать велосипед и для Linux Mint LMDE 2 решение было таким:

git clone https://github.com/nonpop/xkblayout-state
#!/bin/bash
# change_layout - скрипт переключающий язык

ARA=0
EN=1
RU=2

bin="xkblayout-state"
if [ $# -eq 0 ]; then
        CL=`$bin print %c`
        if [ $CL -eq $EN ]; then
                # set RU
                $bin set $RU
        else
                # set EN
                $bin set $EN
        fi
else
        # set ARABIC
        $bin set $ARA
fi
#!/bin/bash
# install script

sudo apt-get install git libx11-dev
git clone https://github.com/nonpop/xkblayout-state
cd ./xkblayout-state
make && strip ./xkblayout-state
sudo cp ./xkblayout-state /usr/local/bin/
make clean
cd .. && sudo cp ./change_layout /usr/local/bin/

Выбираем нужные языки и отключаем все сочетания клавиш для переключения раскладок
3

Настраиваем новые сочетания клавиш
2

1

После данных действий сочетание клавиш Alt_Shift — будет переключаться между en/ru , а Super(Windows)_Shift — будет переключать на арабскую вязь.

П.С. Для использования скрипта с другими раскладками — возможно придется изменить порядковые номера раскладок, насколько я понял они нумеруются после сортировки списка раскладок.

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

Рубрика: Новости | Оставить комментарий

cygwin + ant

Тупил некоторое время и получал ошибки о том, что не найдены нужные файлы. Я-то привык к никсовым форматам. Оказалось, что нужно выставить FLEX_HOME путь к SDK в формате windows, т.е. содержимое build.properties превращается примерно вот в это:

FLEX_HOME=c:/cygwin64/home/root/flex46
SRC_DIR=${basedir}/src
LIBS_DIR=${basedir}/lib
DEPLOY_DIR=${basedir}/bin

И как это меня вообще потянуло на windows :) Сам не знаю. В итоге более привычная среда для работы в windows — cygwin, flex sdk, ant, sublime text 2 / phpstorm.

wd

Рубрика: Новости | Оставить комментарий

Chrome NPAPI-plugins supports

Выставить флаг в нужное значение в настройках chrome://flags/#enable-npapi . В chrome 45 флаг уберут и поддержку NPAPI тоже.

Рубрика: Новости | Оставить комментарий

Hackbug [solved]

7-may-2015
==========
Некоторое время назад столкнулся с проблемой — скорость передачи данных не превышала 10мбит/сек. Тупил несколько дней. Грешил на роутер и провайдера. Заставил его перегрузить свой роутер. Перепрошил роутер. Проблема решилась … перезагрузкой компа… комп не выключался недельки с полторы и как оказалось заглючили сетевые дравера. Я нуп!

Update: фиксится без перезагрузки посредством рестарта сетевого сервиса

$ sudo ifconfig en0 down
$ sudo ifconfig en0 up
Рубрика: Новости | Оставить комментарий

Отладка Flash-приложений под Mac OS X

Необходимо поставить отладочную версию Flash Player, у меня стоит Stand-alone вариант. В файле /Library/Application Support/Macromedia/mm.cfg прописать как минимум две строки:

ErrorReportingEnable=1
TraceOutputFileEnable=1

Flash-приложение обязательно должно быть откомпилировано с флагом debug=true.

Выполнение отлаживаемого приложения в дебаг-версию флэш плеера создаст файл ~/Library/Preferences/Macromedia/Flash Player/Logs/flashlog.txt, в котором будут собраны все трейсы и сообщения об ошибках.

Гадкий FDT все время просит купить лицензию для расширения предоставляемых возможностей. Free версия, к сожалению, для меня очень ограничена, а жаль :(. Так что правим наш build.xml для ant:

<!-- build.properties -->
FLEX_HOME=/path/to/flex46/
SRC_DIR=${basedir}/src
LIBS_DIR=${basedir}/lib
DEPLOY_DIR=${basedir}/bin
<!-- flexTasks.tasks -->
mxmlc=flex.ant.MxmlcTask
compc=flex.ant.CompcTask
html-wrapper=flex.ant.HtmlWrapperTask
asdoc=flex.ant.AsDocTask
<!-- build.xml -->
<project name="Flex Ant Tasks Build Script" default="compile flex project">
 <!-- load previously defined configuration properties file -->
   <property file="build.properties" />

   <!-- points to our flexTasks.jar we copied to the libs folder to distribute with the project -->
   <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/ant/lib/flexTasks.jar"/>

   <!-- delete and create the DEPLOY dir again -->
   <target name="init">
     <delete dir="${DEPLOY_DIR}" />
     <mkdir dir="${DEPLOY_DIR}" />
   </target>

   <!-- Build and output the Main.swf-->
   <target name="compile flex project" depends="init">
     <mxmlc file='${SRC_DIR}/Main.as' output="${DEPLOY_DIR}/test.swf" debug="true">
       <load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/>
       <arg line="-target-player=10" />
       <static-link-runtime-shared-libraries>true</static-link-runtime-shared-libraries>
       <source-path path-element='${SRC_DIR}'/>
       <compiler.library-path dir='${LIBS_DIR}' append='true'>
         <include name='*.swc'/>
       </compiler.library-path>
     </mxmlc>
   </target>
</project>
Рубрика: Новости | Оставить комментарий

Создание окна без X Code

Минимальный исходник:

// main.c
#include <Cocoa/Cocoa.h>

int main(int argc, const char *argv[])
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    [NSApplication sharedApplication];

    NSUInteger wndStyle = (
              NSTitledWindowMask
            | NSClosableWindowMask
            | NSResizableWindowMask);
    NSRect wndRect = NSMakeRect(100, 100, 400, 300);
    NSWindow *wnd = [[NSWindow alloc]
        initWithContentRect:wndRect
        styleMask:wndStyle
        backing:NSBackingStoreBuffered
        defer:NO];
    NSWindowController *wndCtrl = [[NSWindowController alloc]
        initWithWindow:wnd];
    [wndCtrl autorelease];
    [wnd orderFrontRegardless];
    [NSApp run];
    [pool drain];
    return 0;
}

компилим примерно так:

$ gcc ./main.c -ObjC -o test -framework Cocoa
Рубрика: Новости | Оставить комментарий

Flash decompiler

Один единственный линк: JPEX Free Flash Decompoiler

Рубрика: Новости | Оставить комментарий

ASUS 2010 года

Попросили меня воткнуть дополнительную планку памяти в платку Asus P7H55-M LX. Я просто тупо не ожидал проблем, а они появились. Плашки обыкновенные DDR3-1333, пробовал поставить FoxLine / Geil 2x4Gb, что в сумме даст максимально возможное количество памяти на данной плате. Но!… Ни в паре, ни по одиночке, ни в разных слотах и различных комбинациях они работать не захотели. Вообще! Печалько. Плата оказалась очень капризной в плане поддерживаемых производителей памяти. Пришлось оставить пока то, что там есть, а именно Kingmax DDR3, 1333, 2Gb. Похоже придется искать точно такую же плашку, с таким же номиналом. Четырехгиговые планки не проходят даже тест памяти на данной плате. Еще, что интересно, может это конечно зависит от процессора (i3-какой-то-там, 1156, Clarkdale), даже со вставленной видеокартой в PCIe-слоте, всегда выделяется память для встроенной видеокарты в процессоре — в итоге свободной доступной памяти всегда меньше. Если запустить memtest со встроеной видеокартой, то тест затирает изображение при проверке. Прямо бред какой-то… жестоко.

Рубрика: Система | Оставить комментарий