GamePad64
0

Ну, то есть, поддержка S3 — это всего лишь заслуга RADOS Gateway, который поставляется в комплекте с Ceph.

GamePad64
+1

В системах с systemd достаточно в флагах монтирования в fstab прописать noauto,x-systemd.automount, и монтирование будет делаться при первом обращении к директории.

GamePad64
0

Нет, оно там гвоздями к винде приколочено, разрабатывалось без оглядки на другие ОС (а жаль, имхо, оно лучше, чем conan)

GamePad64
0
привет, biicode

Есть такой проект, от создателей biocide: conan.io. Вроде интересен сам по себе: не зависит от системы сборки, неитрузивный, можно поднимать локальный репозиторий. Но репозиторий почти пуст, коммитят в них полтора человека, да и те — авторы проекта. Непонятно, будет он жить, или нет (вроде, обещают интеграцию с Artifactory), но с технической точки зрения — штука интересная.

GamePad64
0

В bittorrent оно так же решено через DHT.

GamePad64
+1

Нет, с гитхабом было всё в порядке. А вот нас от гитхаба закрыл роскомнадзор.

GamePad64
+5
Если у вас уже есть электронное удостоверение – как именно оно помогло вам?

Никак. Деньги на внедрение УЭК и электронных паспортов успешно распилили, а толку никакого.

GamePad64
0

О, icons8. Пользуюсь этими иконками уже давно в своём маленьком opensource-проекте.

GamePad64
0

Не думаю, что у этих продуктов основной рынок сбыта это США. Патенты там были американские.

GamePad64
0

С патентами на эллиптическую криптографии уже всё нормально?

GamePad64
+1

Да, там зачастую одни и те же библиотеки под капотом. Библиотеки зачастую пишутся так, чтобы функции были доступны через FFI. Тогда их можно использовать из других языков, создавая специфичную для данного языка, обёртку.

GamePad64
+1

Поставьте себе Deluminate в Chrome или Owl в FF.

GamePad64
+2

Когда программист изначально пишет код, он закладывает в него некий запас гибкости. Эта гибкость — это ресурс, который можно использовать в критичных ситуациях, подобных этой. При этом, не надо тратить его попусту, иначе потом придётся делать долгий и дорогой рефакторинг.

GamePad64
+2

Я, наоборот, надеюсь, что разучатся перекидывать на мобильный сайт (неюзабельный) и научатся адаптивной вёрстке.

GamePad64
0

Есть такой сайт, как раз для тех, кому не нравятся кулинарные рецепты на нечёткой логике: http://www.cookingforengineers.com/

GamePad64
0

Docopt однофайловый, можно просто скопировать к себе в проект.

GamePad64
0

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

GamePad64
+3
А почему вы решили, что в WhatsApp вся история хранится на серверах?

А почему вы решили обратное? Потому что разработчики вам так сказали?


WhatsApp chat histories are not stored on our servers;

Я не знаю, что он там пересылает через TLS-соединение, не могу прочитать исходный код, у меня даже описания протокола нет.

GamePad64
+1
Нет, не состарился. В uTorrent зашиты адреса router.utorrent.com:6881 и router.bittorrent.com:6881. Они работали раньше, работают и сейчас.
GamePad64
+1
Для полноценного использования DHT не нужны раздачи вообще. DHT в современных BitTorrent-клиентах получает начальный список узлов через так называемые DHT-роутеры, адреса которых защиты внутри клиента. Я, как разработчик BitTorrent-клиента, ставил эксперимент с двумя клиентами, которые искали друг друга через DHT и у которых была только одна раздача (причём, только у них) и 0 узлов в DHT. После начала, они наполнили хеш-таблицу за минуту и нашли друг друга.
GamePad64
0
Браузер при подключении к WebSocket-серверу передаёт заголовок «Origin» c доменом. WebSocket сервер просто отклоняет все соединения, у которых поле Origin неправильное.
GamePad64
+2
Точнее, игровые движки пишут на C++. А логику игры могут уже писать на чём угодно, от JS до Lua.
GamePad64
0
На самом деле, для обнаружения узлов можно использовать открытые BitTorrent-трекеры и сеть Mainline DHT (которая основана на Kademlia). Тогда свой сервер анонсов писать не придётся. И клиент будет подключён к той же DHT-сети, что и торрент-клиенты (которых много), таким образом имея доступ к огромной хеш-таблице и, в свою очередь, помогая работе DHT.

Я для своего полностью распределённого приложения инкрементальной синхронизации файлов для service discovery использовал именно такой подход, работает замечательно.
GamePad64
+8
То, что идеальный код, использующий new/delete будет работать быстреe авто-оберток, думаю очевидно.

Тот же unique_ptr соберётся в точно такой же машинный код, что и new/delete.


0xXX неизбежно выделится в новый язык

Да выделился уже: D. Просто он почти никому не нужен.

GamePad64
–1

Там давно была достаточно мутная история, баг в проверке пароля, когда можно было залогиниться под любым юзером введя любой пароль. И все файлы были доступны в открытом виде. Пруфы почему-то не гуглятся, но скандал по этому поводу был громкий.

GamePad64
0

Но оно тоже с закрытым кодом. Шило на мыло, получается.

GamePad64
0

Вот, кстати, хорошая C++-библиотечка для реализации WebSockets: WebSocket++ Основана на boost.asio, умеет многое, и очень расширяемая.
Ещё в Qt есть QWebSocket. Для простеньких приложений самое то, но не полностью поддерживает RFC6455 (например, не умеет Subprotocol).

GamePad64
+3
Модули бы могли частично решить эту проблему, но Комитет тянет кота за яйца, откладывая реализацию не неопределённый срок.
GamePad64
0
Информацию брал из EFF Secure Messaging Scorecard. Напритив Telegram в колонке про аудит стоит галочка.
GamePad64
+1
Эти все «end-to-end» шифрования всего лишь дают ложное чувство безопасности, и всё. Пока нет открытого кода, пока не было публичного аудита безопасности, всё это шифрование = буллшит.

Хотя, справедливости ради, у Telegram было и то, и другое. Тут надо обращать внимание на то, можно ли поставить свой сервер (вместе с авторизацией на нём). В этом плане лучшие — tox и jabber.
GamePad64
0
Ещё есть такая библиотечка, SOCI. Это не ORM, но на ней удобно написать свою.
GamePad64
+2
PNG можно через pngcrush прогнать, станет компактнее без потери качества. Есть даже онлайн-сервисы для этого.
GamePad64
–1
Я не знаю способа добавить байт в начало файла без перезаписывания всего файла. В любой файловой системе добавление байта в начало файла будет перезаписывать файл целиком.
тот же rsync работает с truecrypt контейнерами.

Попробуйте записать в контейнер файл размером в 2Гб, передать на другой узел, приписать 1 байт в начало 2Гб-файла и запустить rsync. Будете приятно удивлены тем, что rsync исправно передаст около 2Гб. Всё из-за того, что все блоки файла будут перезаписаны, у данных изменится смещение (а смещение является параметром шифрования в режиме XTS). Шифротекст блоков изменится. Кольцевой хеш (weak-хеш, в терминологии rsync) тоже полностью изменится. Все блоки изменённого файла будут переданы заново. Из-за одного байта, да.
Блоки контейнера, на которых лежат другие файлы переданы не будут (данные не изменятся, их смещение не изменится, а значит, шифротекст тоже не изменится)
GamePad64
0
Кольцевой хеш тут использовать не получится по ряду причин. Основная причина — вычислять кольцевой хеш нужно до шифрования, потому что после шифрования в режиме XTS при добавлении байта в начало блоки сдвинутся, шифротекст блоков поменяется и кольцевой хеш не совпадёт.
С криптоконтейнерами, кстати, наоборот сложнее, так как при добавлении символа в начало файла внутри контейнера перезапишутся все блоки изменяемого файла, так как для добавления байта в начало файла, файл нужно перезаписать полностью (по определению).
Вообще, задача с дельта-кодированием, шифрованием и добавлением байта в начало файла — очень интересная. Мне приходилось решать её недавно, скорее всего, скоро напишу статью на хабре.
GamePad64
0
Это у вас не совсем дельта-кодирование получается. Если хотя бы один байт в начало файла, то перезапишется файл целиком и дельта-кодирование работать не будет.
GamePad64
0
Насколько я понимаю, тут используется режим XTS. Шифруется весь контейнер целиком (то есть, не пофайлово). Контейнер разбивается на блоки размером в 16 байт (= размер блока AES). При изменении этого блока меняется только он.
GamePad64
0
Шифрование — это инструмент. В некоторых ситуациях дельта-кодирование вполне оправдано.
GamePad64
0
Скорее всего имеется в виду WPS-кнопка.
GamePad64
0
На boost.asio можно особо не напрягаясь написать асинхронный неблокирующий сервер.