Сообщения asaw
Linux-way победил: Skype для macOS теперь тоже основан на Electron
Electron 1.8.1
Copyright (c) 2013-2017 GitHub Inc.
... это вам не какое-нибудь xamarin studio и .NET.
Использование адресов 255.x.0.0/16 для overlay-подсетей в Docker
Какими отрицательными последствиями может быть чреват сабж?
Перемещено leave из development
Снова leave
Очередной раз. Как стОящая тема - www.linux.org.ru/forum/talks/13765077 - приходит leave и начинает крушить и сносить. Тебе больше всех надо? Люди стараются, формулируют мысли, пишут. А этот только всё херит. Ты не мог переместить эту тему в клуб? Какого чёрта ты здесь творишь что хочешь?
Pixelbook от Google
Google начала продажи нового Pixelbook: https://www.engadget.com/2017/10/04/google-pixelbook-hands-on/
- 8 или 16GB RAM, SSD до 512GB
- 12-дюймовый 235 ppi тачскрин с возможностью рисования стилусом
- Процессор Intel Core (i5/i7, Kaby Lake, без вентилятора), Chrome OS с поддержкой приложений Android
- 10 часов автономной работы, ультратонкий алюминиевый корпус
В общем, Линус должен оценить.
Взлом Android через WiFi
У отца телефон Sony Xperia Z3 с заводским ондроедом 6 (последнее доступное обновление) и он любит подключаться ко всяким незапароленным WiFi-сетям. После этого случаются всякие чудеса: пропадают стандартные приложения (Google Chrome, Google App, Xperia Keyboard, etc.), последний раз перестало работать приложение для отправки SMS. Кто-нибудь знает что это такое (ссылка на CVE, статья)? Не так давно была новость про уязвимость чипов Broadcom, но там такая уязвимость, что симптомы, вроде-бы, должны были бы быть другими, да и это уже должно быть пропатчено по идее. Может быть есть соответствующая уязвимость у Google Play?
NODE_ENV
Знает ли кто-нибудь из знатоков node.js что именно меняет переменная NODE_ENV во внутренностях node.js?
JavaScript и утечки памяти
Есть некоторое говноприложение на Electron 1.6.x/1.7.x. Оно при определенных условиях начинает жрать память со страшной силой. Так, что сжирает её всю. Каким образом можно запустить профилировщик памяти в главном процессе Electron? Как вообще нормально отлаживать приложения под Electron? Про https://github.com/electron/electron/blob/master/docs/tutorial/debugging-main... я в курсе — не работает вообще (https://github.com/electron/electron/issues/9401 предложенный workaround тоже не работает). v8-profiler собирается и его можно подключить, но при попытке сделать снимок программно приложение странным образом завершается.
В HP создали монстра с 160ТБ оперативной памяти — прототип ещё более внушительной машины
Система работает под управлением специальной версии операционной системы Linux, оптимизированной для работы с 2-процессорными конфигурациями на чипах ThunderX2 — втором поколении интегрированных «систем в чипе» на ядрах ARMv8-A производства компании Cavium. Внутренние коммуникации обеспечиваются с помощью фотоники и оптических интерфейсов с использованием оптического коммутационного модуля X1.
Все 160 ТБ оперативной памяти прототипа вычислительной системы проекта The Machine распределяется в системе из 40 физических узлов с интерконнектом на базе высокопроизводительного протокола обмена данными.
По мнению специалистов компании, разработанная в HPE вычислительная архитектура способна масштабироваться до практически безграничных объемов используемой памяти.
В качестве пограничного «почти неограниченного» объема памяти в компании называют предел в 4,096 йоттабайт (терабайт терабайтов).
Вычислительная архитектура класса Memory-Driven Computing ставит в центре системы не процессор, а оперативную память. Благодаря устранению неэффективности взаимодействия между памятью, СХД и процессорами, характерной для современных вычислительных систем, архитектура Memory-Driven Computing сокращает время вычислений сложных задач на порядки.
Подробнее: http://www.cnews.ru/news/top/2017-05-19_hpe_razognala_the_machine_do_160_tb_o...
PS новость делать лень, но по-моему стоит
Подключиться к X-серверу через сокет из docker
Пробросил /tmp/.X11-unix с хоста в контейнер Docker. Для порядка сделал xhost + на хосте. Запускаю в контейнере:
# ls -la /tmp/.X11-unix/
total 4
drwxrwxrwt 3 user user 102 May 17 17:40 .
drwxrwxrwt 4 root root 4096 May 17 17:22 ..
srwxrwxrwx 1 root root 0 May 17 17:37 X0
# DISPLAY=unix:0 xclock
Error: Can't open display: unix:0
Что за WTF? И главное - как это отлаживать?
UPD:
# socat unix-connect:/tmp/.X11-unix/X0 stdout
2017/05/17 18:52:33 socat[5606] E connect(5, AF=1 "/tmp/.X11-unix/X0", 19): Connection refused
Tor в этой стране
Многие, наверное, уже слышали эту историю: «доблестные» органы схватили преподавателя математики и с третьего раза засадили его в СИЗО. Но, как оказывается, это связано с Линуксом:
В основу обвинений легли записи на форуме для системных администраторов sysadmins.ru («Сисадмин.ру») пользователя по имени Айрат Баширов. Он создал тему «Требуем системных изменений в стране!» и оставил несколько записей, которые правоохранительные органы расценили как призыв к организации массовых беспорядков и к терроризму. Следственный комитет считает, что Богатов использовал «серверы, находящиеся на территории иностранных государств», чтобы замести следы. Одновременно обвинение утверждает, что информация размещалась с IP-адреса Богатова. По словам адвоката, записи были выложены с нескольких IP-адресов — и лишь один из них принадлежал Богатову. Мать математика утверждает, что ее сын в момент публикации записи шел с женой домой из магазина.
Факты, добытые следователями, могут не противоречить словам адвоката и матери Богатова, если Айрат Баширов, которого хотели поймать правоохранительные органы, пользовался анонимной сетью Tor. Эта сеть создает зашифрованный канал связи с использованием нескольких случайным образом выбранных серверов и скрывает настоящий IP-адрес пользователя. Владелец сайта видит вместо него IP-адрес exit node — выходного узла Tor, последнего сервера в цепочке создания анонимности. Всего сейчас в сети Tor чуть больше семи тысяч узлов, из них лишь около 900 являются exit node.
Один из таких exit node, по всей видимости, запустил у себя дома Богатов. Об этом можно судить на основании того, что свои имя, фамилию, электронный адрес он оставил в описании этого узла. Ранее он говорил в суде, что является «разработчиком — адептом свободного программного обеспечения».
Таким образом, некий пользователь Айрат Баширов, возможно, совершенно никак не связанный с Богатовым, 29 марта 2017 года мог запустить Tor-бразуер и случайно подключиться к российскому узлу анонимной сети Tor, который принадлежал арестованному 10 апреля математику.
https://meduza.io/feature/2017/04/10/kak-arestovali-matematika-dmitriya-bogat...
Собственно, понятно, что запускать exit ноды тора в этой стране уже давно не имеет большого смысла. А теперь становится понятно, что это ещё и небезопасно...
Интересно является ли Дмитрий Богатов пользователем ЛОРа, если он адепт СПО?
UPD: https://www.reddit.com/r/debian/comments/64qat1/debian_maintainer_dmitry_boga...
UPD2: http://stackoverflow.com/users/772944/kaction https://www.gnu.org/software/thales/ http://sinsekvu.github.io/pages/about.html
UPD3: подробная статья в «Медиазоне», включая интервью с «Айратом Башировым» и даже RMS: https://zona.media/article/2017/20/04/no-church-in-the-wild
Может ли HTTP/HTTPS proxy отличить браузер от не-браузера?
...и если может, то как как это сделать в случае HTTPS?
Покадровое воспроизведение видео в браузере. Возможно ли?
Можно ли средствами HTML5 (либо WebRTC) и JS добиться покадрового разбора некоего видеопотока (закодированного H264, VP8 или ещё каким-то стандартным кодеком) с показом полученных кадров на страничке?
P.S. можно даже без покадрового разбора, а просто отображать живой видеопоток.
Node.js & Callbacks
Требуется из расширения Node.js на C++ периодически вызывать колбэк в Node.js. Оказалось, что это страшная боль в пятой точке, благодаря чудесной архитектуре v8. Насколько я понял, вызывать нодовские колбэки можно только из главного потока libuv. Если сами события, по которым должен осуществляться вызов, генерируются в других потоках, то делается это примерно так: http://stackoverflow.com/questions/36987273/callback-nodejs-javascript-functi... Вопрос: как это делать эффективно, если само событие генерируется сторонней библиотекой, при этом в качестве параметра передаётся большой массив данных, который и нужно прокинуть колбэку? Копировать этот массив и временно сохранять копию? Сторонняя библиотека, генерирующая событие, тоже с v8, но другой версии нежели в node.js. Или же можно как-то вызвать колбэк из другого потока?
Qt WebEngine и интеграция с платформой
Есть такой насущный вопрос: поддерживает ли Qt WebEngine те же самые platform plugins, что и остальная часть Qt? То есть, можно ли, например, заставить этот WebEngine отрисовываться в linux frame buffer?
То же самое про аудио: выводится ли звук через http://wiki.qt.io/Qt_5.7_Multimedia_Backends или напрямую через ALSA/PulseAudio/etc? Судя по коду, похоже, что последнее, но, может, я чего-то не заметил?
RPM и конфигурационные файлы для разных дистрибутивов
Делаю универсальный RPM-пакет для Red Hat и SuSE. Требуется для одного семейства дистрибутивов в /etc/pam.d класть один конфигурационный файл, а для другого - другой, ибо они несовместимы. Вопрос: как лучше это сделать? Делать в %postinst скрипт как-то не хочется, ибо это сломает поддержку управления конфигурационными файлами в RPM, да и не понятно как вручную отличать измененные пользователем конфигурационные файлы от неизмененных.
Тред ненависти к systemd-analyze
Как вообще из того, что выдаёт systemd-analyze, можно понять, что sysinit.target ждет своей очереди 2 минуты только потому, что в /etc/fstab указан неправильный UUID swap-раздела? Пока не наткнулся на https://ubuntuforums.org/showthread.php?t=2310935 так и не мог понять в чем дело. systemd-analyze plot рисует огромную картину, где видно, что sysinit.target ждет непойми чего, а чего оно ждет - ни из этой картины, ни из другой информации, которую выдают команды systemd-analyze (blame, critical-path), нормальному землянину понять нельзя. У меня всё. Расскажите мне, что я неправ.
Максимизировать главное окно приложения в Openbox
Можно ли как-то настроить Openbox так, чтобы он максимизировал первое окно запускаемого приложения, а с остальными (теми, которые это приложение открывает впоследствии) работал по дефолту? При этом всякие splash screens libreoffice'ов не трогал.
Что имели в виду авторы?
... вот здесь: https://github.com/neutrinolabs/xrdp/blob/master/sesman/chansrv/chansrv.c
int g_exec_pid = 0; //< глобальная переменная
int APP_CC
g_waitchild(void)
{
int wstat;
int rv;
rv = waitpid(0, &wstat, WNOHANG);
if (rv == -1)
{
if (errno == EINTR) /* signal occurred */
{
rv = 0;
}
}
return rv;
}
void DEFAULT_CC
child_signal_handler(int sig) //< обработчик SIGCHLD
{
int pid;
LOG(0, ("child_signal_handler:"));
do
{
pid = g_waitchild();
LOG(0, ("child_signal_handler: child pid %d", pid));
if ((pid == g_exec_pid) && (pid > 0))
{
LOG(0, ("child_signal_handler: found pid %d", pid));
}
}
while (pid >= 0);
}
static int APP_CC
run_exec(void)
{
int pid;
LOG(10, ("run_exec:"));
pid = g_fork();
if (pid == 0)
{
trans_delete(g_con_trans);
g_close_wait_obj(g_term_event);
g_close_wait_obj(g_thread_done_event);
g_close_wait_obj(g_exec_event);
tc_mutex_delete(g_exec_mutex);
tc_sem_delete(g_exec_sem);
g_execlp3(g_exec_name, g_exec_name, 0); //< это - просто execlp
g_exit(0);
}
g_exec_pid = pid;
tc_sem_inc(g_exec_sem);
return 0;
}
...при этом g_exec_pid больше нигде не используется. Вот и вопрос: это они таким хитрым образом от зомби избавляются или имеется в виду ещё что-нибудь?
Reentrant/async-signal-safe snprintf() для использования в обработчиках сигналов
По следам Почему может зависнуть вызов localtime()? понадобилась async-signal-safe реализация snprintf(), чтобы можно было реализовать человеческое логгирование в обработчиках сигналов. Нашел такую вот реализацию с непонятной лицензией: https://github.com/idning/safe_snprintf В принципе, что нужно, но она слишком кастрированная - не знает про ширину полей. Нашел не такую кастрированную reentrant реализацию в newlib но не понятно как её выдрать оттуда. Какие есть ещё идеи/реализации?
следующие → |