Как пользоваться сабжем? Как я понимаю, чтобы послать валидный пакет, надо считать его контрольную сумму. А она считается вместе с заголовками пакета ip, который недоступен.
python-pcs решает эту проблему через libpcap формируя пакеты на уровне ethernet, но это извращение.
В исходниках линуксного ping6.c они включают опцию IPV6_CHECKSUM и сетевой стек всё считает сам, что несомненно логично. Но как её включить в python’e?
Кто как делает сабж в больших проектах? Имеется огромная система, которая содержит сотни модулей разработанных клиентом, которые в свою очередь используют другие сотни библиотек 3rd party.
Для того чтобы при разработке не было полного хаоса, для 3rd party на глобальном уровне выставляются интервалы версий вида [X.y;X+1.0), чтобы использовались всегда самые новые минорные версии, которые не ломают совместимость.
Вопрос, как обеспечить воспроизводимые на уровне версий модулей и библиотек 3rd party сборки релизов?
Теоретически это должно решаться с помощью mvn versions:resolve-ranges, но для наследованных версий этот метод не работает. Баг https://github.com/mojohaus/versions-maven-plugin/issues/298 открыт ещё в 2018м, но на него нет никакой реакции. Видимо, люди делают воспроизводимые сборки по-другому.
Ситуация такая. Есть некое веб приложение от IBM, использующее dojo для генерации страниц. И есть фреймворк для тестирования этого приложения (который использует Selenium).
Теперь нужно протестировать сам фреймворк. Для этого страницы приложения сохраняются статически, и вызываются потом юнит-тестами.
К сожалению, страницы довольно сложные (100K+ строк кода) и если их сохранить в Firefox -> Save Page As -> Complete Page и восстановить - выглядят зачастую не так как в онлайне.
Нету ли какого-нибудь инструмента, который бы при сохранении все вызовы веб-сервисов заменять содержимым последнего вызова? Чтобы сохраненная страница была полностью автономна?
Моё гугл-фу тут слабовато: находятся результаты как тестировать с помощью селениума, а мне по существу нужно тестировать сам селениум с обвязкой.
JDK 10.0.1, чойта я не вижу ни jmod, ни jar для derby. Не могли же её молча выкинуть? И ничего не нагугливается. Я что, один пользовался jar'ом из JDK, остальные апачевский пользовали?
Марк Руссинович объявил о выпуске для ОС Linux утилиты ProcDump из пакета Sysinternals.
Утилита может быть полезна разработчикам прикладных программ. Она служит для создания дампов приложений (файлов core.*) при превышении указанного порога потребления процессорного времени.
Используя дампы, созданные утилитой ProcDump, разработчик может увидеть чем именно была занята его программа в момент чрезмерного потребления ресурсов процессора.
Утилита распространяется под свободной лицензией MIT.
Хакеры Максим Горячий и Марк Ермолов сообщили о получении полного доступа к сервисному процессору Intel CSME через USB DCI. Ранее они уже демонстрировали возможность запуска неподписаного кода на сервисном процессоре.
В августе Максим Горячий публиковал код, который по всей видимости служит для перманентного отключения процессора (защита от воровства).
Занимаюсь видеобиосом для PowerPC, захотел проверить код на обычном писюке.
План такой: вытащить ПЗУ, загрузить свой биос (он на Форте, поэтому платформо-независим) и увидеть, что видюха проинициализирована.
При наличии ПЗУ мой биос всё инитит, устанавливает правильный режим.
При отсутствии - пищит, но загружает мой биос. Экран остаётся чёрным. Отсутсвует hsync.
До того как начну копаться в своём биосе - хочу уточнить, что это в принцпипе работает. Там же какие-то заморочки с legacy портами isa. Может, если основной биос не находит видеобиоса, то видюха вообще потом не видна? Как в случае нескольких видюх - когда биос отключает все кроме одной (речь про старые биосы и карты до SLI и Crossfire).
Кто-нибудь пробовал, например, Xы загрузить без видеобиоса? Ну, или оффтопик какой?
Неохота с нуль-модемным кабелем возиться, чтобы отлаживать.
Продолжаю разбирать старый хлам.
Стояла в компе (Tualatin 1.3Ghz) видюха Matrox Millenium 450.
Потомку захотелось запустить на этой машинке minecraft.
Minecraft запустился, скорость 5 FPS. Смотрю - валяется GeForce2 Ti. Согласно википедии она должна быть существенно быстрее Matroxа в OpenGL. Установил закрытые legacy дрова (впервые в жизни), glxinfo говорит, что Direct rendering on и на вид, вроде всё включено. В логах - никаких ошибок. glxgears показывает ~5000 FPS.
А вот скорость minecraft теперь упала до одного кадра в 10 минут. Я даже не смог войти в меню options, чтобы посмотреть, что можно отключить.
Это так и должно быть? Как я понимаю, matrox использует софтовый рендеринг? И как же он быстрее? Может, надо было другую версию дров взять? Может, в legacy они отключили что-то?
Может, открытые дрова лучше на старых картах? Есть у кого Geforce2, или все выкинули?
Хотябы tuxracer на ней должен без тормозов идти? Всё-таки в ней 32мега памяти вместо 8 в матроксе.
Имеет ли смысл сабж?
Пытаюсь собрать комп для старых квестов. Нашёл в кладовке AWE32. Под досом - работает, но но под ДОСом, как минимум в некоторые квесты на этой машинке играть невозможно: P3-1300 для них быстроват.
Соотвественно, можно поставить Linux, там есть dosbox и scummvm. Но там есть и pulseaudio. Будут хардверные фичи AWE32 использоваться, или он с pulseaudio превратится просто в тормозящую isaшную звуковуху, и лучше ставить SB Live?
ScummVM его не цепляет - не находит файла с ресурсами (что неудивительно, поскольку в списке поддерживаемых его нет). FreeSCI 0.6 - 0.6.4 вроде цепляют, но далеко не уйти - не работает инвентарь. Вроде, в инете пишут, что обычный Space Quest 1 vga с FreeSCI работал - похоже, у русской версии есть своя специфика.
Компания Oracle объявила о выпуске дистрибутива Linux для машин с архитектурой sun4v.
Релиз основан на Oracle Enterprise Linux 6 (который, в свою очередь, основан на RHEL 6) и стандартном ядре 4.1.
Релиз является полностью 64х-битным и может быть установлен как непосредственно на сервер (bare metal), так и на Oracle VM for SPARC (ранее известную под названием Logical Domains).
Поддерживаемые модели CPU: UltraSPARC T1-T3, SPARC T4, SPARC T5, SPARC M5 и Fujitsu SPARC64-X.
Имеется скрипт (не мой), который ежедневно бэкапит несколько терабайт данных. Объёмы данных потихоньку росли, и выяснилось, что сейчас этот скрипт полностью выкидывает из дискового кэша сотню гигов кэша приложения и приложение начинает нещадно тормозить.
Попробовал запустить программку nocache. Но у неё на здешнем сервере даже тесты не проходят. Сервер - RHEL 5.
Почитал я интернеты и офигел: In kernels before 2.6.18, POSIX_FADV_NOREUSE had the same semantics as POSIX_FADV_WILLNEED. This was probably a bug; since kernel 2.6.18, this flag is a no-op.
Можно ли в RHEL 5 как-то организовать бэкап данных без смс и регистрации загаживания кэша?
Рамы до терабайта клиент добить пока что не может.
Возникло странное желание запустить одну маленькую (~400К), но закрытую прогу для обычного линукса, на телефоне с андроидом (SGS3 c CM11).
В принципе, понятно, что надо сделать: собрать qemu-linux-user статически и зафигячить chroot с минимальными библиотеками для x86.
Поскольку под андроид раньше не собирал, погуглил, но не нашёл, чтобы хоть кто-нибудь собирал user mode qemu для Android.
Ну, думаю, ладно - попробую сам. Но нынешнему QEMU нужен glib, а чтобы собрать glib нужен pkgconfig, а чтобы собрать pkgconfig - нужен glib. Это всё, конечно, решается, но возни много.
И в общем, решил я сначала спросить: может, всё проще делается? Или, может, наоборот, вообще не делается из-за ограничений Android? Например, под линуксом/x86_64 у меня статически собраный бинарник qemu имеет размер 68 мегов, это уже дофига, а сборка под arm наверняка ещё побольше получится.
Собственно вот: Solaris 9, Oracle 9i, Netscape Navigator идущий в наборе с Солярой и core dump от Internet Explorer 5. После поиска по интернетам, нашёлся один человек, который с помошью специалистов из Microsoft смог запустить IE под Solaris 9. Для этого нужно какое колдунство с его файлами настроек в домашней директории. Но какое, он не написал, да и сайта его уже больше нет. Если тут кто поделится - буду рад.
Хотел обзавестись надёжным браузером, который не возьмёт ни один вирус и при этом не lynx/links, но пока что не удалось. Ирония судьбы в том, что Netscape Navigator падает на своей домашней странице, blogspot показывает кое-как, но ЛОР - могуч.
Олдфагам - приятных вырвиглазных ностальгических воспоминаний. ;-) Если есть ещё какие идеи, что можно погонять в качестве теста на Соляре - не стесняйтесь.
Школоте - ну не было у меня желания портить буханку хлеба, так что проходите дальше.
Откуда берётся стек в программе выполняющейся без ОС (загрузчике ОС, например)?
Насколько я себе представляю, его нужно создавать самому. Или есть какая-то магия gcc?
Пример из практики, код NetBSD.
int stack[8192/4 + 4] __attribute__((__aligned__ (4), __used__));
А в соседнем файле,
int devopen() {
...
/* allow disk blocks up to 65536 bytes */
char buf[65536];
Локальный массив, по стандарту, создаётся на стеке. Но стека-то столько нет. В результате, у меня buf наползает на код. И как только что-то большое записывается в buf - наступает конец. Однако, есть куча сообщений в сети, что этот код работает. Но, чёрт побери, как?
Имеется большой проект, в котором частенько чего-нибудь ломают. Пишу в своей локальной ветке модуль для этого проекта, который, соответственно, не работает, если в основном проекте что-то сломали.
Процедура поиска бага выглядит таким образом:
git bisect
(увидеть номер тестируемой версии)
git checkout my_branch
git checkout -b testing
git rebase my_branch (тестируемая версия)
(проверить, работает ли)
git branch -d testing
git checkout (тестируемая версия)
git bisect good/bad
(и т.д)