dememax: (Hacker Emblem)
Заметил, что проект, который правлю, не пересобрался (хотя у buildroot есть свой суффикс для цели на этот счёт, но его нужно каждый раз явно указывать для проекта, а потом ещё общий мейк явно запустить).

Задумался, обнаружил, что папка с исходниками полностью копируется, не смотря на то, что есть же возможность собирать отдельно от исходников, без этого копирования, т.к. проект основан на autotools (как раздельную сборку без копирования исходников позволяют и другие системы сборки, тот же CMake).

Ну, не поддерживает, насколько я понимаю, buildroot случай, когда исходники проекта заданы локальным каталогом на файловой системе (а тут уж другая причина, по которой он отдельно лежит: сложный проект из кучи репозиториев, который управляется gerrit). Вот, если бы исходники надо было бы забирать из какой-нибудь системы контроля версий, но, опять же, gerrit...
Долго не мог понять, почему кросс-компиляция пакета, который зависит от libpcap приводит к тому, что включаются заголовочные файлы из хоста (/usr/include вместо локальных для кросс-компиляции).

Нашёл, что откуда-то появляется "-I/usr/include" в CXXFLAGS. Read more... )
dememax: (ночь)
И полное отсутствие пакетов, которые зависят от этой библиотеки на моей системе - это только подтверждает.

Речь про https://github.com/hyperrealm/libconfig
Не скажу, что это был мой выбор.
Но очень быстро я нашёл, в чём разочароваться. Read more... )
dememax: (ночь)
Становится не понятно, зачем он вообще, этот новый клиент скайпа для линукса: ведь он из себя представляет интерфейс к вебу, если я правильно понимаю.
Если на смартфонах ещё имеет смысл устанавливать приложения, которые представляют тот же интерфейс, что и веб + разные там фичи, то я не совсем понимаю, зачем эта поделка для десктопа, когда я и так могу открыть браузер и там будет тот же интерфейс, что у этого приложения?!
Ещё про сравнение старой и новой версии скайпа для линукс можно почитать здесь: http://dil.livejournal.com/1486242.html
(там же можно найти способ запустить несколько старых версий с разными аккаунтами одновременно)
Read more... )
dememax: (Hacker Emblem)
Да, что-то я не думал, что для отправки через сишный libcurl сжатого содержимого с помощью gzip по http(s) на Линуксе будет столько проблем.
Думал, ну, поставлю там какой-то признак у библиотеки при отправке - "сжать таким-то способом" - и всё! А фиг там! Read more... )
dememax: (Hacker Emblem)
Помог одному товарищу, который на внешнем диске умудрился потерять всю информацию, запустив быстрое форматирование под маком.
[livejournal.com profile] dimonbb посоветовал применить http://www.cgsecurity.org/wiki/PhotoRec
В общем, получилось из под Линукса восстановить файлики.

А вы, какой у вас опыт восстановления с помощью бесплатного софта?
void MediaLookupTable::generateNewName(char* mediumName,
				       unsigned /*maxLen*/) {
  // We should really use snprintf() here, but not all systems have it
  sprintf(mediumName, "liveMedia%d", fNameGenerator++);
}
Оригинал взят у [livejournal.com profile] dimonbb в Перенаправление некоторых сайтов через tor на стороне роутера.
Настройки tor-а

SocksPort 9050
Log notice file /tmp/torlog
VirtualAddrNetwork 10.192.0.0/10
AutomapHostsOnResolve 1
TransPort 9040
TransListenAddress 192.168.10.1
DNSPort 9053
DNSListenAddress 192.168.10.1
RunAsDaemon 1
DataDirectory /tmp/.tordb
AvoidDiskWrites 1

Настройки iptables

ipset -N rosfuck iphash
iptables -t nat -A PREROUTING -d ! 192.168.10.0/24 -p tcp --syn -j REDIRECT -m set --set rosfuck dst --to-ports 9040


Заполняем список ip из

cat sites_all.rkn | xargs -n30 -P15 dig | grep -E "[^;].*IN[[:space:]]+A" | awk '{print $5}' | grep -v "^[[:space:]]*$" | xargs -n1 ipset -A rosfuck

Список сайтов заполняем из

wget -q --no-check-certificate -O -  "https://raw.githubusercontent.com/zapret-info/z-i/master/dump.csv" | awk -F";" '{print $2}' | sort | uniq >sites_all.rkn

dememax: (Hacker Emblem)
Блин, вляпался таки! Всеми лапками! Помните дети!
Эти значения - вычисляются и потом эти изменяемые значения продолжают передаваться в том же виде в последующих вызовах. Читаем The Python Language Reference / 8. Compound statements / 8.6. Function definitions:

Default parameter values are evaluated from left to right when the function definition is executed. This means that the expression is evaluated once, when the function is defined, and that the same “pre-computed” value is used for each call. This is especially important to understand when a default parameter is a mutable object, such as a list or a dictionary: if the function modifies the object (e.g. by appending an item to a list), the default value is in effect modified. This is generally not what was intended. A way around this is to use None as the default, and explicitly test for it in the body of the function, e.g.:

def whats_on_the_telly(penguin=None):
    if penguin is None:
        penguin = []
    penguin.append("property of the zoo")
    return penguin

dememax: (ночь)
Снова он гадил! На ноуте, где, кроме встроенной, всякие звуковые карты всяких видюх.
Вроде и в /etc/modprobe.d/alsa.conf записал, что у меня только одна карта (options snd cards_limit=1 и options snd-hda-intel id=PCH index=1), и в /etc/pulse/default.pa описал, какие у меня входы-выходы (load-module module-alsa-sink device=hw:0,0 и load-module module-alsa-source device=hw:0,0), но нет! Всё равно появлялись ненужные карты в pavucontrol. Но это - полбеды. Главное - зависало в непредсказуемый момент.
Нашёл, что народ отключает (комментирует в /etc/pulse/default.pa) автодетект всяких устройств (module-udev-detect.so и module-jackdbus-detect.so).
Пришлось тут пересобираться из-за "перехода на настоящую многоразрядность" (т.е., на 64-х разрядной x86 ОС собирать ещё и опционально 32-х разрядные версии динамических библиотек и исполняемых модулей). Вот текст анонса:Read more... )
Из впечатлений:
  1. Перестали сыпаться в консоль проклятия (типа "glib-assert!" и пр); что Skype, что Adobe Reader - каждый раз высыпали груды ругательств.
  2. Похоже, в некоторых случаях потребление CPU стало меньше; на рабочей, более современной машине - это заметно больше, чем на старой.
  3. Работа более стабильная, особенно когда процессор чем-то ещё занят (флеш в браузере, даже когда идёт пересборка, достаточно качественно показывает прямую трансляцию РБК).
А вот затронутые пакетики:Read more... )Остаётся только удивляться, какой помойкой приходилось пользоваться из пресобранных 32-х разрядных архивов.
Всё думал, что что-то у меня не так с железом. Старое. А может ещё что...
Оказалось, давно известная проблема. Для запуска из меню - уже пофиксили давно, но я, джентушник проженный, не запускал, как рекомендуют:
PULSE_LATENCY_MSEC=60 skype
Теперь по отзывам - слышно меня хорошо.

P.S.: Подробности - http://arunraghavan.net/2013/08/pulseaudio-4-0-and-skype/
dememax: (ночь)
...и один из мировых лидеров производителей SoC на ARM предлагал добавлять в код ядра линукс такое:
enum enable_disable_t {
	DISABLE,
	ENABLE
};
https://gitorious.org/medium_platform/linux/source/69a118f042a7b05b831e07348e0a8ed3142f3923:include/media/davinci/dm365_ipipe.h#L1164
(это я взял рафинированный пример, где ни добавить, ни убавить; в последних версиях ядра, как можно догадаться, этот тип упразднён с заменой на bool)

P.S.: Дорогие френды! Обескуражен реакцией на публикацию.
На просьбу о помощи - никто не отреагировал (по крайней мере, в он-лайне), а тут, на какое-то снобистское ворчание - уже трое высказали своё несогласие с посылкой поста.
Видимо, всё же я - сошёл с ума... :-(
Мне и вправду сейчас на испытательном сроке - нелегко.
dememax: (коварство)
Посоветуйте, с чего начать?
Мне нужно будет как можно скорее научиться править драйвера под Линукс.
Исходники-то ядра - уже давно приходится почитывать. Но опыта разработки в ядре - у меня нет.
В общем, предложения - принимаются! Заранее благодарен!

Пока сижу, читаю - Robert Love "Linux Kernel Development" 3d edition.
Обновил git 1.8.1.5-r1 -> 1.8.3.2-r1 и получил сообщение при добавлении:
warning: You ran 'git add' with neither '-A (--all)' or '--ignore-removal',
whose behaviour will change in Git 2.0 with respect to paths you removed.
Paths like 'XXX/YYYY/zzzz' that are
removed from your working tree are ignored with this version of Git.

* 'git add --ignore-removal ', which is the current default,
  ignores paths you removed from your working tree.

* 'git add --all ' will let you also record the removals.

Run 'git status' to check the paths you removed from your working tree.
Пошел добавлять --all.
dememax: (ночь)
Страсти по APIСтрасти по APIhttp://roem.ru/2013/04/09/2gis69245/

Антон Спиридонов, Менеджер продукта 2ГИС API

Буквально за 5-6 лет полностью поменялось отношение индустрии к API. Если в эпоху быстро забытого web 2.0 интерфейсы были обязательным символом успеха, то сегодня они уничтожаются в промышленных масштабах. Редакция предложила проанализировать моду на сворачивание API компании 2ГИС, для которой это - один из способов заработка. Read more... )
Я не собираюсь никого агитировать за Linux или против Microsoft, "Пусть расцветают сто цветов, пусть соревнуются сто учений". Я лишь хочу привести некоторые факты...

The Linux Foundation Releases Annual Linux Development Report by Linux_Foundation - April 3, 2012 - 7:09am:
Key findings from this year’s paper include:
§ For the first time, Microsoft appears on list of companies that are contributing to the Linux kernel. Ranking at number 17, the company that once called Linux a “cancer,” today is working within the collaborative development model to support its virtualization efforts and its customers. Because Linux has reached a state of ubiquity, in which both the enterprise and mobile computing markets are relying on the operating system, Microsoft is clearly working to adapt.
А ведь это та же компания, которая создала кампанию "Get the Facts": http://web.archive.org/web/20050321154419/http://www.microsoft.com/rus/getthefacts/default.mspx

И напоследок, старая добрая пропаганда от Красной Шапочки, в которой меня в своё время поразили слова того, с кем Владимир Владимирович хотел бы поговорить: Truth Happends, RedHat, November 12, 2008 )
dememax: (Hacker Emblem)
Вчера увидел дешевле, чем в других местах, и не удержался.
SIM-карту пришлось "уменьшать": мне прямо на месте сделали "обрезание".

Дома, после ad-hoc настроенного соединения с интернетом, телефон доложил, что ему требуется скачать ~230 мегабайт обновления только MeeGo.
Контакты легко скопировались с N900 без проблем, только пришлось у жены взять SIM-карту (чтобы телефон включить).
Сейчас во всём устройстве разбираться - нет времени, но то, что должно работать - работает.
Приятный девайс. :-)
Думаю, многие из вас в курсе, что в NPTL механизм pthread_cancel() реализован с помощью исключений. Таким образом, следует избегать нейтрализации catch(...).

Знающие люди, а скажите, есть ли в мелко-мягкой среде какие-то подводные камни, из-за которых тоже следует избегать такой нейтрализации?

Заранее благодарен! :-)

Update: Обратные ссылки: alextutubalin: Об исключениях (C++)
И снова по пятницам читаю про Линукс в родном университете.
Конфигурация та же (Ubuntu под VirtualBox на MS Windows), только версии современные и железо чуть поновее.
На практических занятиях возникло пару заминок, которых можно было бы избежать, если как следует подготовиться.
Не суть, надо двигаться вперёд! :-)

Profile

dememax

July 2017

S M T W T F S
      1
2345678
91011121314 15
16171819202122
23242526272829
3031     

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 24th, 2017 04:36 pm
Powered by Dreamwidth Studios