Search
Write a publication
Pull to refresh
-5
@cosmolevread⁠-⁠only

User

Send message

Конец хайпа: Что ждёт язык Scala дальше

Reading time13 min
Views25K


Вокруг языка Scala всегда было много хайпа и неоднозначных суждений.


Сейчас споры поутихли, но в твиттере появились сообщения об уходе некоторых значимых участников из компаний активно развивающих экосистему языка Scala. В связи с чем в очередной раз пошли разговоры о том, что Scala всё.


В ответ на это один из очень активных членов сообщества (Li Haoyi) описал своё видение дальнейшего пути языка Scala.


Статья у него получилась интересной, посему решил перевести её.

Перевод

Единственно верный способ загружать и скачивать файлы в Selenium тестах

Reading time4 min
Views61K

image


Selenium WebDriver создавался как кросс-платформенный инструмент для управления веб браузерами. И вот уже почти 14 лет он делает эту работу очень и очень хорошо. Впрочем, автотесты из реального мира создают ситуации, в которых Selenium бессилен. Например, по сценарию нужно загрузить или скачать какой-либо файл. После нажатия кнопки "Загрузить" или "Скачать", поверх окна браузера появляется окно файлового менеджера операционной системы к которому Selenium уже не имеет доступа. Тест останавливается.


Я слышал рекомендации использовать утилиты типа AutoIt или Sikuli для работы с такими системными окнами. Мой совет — никогда так не делайте, это порочная практика, которая приводит к нестабильным тестам:


  • Такое решение не кросс-платформенное. Приходится изобретать свой велосипед для каждой новой операционной системы.
  • Хрупкое. Нет гарантии, что скрипт будет работать корректно если на машине открыто несколько браузеров.
  • Это делает невозможным использование headless режима браузера

Меня зовут Ярослав Пернеровский. Я уже 15 лет в тестировании и около 8 лет в автоматизации. Сейчас я расскажу как нужно правильно обрабатывать такие ситуации.

Читать дальше →

Была ли жизнь до Audio CD? Программный декодер PCM

Reading time6 min
Views13K
В прошлой статье мы рассказали про динамические QR коды, которые записывали на VHS кассеты. Эпидемия PCM зацепила и меня, так что пришло время поковырять этот формат.

Захват с PCM процессора
Читать дальше →

Как SEO-оптимизация и алгоритмы Google уничтожили настоящий интернет

Reading time5 min
Views58K
Примечание от переводчика: этот текст — перевод-компиляция двух небольших англоязычных заметок, которые автор почему-то разделил на два разных текста. Я уверен, что логически они связаны и представляют некоторую ретроспективную ценность. В первую очередь тем, что оспаривают устоявшееся мнение о том, что раньше интернет был похож на бурлящий котел, первичный бульон, а сейчас он — стройный, понятный и с каждым годом становится все лучше. Конечно, местами автор перегибает палку, но во многом с ним сложно не согласиться. Текст достаточно эмоционален, что я, конечно же, попытался максимально передать и адаптировать в ходе перевода. Приятного чтения.



Как SEO-оптимизация уничтожила интернет


В промежутке между 1998 и 2003 годом поиск в Google был просто волшебным. Я помню, как вводил какую-то смутную комбинацию, типа «oil mother's milk» и в итоге попал на страницу Wired с интервью Томаса Голда, астрофизика, который рассказывал о том, что залежи углеводородов (oil) пополняются за счет давления внутри геологических пластов.

Если вы сегодня ищете что-то техническое, конкретное, академическое или вообще — некоммерческое, то удачи вам. Лучшая в мире информационно-поисковая система превратилась в нечто, напоминающее Digg эры 2006 года: индексы популярности контролируются небольшим количеством финансово мотивированных игроков. Они называют себя «оптимизаторами».
Читать дальше →

Про Володю и озонатор

Reading time16 min
Views102K
Писал я недавно в свой канал заметку насчет комнатных растений, по мнению NASA очищающих воздух от формальдегида/аммиака/паров растворителей (бензола, трихлорэтилена, ксилола и толуола). И сразу от подписчиков получил вопрос по поводу озона в воздухе. Набросал черновик ответа, но за пару дней он внезапно «растолстел» и попросился на хабр. Тем более антропогенный озон — это в определенной степени и лазерные принтеры и копиры, коих в офисах и компаниях тысячи…

Поэтому сегодня под катом читаем про тропосферный (или приземный) озон, кустарные методы определения его в воздухе и конечно же про растения, которые способны озон этот дезактивировать (и не только его). Как повысить продуктивность с помощью комнатных растений и защититься от заболеваний легких.

От автора: надеюсь, статью прочитают те, кто среди зимы занимается «кронированием» городских деревьев, срезая две трети ствола и, хоть о чем-то задумается…


Проозонироваться!

Как спастись от «зайцев». Инструкция по борьбе с ультрафиолетом

Reading time22 min
Views71K

Однажды в далекие школьные годы у меня появилась идея заняться авто-реставрацией, благо у отца был в наличии уже практически сгнивший (но с отличным мотором) АЗЛК Москвич-408. Первым делом конечно же было решено поменять пороги и укрепить раму металлическим швеллером. Самый быстрый способ — естественно сварка, благо у отца и самодельный аппарат на Ш-образных пластинах был. Электроды и я нашел и, в принципе, довольно сносно приварил куски металла. Довольный своей работой заснул, думая о том, что я буду приваривать с утра. А с утра проснулся и понял что "ослеп", а отец поздравил "с первым пойманным зайцем". Чтобы понять о чем разговор — проследуйте под cut.


Читать дальше →

Логи не нужны?

Reading time10 min
Views37K
Разработка сильно изменилась за последние годы. Вместо монолитных приложений пришли микросервисы и функции. Базы данных из универсальных промышленных монстров переродились в узконаправленные. Docker изменил взгляд на деплой. Но изменилось ли наше представление о логах?

Одна из больших проблем в Яндекс.Вертикалях были логи — 18 ТБ в день и 250 000 логов в секунду, все пишется в файлы. Логи разнородные, потому что много языков: Scala, Java, Python, Go. Потом их собирает Fluent Bit, пишет в Kafka, на одной железной машине работают обработчики, собирают из Kafka и пишут всё на диск. При этом это уже вторая версия логов.



Как следствие, возникает проблема долгого поиска. По этим логам поиск идет с помощью grep. На некоторых сервисах grep может достигать часов. Если у вас есть проблемы в продакшн, вы не будете часами искать свои логи. Чтобы решить проблему, в Яндекс решили написать свой велосипед доставки логов для поиска. Что из этого получилось, расскажет Алексей Данилов (danevge) — разработчик команды инфраструктуры в Яндекс.Вертикалях. Разрабатывает, пишет и поддерживает проекты auto.ru и Яндекс.Недвижимость.

Дисклеймер. Статья рассказывает о современной разработке и подходит для микросервисной архитектуры. Здесь представлены различные продукты — это инструменты, которые используют в Яндекс.Вертикалях. Под другие условия возможны аналоги удачнее, но они выполняют практически те же функции.
Читать дальше →

Вирус и антибиотики: нежный ликбез для паникующих

Reading time12 min
Views112K

Эта няшка — пушистый мимивирус с размером кода 2,5 Мегабазы (бит четвертичной системы)

Мы тут мониторили каналы, чатики и форумы по поводу текущей обстановки в разных странах. Я просто офигевал от того, что люди могут придумать в панике и безграмотности. Поэтому ликбез. Не про коронавирус. Просто про вирусы. Маленьких «нанороботов». И антибиотики. Которые не надо кушать просто так.

Ликбез мы подготовили вместе с инфекционистом Викторией Валиковой, руководящей клиниками в Гватемале и Никарагуа. Естественно, он полон грубых упрощений.

Кто такие вирусы?


Это такая офигеть какая маленькая форма жизни. Они повсюду, и их очень много. В литре обычной морской воды их примерно 250.000.000.000 штук. И каждый из них занят двумя вещами:

  1. Переработкой клеток на свои копии.
  2. Путешествиями в поиске новых клеток.

Про «форму жизни» есть холивар, потому что вирион (транспортное состояние вируса, частица без клетки) — это просто кусок кода ДНК или РНК + оболочки + некий аналог порта-коннектора. В этом состоянии вирус почти ничем не напоминает жизнь, а, скорее, похож на набор инструкций. И ведёт себя именно, как распечатка инструкций: пока не найдётся кто-то, кто их выполнит, они неактивны.

Если инструкция говорит вам, как использовать ксерокс, чтобы самоскопироваться, можно ли считать её живой?
Читать дальше →

Запятая в английском языке: 5 правил и топ-3 ошибки

Reading time6 min
Views46K
Носитель английского языка практически всегда знает, что текст писал иностранец. Даже если в тексте нет ни одной ошибки в словах и конструкции предложений.

Как? Ответ прост: пунктуация.

Студенты, которые учат английский как иностранный часто пропускают тему, как правильно ставить запятые. Она ведь интуитивно понятная, что тут учить! Так-то оно так, но не совсем.

В этой статье мы собрали правила для использования запятых в английском и распространенные ошибки, которые часто допускают русскоговорящие.


Читать дальше →

Что в Белизне тебе моей или Справочное пособие по гипохлориту натрия («хлорке»)

Reading time31 min
Views233K
Не передать, насколько мне приятно это писать. Данная статья полностью профинансирована подписчиками канала LAB66. Ни один производитель описанных в тексте средств -  своего участия не проявил, так что никакой скрытой рекламы, чиcтый альтруизм и потребительский интерес :)

Сегодня читаем о самом простом, самом доступном и самом действенном антисептике — про гипохлорит натрия (он же «Белизна»). Совместимость с различными материалами, техника безопасности, свойства и эффективность не только против коронавируса, но и против страшной плесени и ее микотоксинов. В качестве «вишенки» — контрольная закупка магазинных отбеливателей и оценка их состава. Чтобы узнать как в эпоху пандемии нас дурят производители бытовой химии и прочий «менеджерский брат» — идем под кат. И обязательно закидываем в закладки. Эта информация пригодится еще не раз ;)


Даешь нормальную Белизну!

Как надо исправлять утечки маршрутов

Reading time2 min
Views14K
Стоит оговориться, что нижеследующая история во многом уникальна.

И вот как она начиналась. В течение примерно одного часа, начиная с 19.28 UTC вчера, 1 апреля 2020 года, крупнейший российский интернет-провайдер — Ростелеком (AS12389) — начал анонсировать сетевые префиксы крупнейших игроков интернета: Akamai, Cloudflare, Hetzner, Digital Ocean, Amazon AWS и других известных имен. До того момента как проблема была решена, пути между крупнейшими облачными провайдерами планеты были нарушены — Интернет «моргнул».

Данная утечка маршрута вполне успешно распространялась через провайдера Rascom (AS20764), откуда через Cogent (AS174) и, спустя еще несколько минут, через Level3 (AS3356) распространилась по всему миру. Утечка была настолько серьезной, что почти все Tier-1 операторы были задеты аномалией.

Выглядело это так:

image

Поверх такого:

image
Читать дальше →

Нейросетевой калькулятор для сложения и вычитания не очень больших чисел

Reading time5 min
Views25K

Мы рады представить хабросообществу наш смелый эксперимент: калькулятор, работающий на основе нейросети. Он работает следующим образом: математическое выражение преобразуется в изображение и подается на вход сверточной нейросети, которая генерирует изображение-результат. Полученный калькулятор генерирует изображения правильных ответов, не вычисляя заданное выражение в явном виде.


Работа уже опубликована на arXiv и сегодня будет представлена на конференции SIGBOVIK в формате аудиозаписи. В этом посте мы поделимся с вами результатами нашего эксперимента. Мотивация и детали реализации также под катом.


Читать дальше →

Из пилотов в тестировщики: как бывший военный построил запасной аэродром в IT

Reading time5 min
Views13K
Меня зовут Сергей, я специалист отдела тестирования «СёрчИнформ». До «СёрчИнформ» работал сисадмином, а еще раньше – был военным летчиком. Собственно, историю перехода из профессии в профессию, которую многие знакомые считают радикальной, я и хочу рассказать. Сразу оговорюсь, радикальным этот карьерный поворот кажется только со стороны. Для меня история вполне закономерная. Но начну сначала.

image

Читать дальше →

Что накапать в глаз, чтобы не чесался

Reading time9 min
Views19K

Аллергопробы. Ищем тот самый мятлик, на который аллергия

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

Все радуются. А я страдаю в предвкушении всех радостей аллергии на пыльцу, когда хочется выходить на улицу исключительно в скафандре. Мне почему-то кажется, что на Хабре найдётся немало собратьев по несчастью, и им будет интересно разобраться, что это за гадость и как с ней жить. А ещё я расскажу, зачем в моей дамской сумочке лежит коробка Преднизолона и Блефарогель.
Читать дальше →

CloudFlare — рак интернета

Reading time5 min
Views246K


Дисклеймер: я сам много пользуюсь CloudFlare и считаю, что они делают большое дело, помогают развивать интернет, дают бесплатно крутые продукты, и в целом отличные ребята. Статья описывает проблемы глобализации и новые угрозы, когда децентрализованный интернет становится централизованным.

Когда CloudFlare только появился, это была настоящая революция в веб-хостинге: в два клика, без переезда на другой сервер, к своему сайту можно было подключить профессиональный CDN, который экономил кучу трафика, ускорял загрузку статических файлов и еще защищал от DDoS. Раньше позволить себе такое могли только компании за большие деньги, а теперь это стало доступно каждому, еще и бесплатно!

С тех пор CloudFlare сильно вырос и сегодня проксирует через свою инфраструктуру треть интернета. Из-за этого появились проблемы, которых раньше не существовало. В посте мы разберем, как CloudFlare угрожает нормальной работе интернета, мешает обычным людям пользоваться сайтами, имеет доступ к зашифрованному трафику, и что с этим делать.
Читать дальше →

Монады как паттерн переиспользования кода

Reading time24 min
Views75K


В предыдущей статье мы обсуждали, почему функциональное программирование это совсем не то, что распиарено, и что оно совершенно не противоречит ООП, так, что даже сам "Дядя Боб" пишет про хороший ФП дизайн порождающий хороший ООП дизайн программы (и наоборот).


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


Но ведь в интернете буквально сотни статей про ФП и монады, зачем писать еще одну?


Дело в том, что все их (по крайней мере те что я читал) можно поделить условно на две категории: с одной стороны это статьи где вам объяснят что монада это моноид в категории эндофункторов, и что если монада T над неким топосом имеет правый сопряжённый, то категория T-алгебр над этой монадой — топос. На другой стороне располагаются статьи, где вам рассказывают, что монады — это коробки, в которых живут собачки, кошечки, и вот они из одних коробок перепрыгивают в другие, размножаются, исчезают… В итоге за горой аналогий понять что-то содержательное решительно невозможно.


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


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

Читать дальше →

Ким Дотком: пойманный в сеть, самый разыскиваемый человек онлайн. Часть 3

Reading time15 min
Views14K
Для одних Ким Дотком, основатель скандально известного файлообменника «MegaUpload», преступник и интернет-пират, для других — несгибаемый борец за неприкосновенность персональных данных. 12 марта 2017 года состоялась мировая премьера документальной киноленты, в которой приведены интервью с политиками, журналистами и музыкантами, знающими Кима «со всех сторон». Новозеландский режиссер Энни Голдсон с помощью видео из личных архивов рассказывает о сути судебных баталий Доткома с правительством США и другими государственными структурами, провозгласившими бой мировому интернет-пиратству.



В юности Ким Дотком считал США оплотом мировой демократии, страной, правительство которой самоотверженно борется за торжество справедливости во всем мире. Побывав в ролях хакера, малолетнего преступника и консультанта по компьютерной безопасности, к 30-ти годам Ким решает заняться бизнесом и создает крупнейший файлообменник «MegaUpload», число пользователей которого достигло 160 млн. человек. Практически до самого закрытия сайта в 2012 году он занимал 13 место в рейтинге самых посещаемых интернет-ресурсов. За 7 лет существования «MegaUpload» Ким заработал более сотни миллионов долларов, но в результате судебных разбирательств превратился в банкрота. Инициатором судебного преследования выступили США, обвинившие Доткома в размещении пиратского контента и нарушении авторских прав, что будто бы принесло правообладателям ущерб в размере 500 млн. долларов.

До сих пор Киму так и не удалось оправиться от удара и поправить финансовые дела, так как все средства он тратит на услуги адвокатов и создание новых инновационных проектов, таких как платформа «K.im» — так называемый «магазин файлов», совершающий платежи на основе криптовалюты.

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

Ловим деградацию аккумуляторов АА и ААА при токах в 0.3 от емкости

Reading time5 min
Views28K
Два года назад я открыл для себя прекрасный новый мир зарядных устройств для аккумуляторов. И даже, насколько мог, структурировал свои знания в топике “Заряжаем АА, ААА и другое цилиндрическое и аккумуляторное”. После написания текста меня долгое время терзала одна неразрешенная проблема — какими токами правильно заряжать аккумуляторы. Считается разумным заряжать банки токами в 0.1 от емкости. Причем как старые NiCd, так и современные NiMh. Якобы, так мы откладываем деградацию.

Во-первых, такой подход занимает кучу времени — токи слишком низкие, заряд идет долго. Во-вторых, это накладывает ограничения на сами зарядные устройства, так как попробуй еще найти такие зарядки, которые заряжают токами от 100 или даже 50 mA. Та же “народная” и часто рекомендуемая Liitokala Lii-500 умеет только с 300 mA. В третьих, множество зарядок отлавливают момент полного заряда по “-dV”, для чего, по инструкциям, требуется ток в 0.3 от емкости.



Другой подход говорит, что современные NiMh на то, блин, и современные, чтобы заряжать их 0.3 от емкости, 0.5 и даже током равным емкости. В общем, в итоге я решил провести собственный эксперимент и в течении 100 циклов заряжал и разряжал аккумуляторы Ikea Ladda форматов АА и ААА токами в 0.3С, пытаясь увидеть деградацию. Длилось это больше полугода и результаты замеров можно посмотреть под катом.
Читать дальше →

Логика сознания. Часть 12. Поиск закономерностей. Комбинаторное пространство

Reading time26 min
Views36K
imageПоэзия — та же добыча радия.
В грамм добыча, в годы труды.
Изводишь единого слова ради
Тысячи тонн словесной руды.
Но как испепеляюще слов этих жжение
Рядом с тлением слова-сырца.
Эти слова приводят в движение
Тысячи лет миллионов сердца.

Владимир Маяковский


Напомню, что наша ближайшая задача — показать алгоритм универсального обобщения. Такое обобщение должно удовлетворять всем требованиям, сформулированным ранее в десятой части. Кроме того, оно должно быть свободно от традиционных для многих методов машинного обучения недостатков (комбинаторный взрыв, переобучение, схождение к локальному минимуму, дилемма стабильности-пластичности и тому подобное). При этом механизм такого обобщения должен не противоречить нашим знаниям о работе реальных нейронов живого мозга.

Сделаем еще один шаг в сторону универсального обобщения. Опишем идею комбинаторного пространства и то, как это пространство помогает искать закономерности и тем самым решать задачу обучения с учителем.

Information

Rating
Does not participate
Registered
Activity