avshap: (necron_pic)
Девиз программистов встраиваемого ПО: «Therac, Therac и в продакшн»
avshap: (necron_pic)
… покусали разработчиков gEDA:




P.S. Для тех кто не. Эта дрянь (появилась в Git, типа демонстрация новых фич) ещё и не отключаемая. Настроек в конфигах не предусмотрено, только пара пунктов меню, состояние которых не сохраняется.
avshap: (Default)
Невыразимо прекрасное:
Предлагаю рассмотреть две конфигурации Клиент-Сервер с 3-х звенной структурой. Первый вариант с SQL базой данных Oracle, а второй без SQL базы данных, но с обычным BDE (Borland Database Engine – движок баз данных Borland). В обоих вариантах используется сервер приложений на DLL (Dynamic Link Library – библиотека динамической компоновки), которая в обоих случаях генерируется автоматически.

В результате мы получаем, что вариант без SQL базы данных выполняет расчёт на порядок быстрее, чем с SQL базой данных. Это и понятно, т.к. работа с SQL идёт через интерпретацию, а с BDE имеем прямой доступ к базе данных. Тогда и напрашивается вопрос: А зачем она нужна эта SQL база данных? Какой мы имеем выигрыш, её использую? Абсолютно никакого.
via [livejournal.com profile] plumqqz
avshap: (necron_pic)
CEDET/Semantic. В теории — работает. На практике, при попытке использовать его для кросс-компилируемого кода быстро нарываешься на то, что настроить его можно исключительно с помощью упорин-форте EDE.

Irony mode. Не работает вообще. Даже на хелловорде изображает додревний анекдот про pkunzip.zip.
avshap: (necron_pic)
Но прикручивать к нему элементы IDE (проверка синтаксиса, автодополнение, вот это вот всё) лучше не надо (особенно если речь идёт не о лиспообразных языках, а о чём-то вроде C). Потому что «заебёшься» пишется с мягким знаком.
avshap: (necron_pic)
После первых же строк из «Installing rust» мгновенно решил развидеть обратно:

curl -sf -L https://static.rust-lang.org/rustup.sh | sh
avshap: (necron_pic)
1. При помощи git merge и доработки напильником запихнул таки core patch в sunxi-3.4.103. И оно даже вроде сконпелировалось. Вот если бы ещё и работало…
2. Рассматривая труды предшественников (времён 3.4.24 и 3.4.29): шестимегабайтный дифф «весь xenomai» вместо аккуратного патча для добавления нужной функциональности в ipipe это, конечно, оригинально…
2,5. Накой хрен надо было делать весь этот мартышкин труд «а-ля патч для AT91», вместо того, чтобы сделать ещё одну clock_event_device и доработать напильником уже имеющиеся процедуры? Пробовал, но где-то подорвался, что-ли?
avshap: (necron_pic)
Как оказалось, не то в Аллвиннере, не то уже в linux-sunxi, активно копипастили всё что плохо лежало бэкпортили из ветки 3.5. В результате ни один патч от xenomai не подходит и простыми косметическими правками это не правится…
avshap: (necron_pic)
Попробовал накатить RT_PREEMPT. Накатилось и даже собралось. Но при загрузке ядро успешно валится в бесконечное «Unable to handle kernel paging request at virtual address» (изредка разбавляемое «Unable to handle kernel NULL pointer dereference at virtual address»). Похоже проще всё-таки плюнуть (на ёблю с портированием драйверов и 3.16 в 3.10 меня гарантировано не хватит) и думать где же всё-таки найти место для полноразмерной ATX материнки…
avshap: (necron_pic)
Попытка вкрячить xenomai на кубодоску успешно провалилась. Потому как патч для ядра расчитан исключительно на додревнее 3.4.6 (в теории есть ещё патч для 3.8.3, но на практике это даже не смешно…) и при попытке натянуть его на 3.4.90 быстро натыкаешься на то, что дифф для mmu_context.h (и всё с ним связанное) придётся переписывать заново.
avshap: (sad_pic)
Что gEDA, что KiCAD для работы не пригодны. Если под работой понимать не «хуяк, хуяк и в журнал Пагуо», а именно работу, с соблюдением ЕСКД.

P.S. Впрочем, в случае с gEDA ещё можно что-то сделать, после обработки напильником кода и ценой потери совместимости.
avshap: (sad_pic)
Написать с нуля новый API, вместо нынешнего интерпретатора Схемы, для разбора конфигов в libgeda я банально не осилю.
avshap: (necron_pic)
Кусок из функции x_print_draw_page в gschem/src/x_print_c:
  /* Draw all objects and cues */
  for (iter = (GList *) s_page_objects (page);
       iter != NULL;
       iter = g_list_next (iter)) {
    eda_renderer_draw (renderer, (OBJECT *) iter->data);
  }
  for (iter = (GList *) s_page_objects (page);
       iter != NULL;
       iter = g_list_next (iter)) {
    eda_renderer_draw_cues (renderer, (OBJECT *) iter->data);
  }

Локи, ну вот нахуя?!(ц)

Profile

avshap: (Default)
avshap

June 2017

S M T W T F S
     123
45678910
11121314151617
18 192021222324
252627282930