неділя, 23 грудня 2012 р.

Встановлення MySQL Workbench

Більшість замовлень на розробку веб-сайтів містять вимогу про використання баз даних. Типовою є MySQL, що її встановлено на моєму тестовому майданчику і яку просять використовувати для дрібних проектів. Роботу з цією БД можна організувати за допомогою консольних запитів (mysql-client) або ж за допомогою графічних утиліт. Основними вимогами до такої утиліти є:
  • кросплатформність (бо краще так);
  • зручність використання;
  • підтримка всього, що тільки може бути;
  • хороші відгуки на різних форумах.

субота, 1 вересня 2012 р.

Підсвітка синтаксису у Vim


Типово vim має підтримку синтаксису лише англійської мови. Інших мов у дистрибутиві я не знайшов, однак довідка vim (:help spell) підказала, що це є файли з розширенням spl.
Невеликий пошук з гуглом, показав, що файли з перевіркою синтаксису, а також файли ймовірних замін знаходяться на http://ftp.vim.org/vim/runtime/spell/

Для перевірки синтаксису, використовуються такі команди як:
  • 'runtimepath' - перелік шляхів, де буде здійснено пошук файлу з перевіркою. Окремі шляхи розмежовуються комою.
  • 'encoding' - кодування файлу.
  • 'spelllang' - мова, за якою здійснюється перевірка.

Якщо ми припустимо, що потрібно здійснити перевірку україномовного тексту, у файлі, який має кодування utf-8, то це можна зробити за допомогою наступних комад:
:set encoding=utf-8
:set spelllang=uk
Тоді vim буде шукати файл uk.utf-8.spl. Якщо ж цей файл є відсутнім у шляху runtime, то vim автоматично спробує його завантажити.

Для перегляду можливих варіантів «правильного» слова - використовуємо комбінацію «z=».

середа, 6 червня 2012 р.

Нові курси від Udacity


Ще тепленька новина. Компанія Udacity розпочинає реєстрацію на нові курси:
1) Вступ до фізики
2) Вступ до статистики
3) Основи алгоритмів
4) Логіка та дискретна математика
5) Тестування програмного забезпечення

Усі курси читаються англійською мовою, до кожної лекції є завдання та конспект.

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

Успіхів.

Огляд наплечника HP BP849AA

«Сьогодні до нашої тестової лабораторії потрапили декілька наплечників для 17" ноутбуків.» Десь такий текст мав би бути у огляді наплечників, який я шукав кілька днів тому. Причиною такого нестандартного зацікавлення стала остаточна смерть старенького наплечника Wenger SwissGear Pegasus, який я купив у 2009 році в Штатах. Оскільки, компанія не постачає свою продукцію до України, а також не має у поточній лінійці моделі під 17" ноутбуки - довелося топати на hotline.ua та шукати щастя там.
Свій вибір я зупинив на HP BP849AA - наплечнику для 17" ноутбуків від HP, як такому, що має бути сумісним з моїм другом HP Pavilion DV7-4130er. Принаймні таку сумісність декларує виробник :o) Зваживши всі плюси і мінуси, я замовив дану через Fotomag.com.ua, оскільки вони пропонували привезти мені все до центру міста, звідки я міг забрати у зручний час і оплатити товар без вартості доставки імені Нової пошти та інших альтернативних перевізників.

середа, 30 травня 2012 р.

LaTeX, BibTeX та ДСТУ 7.1-2006

В процесі написання дисертації виникає декілька питань, на які я (як і годиться порядному аспіранту) шукав відповіді, і пробував всякі граблі. Наслухавшись багато про LaTeX - я запалився ідеєю зробити свою дисертацію саме в даній системі. Якихось особливих вимог не ставив, окрім автоматичної нумерації таблиць та формул, літератури зі списку використаних джерел тощо. Звісно, що для цього підходить і MS Word і (підозрюю) LibreOffice, але хотілося чогось незвичайного. В ролі редактора тексту було обрано Vim (бо Vim), і робота по трошки почала кипіти.

середа, 7 березня 2012 р.

Network-Manager та автоматичне вимкнення бездротового адаптера

Уже декілька разів стикався з тим, що нові дистрибутиви включають типово режим „у літаку“. Спроби відключити його через графічну утиліту не завжди приводять до успіху, а тому доводиться лізти в термінал, що для недосвідченого користувача є суцільним жахіттям. Насправді все не так страшно, як виглядає, просто потрібно трішки більше знати про обладнання на якому працюємо.

Основними засобами для перевірки параметрів мережевого з’єднання є утиліти ifconfig, iwlist та rfkill (пакунки net-tools, wireless-tools та rfkill, які в принципі є встановлені). Перша - налаштовує мережеві адаптери, друга - дозволяє сканувати мережі, третя - показує поточний стан мережевого безпровідного адапетра. Але про все по-порядку.

Перш за все, слід дізнатися модель мережевого адаптера. Для цього існує утиліта сканування PCI-пристроїв lspci (для USB-пристроїв lsusb відповідно). Її запуск видає повний перелік пристроїв, які наявні у системі, який я скоротив до прийнятного розміру. Мережевий адаптер для безпровідних мереж, який нас цікавить виділено товстим шрифтом. Важливо не сплутати його із Ethernet controller, який теж є мережевим адаптером, але для дротових мереж.

$ lspci
01:00.0 VGA compatible controller: ATI Technologies Inc Madison [Radeon HD 5000M Series]
01:00.1 Audio device: ATI Technologies Inc Redwood HDMI Audio [Radeon HD 5600 Series]
02:00.0 Network controller: Ralink corp. RT3090 Wireless 802.11n 1T/1R PCIe
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)

Якщо пристрій відсутній у даному переліку, можливо його просто немає, а тому слід переконатися, що він підключений. Оскільки Network-Manager керує даним адаптером, то він найбільш ймовірним він є деактивованим, що можна перевірити командою ip link:
$ ip link
1: lo: mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 60:eb:69:6d:c5:58 brd ff:ff:ff:ff:ff:ff
3: wlan0: mtu 1500 qdisc mq state UP qlen 1000
    link/ether e0:2a:82:12:df:7d brd ff:ff:ff:ff:ff:ff
4: vboxnet0: mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff

Як згадувалось вище, за допомогою утиліти rfkill можна управляти блокуванням безпровідного адаптера. Одним з параметрів є list, задача якого, друк списку поточних адаптерів та статусів блокування :
$ rfkill list
0: hp-wifi: Wireless LAN
    Soft blocked: no
    Hard blocked: no
1: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
32: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no


Інформація про безпровідний пристрій має наступні поля, які розділені двокрапкою: індекс пристрою, фізичну адресу, опис.
З цих полів індекс використовується при доступі до окремого елементу пристрою. М’яке та жорстке блокування є відповідно програмним та апаратним блокуванням.
У тому випадку, коли rfkill показує щось на кшалт Hard blocked: yes слід шукати відповідну кнопку на ноутбуці, яка вмикає адаптер. Після цього, запуск команди iwlist scan повинен вивести на екран (терміналу) перелік доступних Wi-Fi мереж. Якщо такий перелік є, а Network-Manager не показує перелік доступних мереж, ймовірною є проблема конфлікту кількох модулів бездротових адаптерів.

Перегляд списку адаптерів дозволяє виявити проблематичний модуль. Напр.:
0: tpacpi_bluetooth_sw: Bluetooth
    Soft blocked: no
    Hard blocked: no
1: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no
2: acer-wireless: Wireless LAN
    Soft blocked: yes
    Hard blocked: no

3: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no

Конфліктуючим пристроєм є acer-wireless, а відповідним модулем - acer_wmi. Для того, щоб його видалити з системи назавжди треба додати відповідний запис до теки /etc/modprobe.d/<назва_файлу>.conf, який буде містити один рядок:
blacklist acer_wmi

неділя, 19 лютого 2012 р.

Курси від Стенфорду

На цьому тижні отримав два листи. Перий лист від Себастіана про те, що курси з використання штучного інтелекту у роботехнічних системах починаються з 20-го лютого. Для участі в курсах необхідно володіти Пітоном (короткий огляд). Дозаписатися на курси можна до 27-го лютого.

Другий лист стосувався курсу з проектування та аналізу алгоритмів. Курс затримується до кінця лютого або й початку березня, що пов’язано із проблемами з ліцензуванням та адміністрацією (мабуть не могли погодити що саме читати і коли).

Чекаю.