Архив за 31 января 2020 - 5

Пятничным вечером, проглядывая исходники с Reference Source, случайно наткнулся на подозрительно выглядящий комментарий:

Цензура в исходном коде .NET Framework - 1

Некоторые слова заменены на 4 тире. Ну ладно, иногда разработчики действительно бывают весьма экспрессивны и не стесняются резких выражений… Но при всем желании я не смог вспомнить ни одного ругательства, которое бы подошло здесь по смыслу. Откуда же оно взялось?Читать полностью »

Прошлым летом я участвовал в Google Summer of Code — программе для студентов от компании Google. Ежегодно организаторы отбирают несколько Open Source-проектов, в том числе от таких известных организаций, как Boost.org и The Linux Foundation. Для работы над этими проектами Google приглашает студентов со всего мира. 

Как участник Google Summer of Code 2019 я делал проект в рамках библиотеки Alga с организацией Haskell.org, занимающейся развитием языка Хаскелль — одного из самых известных функциональных языков программирования. Alga — библиотека, представляющая типобезопасное представление для графов в Хаскелле. Она используется, например, в semantic — библиотеке компании Github, строящей по коду семантические деревья, графы вызовов и зависимостей и умеющей их сравнивать. Мой проект состоял в добавлении туда типобезопасного представления для двудольных графов и алгоритмов для этого представления. 

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

GSoC 2019: Проверка графов на двудольность и трансформеры монад - 1
Читать полностью »

Знакомимся с Web Animations API - 1

Доброго времени суток, друзья!

Представляю Вашему вниманию перевод статьи Charlie Gerard «Exploring the Web Animations API».

Знакомимся с Web Animations API

Веб API постоянно эволюционируют. Некоторые из них, такие как Console или Canvas, хорошо поддерживаются всеми браузерами, другие по-прежнему находятся на стадии разработки.

Одним из API, находящимся на стадии разработки, является Web Animations API или WAAPI. Несмотря на то, что первый вариант спецификации был опубликован в 2012 году, а сам API впервые реализован в браузерах Firefox и Chrome в 2014 году, я узнала о нем совсем недавно (я тоже раньше о нем не слышал — прим.пер.).

Он позволяет разработчикам работать с CSS анимацией средствами JavaScript. Его синтаксис похож на синтаксис традиционной CSS анимации, но имеет некоторые особенности, которые облегчают разработчикам создание и изменение анимации.

Давайте рассмотрим этот API на простом примере.
Читать полностью »

Поскольку WireGuard станет частью будущего ядра Linux 5.6, я решил посмотреть, как лучше всего интегрировать этот VPN с моим LTE-маршрутизатором/точкой доступа на Raspberry Pi.

Оборудование

  • Raspberry Pi 3 с модулем LTE и публичным IP-адресом. Здесь будет VPN-сервер (далее в тексте он называется edgewalker)
  • Телефон на Android, который должен использовать VPN для всех коммуникаций
  • Ноутбук Linux, который должен использовать VPN только внутри сети

Каждое устройство, которое подключается к VPN, должно иметь возможность подключаться ко всем другим устройствам. Например, телефон должен иметь возможность подключаться к веб-серверу на ноутбуке, если оба устройства являются частью сети VPN. Если настройка получится достаточно простой, то можно подумать о подключении к VPN и десктопа (по Ethernet).
Читать полностью »

Компания Amazon.com опубликовала ответ за четвертый квартал 2019 года и год в целом. Представляя финансовые показатели, крупнейший онлайновый магазин, уделяющий большое внимание современным технологиям, отметил, что за последние двенадцать месяцев операционный денежный поток увеличился на 25% — с 30,7 млрд долларов до 38,5 млрд долларов, а свободный денежный поток — на 33%, с 19,4 млрд долларов до 25,8 млрд долларов.

Новые часы Apple Watch могут получить улучшенное колёсико управления Digital Crown

Управление США по патентам и торговым маркам (USPTO) обнародовало патентную заявку Apple на новое техническое решение для «умных» наручных часов.

Документ озаглавлен «Часы с оптическим сенсором для пользовательского ввода» (Watch with optical sensor for user input). Заявка на патент была подана в июле прошлого года, однако опубликован документ только 30 января.

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

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

АМА с Хабром #16: пересчёт рейтинга и багфиксы - 1
Читать полностью »

Гигантских человекоподобных роботов и даже их постановочный бой мы уже видели. Но как на счёт не менее огромного, но совершенно иного робота?

Джонатан Типпет (Jonathan Tippett) из Канады потратил год на постройку и ещё три года на тестирование того, что он назвал Prosthesis — огромного робота, напоминающего робота-паука из фильма Wild Wild West.

Роскомнадзор возбудил административное производство в отношении Facebook и Twitter - 1

Согласно сообщению Роскомнадзора, 31 января 2020 года регулирующий надзорный орган в сфере СМИ, массовых коммуникаций, информационных технологий и связи возбудил административное производство в отношении компаний Facebook, Inc и Twitter, Inc. Каждой из них грозит штраф от одного до шести миллионов рублей.
Читать полностью »

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

Сердце комплекта — репитер, или по-другому повторитель, усилитель сигнала. Он принимает и усиливает сотовый сигнал, полученный от внешней антенны.

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

Слабый сигнал от базовой станции оператора улавливается внешней антенной, расположенной на улице. От внешней антенны сигнал по высокочастотному коаксиальному кабелю передаётся на репитер. Репитер усиливает сигнал и отправляет его дальше по кабелю на комнатную антенну. Комнатная антенна обменивается информацией с мобильными устройствами и отправляет сигнал в обратном направлении.

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


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