LINUX.ORG.RU

Сообщения Camel

 

Системный анализ — философское словоблудие?

Понадобилось мне тут познакомиться с «системным анализом». Результат знакомства удручил. Я привык, что если в названии дисциплины есть слово «анализ», то это будет МатАн (дифференциальное и интегральное исчисление) применительно к какой-то специальной области. Я ожидал, что в системном анализе будет введено понятие системы, введены операции над системами, воздействия, определено как система реагирует на эти воздействия и как меняется реакция в зависимости от изменения воздействия. А оказалось, что под словами «системный анализ» скрывается какое-то философское словоблудие. Взгляните, например, на этот учебник. Нет строгого определения ключевого понятия «система», нет ни одной формулы, от начала и до конца какое-то переливание из пустого в порожнее. Задача системного анализа системно анализировать системы. В Википедии и других местах примерно то же самое. При этом говорится, что на системном анализе основаны такие вещи как логистика и теория операций.

Что я делаю не так с системным анализом? Чем занимаются системные аналитики? Есть ли в их работе хоть толика математики? А может быть их работа на самом деле сплошная математика?

 , ,

Camel
()

В аватарке намёк на мат.

http://www.linux.org.ru/people/lucky_guy/profile
За открытый мат надо наказывать, за скрытый — карать нещадно.

 ,

Camel
()

GNU/Linux на Samsung Chromebook 2.

Samsung анонсировала Chromebook 2. Характеристики радуют. Экран с диагональю 34 сантиметра (13,3") с разрешением 1920x1080, 4 Гб ОЗУ, ARM'овский процессор с 8 ядрами на часторе 2,1 ГГц.

Скажите, на такой ноутбук можно поставить Gentoo, Ubuntu, что-то другое, или там огороженный по самое передать невозможно загрузчик? Какая там может оказаться видеокарта, WiFi, для каких железок есть свободные драйверы, для каких закрытые, а какие вообще не заведутся? Можно ли поставить GNU/Linux на основной накопитель, или из-за банальных ограждений только на внешнюю флешку?

 ,

Camel
()

mock не mock'ает.

Использую mock в модульных (unit) тестах. Столкнулся с тем, что могу заменить вызов оригинальных функций mock'ами в сторонних библиотеках и функций из того же файла что и тестируемая функция, но не могу заменить функции из других файлов моей же программы. ЧЯДНТ? Кто-нибудь сталкивался с подобным?

 , , ,

Camel
()

Нагрузочное тестирование на виртуалке. За и против.

Попросили меня сделать из одной из машин сервер для нагрузочного тестирования. На нём будет только программа которую мы разрабатываем, а запросы будут подаваться с других машин. Встал вопрос, ставить ли Ubuntu на голое железо или на вируталки?

С одной сторын у виртуалок можно объём ОЗУ и количество процессоров менять, создать слабую конфигурацию и загрузить её нагрузочным тестом до самого падения.

А с другой стороны будут ли эти результаты соответствовать поведению программы на реальном железе? Есть ли смысл тестировать под нагрузкой на железе более слабом чем то что будет во время эксплуатации?

 , ,

Camel
()

Инструменты для нагрузочного тестирования.

Есть ли какие-нибудь инструменты для проведения нагрузочного тестирования не-web'овых приложений? Есть у меня, например, программка, которая получив запрос лезет в Redis, берёт оттуда немного данных и принимает решение какой ответ вернуть. Нужно узнать сколько запросов в секунду программа способна обработать, как растёт время обработки одного запроса с ростом сложности запроса, сколько при этом потребляется памяти.

Я мог бы сам написать сценарий, который грузит программку запросами, потом обрабатывает файл журнала, вычленяет из него временные метки нужных событий, считает время обработки, находит среднее и т.п. Но может это ненужный велосипед? Может быть уже есть инструмент которым все с удовольствием пользуются?

 ,

Camel
()

coverage только своих модулей, а не всех системных.

Есть программа на python'е, есть модульные (unit) тесты к ней (nose). Хочу измерить покрытие тестами кода. Проблема в том, что запуск nosetests --with-coverage пробегает по тестам так же всех import'нутых модулей, а не только моих. Учитывая что код какого-нибудь numpy или pandas во много раз больше моего я получаю, во-первых, что coverage долго меряется, во-вторых, что даже печальнее, что вместо покрытия моего кода я меряю покрытие pandas'а, всегда получаю 21%.

Как померять покрытие только своего кода тестами? Только того кода который есть в некоторой директории, но не того который добавляется import'ами.

Я для проверки даже написал модуль с двумя тривиальными функциями уровня hello_world и один тест к этому модулю. Если нет import pandas, то nosetests --with-coverage говорит 44%, а если есть import pandas и вызов одной функции из него, то проверяется покрытие в pandas'е и numpy и отвечает 21%.

 , , , ,

Camel
()

Взаимоотношения logging и nose.

Есть программа на Python'е состоящая более чем из одного файла .py. В каждом файле есть строки

import logging
logger = logging.getLogger(__name__)

То есть в каждом файле объявлен свой logger (хотя все они привязаны к корневому logger'у).

В коде местами разбросаны вызовы logger.warn(), logger.info() и прочие.

При запуске nosetests естественно в консоль валится некоторое количество сообщений от logger'ов, что засоряет выхлоп (особенно это мешает в логах Jenkins'а). Можно как-то запустить nosetest с опцией подавления вывода логов уровня ниже WARNING или ERROR? --logging-level= не помогает. Вызываю nosetests --logging-level=ERROR, но в консоль всё равно выводятся WARN'ы и INFO.

 , ,

Camel
()

Ubuntu i3 без DE.

Есть Ubuntu поставленная через netboot. Какие пакеты нужно поставить чтобы работать с i3?

Мне ведь не нужно для этого ставить ubuntu-gnome-desktop или ubuntu-desktop (Unity)? Но ведь нужно поставить X и GDM/LightDM.

Переключалку клавиатуры можно настроить через setxkbmap. А как получить такие привычные вещи как автомонтирование флешек, network manager (чтобы WiFi'ки подхватывались) и прочие? Или правильный путь в данном случае поставить сначала ubuntu-gnome-desktop, а потом заменить metacity на i3?

 , ,

Camel
()

Где сообщить о баге команде Ubuntu Gnome.

В готовящейся к выпуску версии Ubuntu Gnome 14.04 есть ошибка — клавишу CapsLock нельзя установить для смены раскладок. Конкретный баг, виден, повторяем. Где найти правильный багтрекер в который стоит сообщить об этом?

 , ,

Camel
()

Как починить переключалку раскладок?

Пробовал Gnome Ubuntu 13.10 (Saucy Salamander) и Ubuntu 14.04 (Trusty Tahr), в обоих проблема с переключалкой раскладок. Во-первых, из gnome-control-center нельзя установить переключение раскладок нажатием CapsLock'а, но это можно сделать из gnome-tweak-tool'а. Во-вторых, а это уже создаёт проблему для меня, нажатие CapsLock'а вызывает смену индикатора раскладки (с en на ru и обратно), но текст выводится латиницей, то есть реально раскладка не переключается, переключается только состояние индикатора. Если же переключить раскладку щелчком мыши по индикатору раскладки, то раскладка действительно меняется вместе с состоянием индикатора.

Ну так вот, баг это старый, многократно уже обсуждённый в том числе на L.o.r'е, якобы уже исправленный в Gnome-3.8.3, но мне посчастливилось столкнуться с ним вновь. Подскажите, как сделать работающее переключение раскладок нажатием CapsLock'а в Ubuntu 14.04? Там вроде бы Gnome-3.10.

 epic bug, ,

Camel
()

Минимальный Ubuntu с десктопного iso.

Хочу поставить Ubuntu Trusty Tahr (14.04) в минимальной комплектации. Привык устанавливать операционки по сети, но для Trusty Tahr не выложили ещё образы netboot, Minimal CD тоже нет, есть только trusty-desktop-amd64.iso, с которого ставится обычное графическое окружение. Как поставить только те пакеты которые поставились бы с Minimal CD?

 , ,

Camel
()

ELPA и load-path.

Поставил highlight-parantheses из ELPA, но в .emacs всё равно пришлось вписать

(add-to-list 'load-path "~/.emacs.d/elpa/highlight-parentheses-1.0.1")
Нормально ли это?

Я ожидал, что если я поставил пакет из ELPA, то он сам встанет в правильное место и в конфиге мне придётся вызывать только

(require 'highlight-parentheses)
Ан нет, без add-to-list 'load-path не работает. ЧЯДНТ?

 , , load-path

Camel
()

Bitcoin против квантового компьютера.

Поясните мне за Bitcoin, шифрование и квантовые компьютеры. В меру своей некомпетентности мне казалось, что вся современная криптография опирается на сложность разложения больших чисел на простые множители, а квантовый компьютер выполняет эту операцию мгновенно. Не получится ли так, что появление действующего квантового компьютера сломает Bitcoin?

 ,

Camel
()

Помогите настроить OpenWRT.

Захотел сделать из точки доступа маршрутизатор, но c OpenWRT пока не справился. Помогите, пожалуйста.

Итак, имеется точка доступа Asus WL-320gE. На ней установлена OpenWRT-10.03.1. Хочу по кабелю подключаться к сети провайдера (Билайн), через PPPoE подключаться к интернетам и раздавать их по WiFi.

Что нужно написать в секции switch файла /etc/config/network? Я вообще не понял о чём она. Нужны ли мне VLAN'ы? Они используются для настройки работы железа, в смысле беспроводной интерфейс в один VLAN, проводной в другой, или для чего-то ещё?

Что будет в секции interfaces? Правильно я понимаю, что у меня будет 3 интерфейса: (примерно с такими названиями) ppp, eth, wlan?

Где в OpenWRT включить сервер DHCP чтобы раздавать IP'шники подключающимся по WiFi?

Где в OpenWRT настраивается WiFi? Всякие SSID, WPA2, passphrase.

 , , , ,

Camel
()

OpenWRT на Asus WL-320gP.

Хочу поставить OpenWRT на Asus WL-320gP. На сайте OpenWRT эта железка среди поддерживаемых, прошивка должна заливаться через TFTP. Файл загружается успешно, 192.168.1.1 пингуется, однако подключиться по telnet'у не удаётся. ЧЯДНТ?

Мигающий светодиод PWR говорит, что железка в диагностическом режиме, работает TFTP сервер, надо залить прошивку и перезагрузить. Вопрос: какой файл нужно залить? Может я не то заливаю, потому ничего и не работает.

Пробовал заливать вот этот файл:

http://downloads.openwrt.org/backfire/10.03.1/brcm-2.4/openwrt-brcm-2.4-squas...

 , , ,

Camel
()

Emacs, Mercurial и форматирование.

Вопросов сразу несколько, но между ними есть связь.

Итак, есть репозитерий с кодом на C. Хочу чтобы все коммиттеры автоматом форматировали код перед отправкой. Думал найду ответ на первой же странице выдачи Гугла, но ошибся. Все коммиттеры на Ubuntu, но не все пользуются Emacs'ом. Правильно я понимаю, что надо чтобы hg вызывал astyle перед фиксацией изминений?

Мне скорее всего не понравится формат который будет выбран для репозитория (давайте считать что это будет BSD), потому хочется в Emacs'е всё видеть немного по-другому. Как заставить Emacs форматировать файл в стиле GNU? Желательно ещё чтобы при этом файл при сохранении незримо для меня форматировался обратно в BSD. Можно ли Eclipse (на нём коллеги сидят) научить аналогичному трюку?

Не будет ли при таком обращении с кодом страшнючих проблем с diff'ами или чем-то ещё?

 , , ,

Camel
()

SmartTabs и Whitespace. Не выделять пробелы используемые для выравнивания.

Включил в Emacs'е SmartTabs и Whitespace вместе, понравилось, но whitespace выделяет пробелы которые smarttabs вставляет для выравнивания. Вот картинка с примером.

Как заставить whitespace не выделять пробелы используемые для выравнивания? Правильно я понимаю, что для этого надо поменять какие-то значения опций whitespace-style, whitespace-space-after-tab, whitespace-indentation-regexp илиwhitespace-space-after-tab-regexp? Какие значения надо поставить? Как это сделать?

 , , , smart-tabs-mode,

Camel
()

Не вижу пакетов MELPA.

Обнаружил, что M-x package-list-packages показывает мне пакеты только из ELPA, но не из MELPA, хотя ~/.emacs начинается с

(when
	(load
	 (expand-file-name "~/.emacs.d/elpa/package.el"))
  (package-initialize))

(require 'package)
(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")
                         ("marmalade" . "http://marmalade-repo.org/packages/")
                         ("melpa" . "http://melpa.milkbox.net/packages/")))

ЧЯДНТ?

 ,

Camel
()

Сценарии Emacs'а при использовании в качестве инструмента слияния.

Захотел я использовать Emacs в качестве three way merge tool для Mercurial'а. В вики последнего есть рецепт что нужно сделать.

Добавить строчку в ~/.hgrc

[ui]
merge = emacsclient-merge

И некий сценарий:

save it as e. g. 'emacsclient-merge' and configure it like this

Не могу понять, куда нужно сохранить:

#!/bin/bash

 if [ $# -lt 1 ]; then
    echo 1>&2 "Usage: $0 local other base output"
    exit 1
 fi

 local=$1
 other=$2
 base=$3
 output=$4

 OUTPUT=`emacsclient --no-wait --eval "(ediff-merge-with-ancestor \"$local\" \"$other\" \"$base\" nil \"$output\")" 2>&1`
 echo $OUTPUT | grep -v "Ediff Control Panel"

 if echo "$OUTPUT" | grep -q '^*ERROR*'; then
    exit 1
 fi

чтобы оно использовалось меркуриалом? В какое место? Какой путь к файлу?

 3way, , ,

Camel
()

RSS подписка на новые темы