Архив за 28 декабря 2015 - 5

Околоайтишные подарки из настольных игр - 1

Привет!

Пока ещё есть время до праздников, хочу показать вам несколько настольных игр, в которые можно играть в околоайтишной компании на вечеринку. Или просто так.

Осторожно, трафик.
Читать полностью »

Читать полностью »

Родился первый в мире щенок-клон погибшего из-за болезни пса - 1
Это Дилан, умерший в июне пес из Великобритании

Супружеская пара из Великобритании не пожалела 67 тысяч фунтов стерлингов (около 100 тысяч долларов США) на клонирование своего, уже умершего, пса. Похоже, пара не жалеет о своем поступке, поскольку на днях от суррогатной матери родился щенок — клон питомца. Любимый боксер парочки скончался из-за опухоли в мозге.

Клонированием занялась компания Sooam Biotech Research Foundation, которая относительно давно предлагает свои услуги по клонированию питомцев. На данный момент это единственная такая лаборатория в мире.
Читать полностью »

Новый год на носу и пора запланировать участие в интересных конференциях. Коллеги из Mail.ru уже несколько лет подряд делятся обзором российских событий (вот список на 2015 год, ждем аналогичного обзора на 2016), а я решил пройтись по зарубежным.

11 лучших зарубежных девелоперских конференций в 2016 году - 1

Почему импортные конференции? Российские тоже очень интересны, но иногда хочется совместить приятное с полезным: не только послушать умных людей и наладить новые связи на профильных для нас рынках США и Западной Европы, но и посмотреть какой-нибудь приятный город.
Читать полностью »

Издание vc.ru обратило внимание, что в приложении вызова такси Gett пропал самый дешёвый тариф «Эконом +». Компания объяснила изданию, что тариф отключён временно, для удобства пассажиров:

Чтобы ожидание машины в эти предпраздничные дни не оказалось слишком долгим и пользователи не испытывали неудобств, тариф «Эконом +» временно был ограничен. Сейчас пользователям доступен «Комфорт», тарификация в котором начинается от 50 рублей, а время подачи составляет 5-7 минут.

Тремя днями ранее конкурирующие Яндекс.Такси Читать полностью »

Российский союз правообладателей требует от российского подразделения Hewlett-Packard 114 миллионов рублей. РСП подал 10 декабря соответствующий иск в арбитражный суд Москвы. Предварительное судебное заседание состоится 19 февраля 2016 года, карточка дела доступна на сайте.

Читать полностью »

На сайтах коллективного финансирования встречаются самые разные проекты — и достаточно сложные, как одноплатный микрокомпьютер JaguarBoard на процессоре Intel Atom Z3735, и совсем простые, как кубик для настольных игр Luma Dice, показанный на иллюстрации.

Кубик Luma Dice умеет экономить электроэнергию

Читать полностью »

Данная статья появилась с целью обобщить довольно длительные попытки собрать удобное окружение для работы над проектами. Несомненно, существует множество сервисов готовых предоставить схожую функциональность, но их использование не всегда удобно и по различным причинам, может быть неприемлемо. Если возникла такая ситуация, надеюсь, представленная в статье конфигурация окажется полезной.

Окружение разработки: Redmine + Git + ownCloud - 1

Сценарий использования данной связки, можно кратко описать следующим образом:

  • Файлы проекта хранятся в Git репозитории;
  • Репозиторий содержит настройки, исходники и другие файлы проекта, наличие которых удобно и допустимо в коллективном репозитории;
  • В корне расположена директория cloud, исключенная в .gitignore, в которую через WebDAV монтируется ownCloud папка, для остальных файлов;
  • Содержимое Git репозитория отслеживается в системе управления проектами Redmine.

План развертывания системы включает настройку следующих сервисов:

  1. OpenLDAP — единая учётная запись для всех сервисов;
  2. Redmine — запуск в Docker контейнере, создание и привязка Git репозитория, LDAP аутентификация;
  3. NGINX — доступ к Git репозиторию через HTTPS и LDAP аутентификация;
  4. ownCloud — LDAP аутентификация и монтирование папки через davfs2.

Читать полностью »

Принятый в Китае закон обязывает провайдеров предоставлять доступ к зашифрованным аккаунтам пользователей - 1

Новый антитеррористический закон был принят китайскими властями несмотря на сопротивление большого количества крупнейших телекоммуникационных компаний и противодействие Вашингтона. Среди прочих требований, закон обязывает телекоммуникационные компании «предоставлять техническую поддержку и помощь, включая дешифрование». китайским властям. Как сообщается, сделано это для того, чтобы помочь Китаю вовремя локализовать и обезвреживать группы террористов.

Этот закон не обязывает компании предоставлять ключи шифрования властям. Но доступ к аккаунтам пользователей и всей переписке пользователей, в случае подачи соответствующего запроса — да. Такая «помощь» со стороны компаний рассматривается властями, как один из методов борьбы с терроризмом.
Читать полностью »

Есть у нас одно .NET-приложение, которое умеет загружать и использовать плагины. Плагины — дело хорошее. Можно функционал расширять, можно оперативненько обновлять их со своего сайта, можно даже юзерам дать SDK и позволить писать свои плагины. Мы всё это и делали. Наши плагины представляли собой обычные .NET-сборки, которые нужно было подкинуть в определённую папку, откуда основное приложения их загружало и использовало. Ну, вы, наверное представляете как — Assembly.Load(), дальше ищем класс, реализующий необходимый интерфейс, создаём объект этого класса и т.д. Всё это работало давно, стабильно и ничто не предвещало беды. Но вдруг в какой-то момент появилась необходимость создать плагин, состоящий из нескольких файлов. В связи с этим было решено считать плагином не просто .NET-сборку (1 файл), а zip-архив, в котором может быть как одна сборка, так и несколько файлов. В связи с этим пришлось научить билд-сервер паковать плагины в архивы, а основное приложение — разархивировать их в нужное место. В общем-то задача на 10 строк кода. Ничто не предвещало беды. И вот скачиваю я с билд-сервера собранный архив с плагином, разархивирую его в нужную папку, запускаю приложение, и… не работает! Стоп, как не работает? Это ведь тот же плагин!

Дальше — больше. Прошу проделать ту же самую процедуру моего коллегу, на его компьютера. Он пробует — и у него всё работает! Но как же так? Одна версия приложения, один и тот же файл с билд-сервера. Какая-то разница в окружении? Сажусь за компьютер коллеги, пробую ещё раз — не работает! Он в этом время пробует на моём — работает! То есть получается, что файл «помнит», кто его разархивировал! Зовём третьего коллегу понаблюдать этот цирк. Последовательно, на одном и том же компьютере, по очереди делаем одни и те же действия: скачиваем архив с плагином, разархивируем в нужную папку, запускаем приложение. Когда это делаю я — программа не видит плагин, когда это делает коллега — всё работает. На третьем круге этих интересных экспериментов вдруг замечаем разницу в действиях: я разархивировал плагин стандартными средствами Windows, а мой коллега — с помощью 7-Zip. И то и другое вызывалось нами из контекстного меню архива, так что разницу в клик по не тому пункту вначале никто не замечал. Ну ок. Получается, файл, извлечённый из zip-архива с помощью 7-zip, отличается от того же файла из того же архива, извлечённого с помощью стандартного архиватора Windows?

Кстати, пока вы не открыли статью под катом, ответьте-ка сами для себя на вопрос, может ли такое быть, что содержимое файлов валидного zip-архива при разархивации 7-zip и через проводник Windows будет разным?
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js