Pull to refresh
100
Karma
0
Rating
Edward Chernenko @edwardspec

Пользователь

О фейковых криптовалютах (Ethereum, Tron, Ripple и пр)

Reading time 10 min
Views 291K
Payment systems *Cryptocurrencies

К сожалению, концепция криптовалют, несмотря на своё изящество, не нашла понимания у основной массы пользователей. "Среднему пользователю" неважно, лежат ли его деньги в распределённом блокчейне или на каком-то конкретном сайте. Для него это всё равно "где-то в сети". Когда деньги на сайте - даже спокойнее, потому что понятно, кто за него отвечает, в случае чего можно поругаться или написать в соцсети о том, какие они негодяи, или даже подать в суд, а если деньги "потерялись" в блокчейне, то и пожаловаться некому. Пользователи, покупающие биткоины, не хранят приватные ключи у себя, а в основном делегируют это посторонним сайтам, потому для них разницы действительно нет. А даже если хранят у себя - сначала ведь этот ключ они где-то генерируют, и потом скачивают. Понятно, что это уже не полностью их ключ. В результате распространяются слухи о "взломе биткоина", когда деньги уходят хакерам, и подобные байки. С другой стороны, умные и авторитетные люди объясняют, что блокчейн и построенные на нём криптовалюты - это надёжно и правильно, и не верить им нет оснований.

Это закономерно привело к появлению муляжей криптовалют, которые якобы используют те же технологии, но при этом дают преференции их создателям, т.е. не такие уж децентрализованные. Для пользователей всё равно, а создателям профит. Самый распространённый из таких муляжей - Ethereum.

Читать далее
Total votes 286: ↑261 and ↓25 +236
Comments 529

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

Reading time 5 min
Views 43K
Network technologies *
TL;DR: Из-за блокировок Роскомнадзора большое количество ресурсов, находящихся на Amazon CloudFront и Akamai, периодически становятся кратковременно недоступны. Проблема вызвана частой сменой (ротацией) IP-адресов на доменах, использующих эти сервисы, а также балансировками на основе геопризнака и EDNS Client Subnet: периодически DNS-серверы ресурсов выдают клиентам адреса, внесённые в Реестр запрещенных сайтов. Неосведомлённому человеку сложно определить причину проблемы, так как через минуту всё, как правило, снова работает (но через какое-то время опять перестаёт).

Введение

Около двух лет в России в рамках борьбы с Telegram были заблокированы диапазоны IP-адресов Amazon Web Services, CloudFlare, Digital Ocean, Scaleway, Hetzner, Softlayer и других менее известных хостингов и CDN. Перечисленные сервисы очень популярны, их услугами пользуется значительное количество сайтов в интернете.
Во времена блокировки пользователи сообщали о недоступности Playstation Network, Viber, Spotify, основного сайта Microsoft и некоторых его поддоменов, а также множества других сервисов, сайтов и интернет-игр.
18.06.2020 Роскомнадзор разблокировал все ранее блокированные диапазоны, жалобы на недоступность сайтов резко сократились.

Однако часть сайтов, использующих сервисы Amazon CloudFront и Akamai, до сих пор периодически не открывается либо не загружается полностью, а через минуту уже работают нормально. Вы могли списывать такое поведение на проблемы у интернет-провайдера или сайта, но на деле они вызваны интернет-блокировками в России и особенностями геобалансировки этих сервисов.

Вот краткий список хостов, к которым был затруднен доступ за последние 2 недели:

  • www.adobe.com
  • leonardo.osnova.io (картинки сайтов dtf.ru, tjournal.ru)
  • cf-hls-media.sndcdn.com (аудио SoundCloud)
  • blog.playstation.com (блог Playstation)
  • clips-media-assets2.twitch.tv (видео с Twitch)
  • ocsp.int-x3.letsencrypt.org (проверка сертификатов по протоколу OCSP)
  • steamcommunity-a.akamaihd.net (форум Steam)
Читать дальше →
Total votes 162: ↑158 and ↓4 +154
Comments 132

Не держите людей за идиотов или почему человек с инженерным образованием может сжечь вышку сотовой связи (видео)

Reading time 12 min
Views 217K
Cellular communication
🔥 Technotext 2020


Знаете что общего между ситуацией с уничтожением антенн сотовой связи и последней лентой Тарантино «Однажды в Голливуде»? Они оба делят людей на два противоположных лагеря.
Читать дальше →
Total votes 300: ↑272 and ↓28 +244
Comments 340

Автономизация Unit-тестов в PHPUnit

Reading time 9 min
Views 2.5K
PHP *TDD *
Sandbox

Всем привет!


Меня зовут Антон и сейчас (не так долго, около года) я разрабатываю на PHP в одном большом и старом проекте. Для обеспечения качества проекта мы применяем автотесты на фреймворке PHPUnit. Но, к сожалению, так получилось, что большая часть наших автотестов функциональные. Недавно мы поняли, что если мы продолжим использовать автотесты прежним образом, то скоро время, потраченное на решение проблем с их не прохождением на CI станет больше, чем время, затраченное на написание полезного кода (на самом деле нет, но оно растёт и это не приятно).


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

  • я писал пару тест-кейсов несколько часов;
  • понял, что за это время написал очень, очень много повторяющегося кода;
  • фактически не сделал полезной работы;
  • в случае изменения DI придется потратить очень много времени на бесполезную адаптацию кода теста.


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


Читать дальше
Total votes 14: ↑13 and ↓1 +12
Comments 6

Как я чуть не выкинул 150к на ветер или история установки приточной вентиляции в квартире

Reading time 19 min
Views 487K
Health

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


Читать дальше →
Total votes 375: ↑370 and ↓5 +365
Comments 594

30 полезностей для Firefox Developer Tools

Reading time 3 min
Views 24K
Web design *Firefox Website development *CSS *JavaScript *
Tutorial
Translation


Ниже приведены фичи и советы по использованию Firefox Developer Tools. Некоторые из них аналогичны возможностям инструментов в Chrome, для некоторых аналоги в других браузерах отсутствуют.


Осторожно, под катом много тяжёлых гифок!

Осторожно, под катом много тяжёлых гифок!
Total votes 38: ↑37 and ↓1 +36
Comments 6

Игровая агрессия, или как кооператив превращается в кровавую баню и что делать, чтобы он этого не делал

Reading time 53 min
Views 24K
Brain


В прошлый раз мы остановились на том феномене, что игра, которая изначально задумывалась как кооператив (например, D&D или многопользовательская песочница типа Space Station 13), почему-то может использоваться игроками совершенно по другому назначению, становясь пространством насилия и травли. Сегодня, соответственно, будем разбираться в том, как устроена детская (и не только детская) агрессия, как работает формат песочницы, что делает агрессия в песочнице (и вообще в игре) и как можно ей управлять.

Физика эмоции


В дальнейшем изложении мы будем использовать гидродинамическую модель эмоции. Представим себе, что, например, гнев – это жидкость. Чем больше накапливается гнева, тем сильнее становится напор жидкости в трубе – отдельно взятом индивидууме. На выходе есть два вентиля. Один соответствует внутреннему тормозу – представлению, например, о том, что обижать других людей дурно, некрасиво, недостойно… Второй соответствует внешнему тормозу – страху перед наказанием или какими-то другими негативными последствиями. Что будет, если давление жидкости нарастает, а вентили (хотя бы какой-то один из них) намертво закручены?
Читать дальше →
Total votes 49: ↑48 and ↓1 +47
Comments 82

Асинхронное общение — вот настоящая причина, почему удалённая работа более эффективна

Reading time 12 min
Views 67K
Instant Messaging *Project management *GTD *Personnel Management *Offices of IT companies
Translation

Теперь асинхронную связь внедряют не только на удалёнке



Иллюстрация: Yin Weihung

Исследование за исследованием вновь доказывают, что удалённые работники более продуктивны, чем их коллеги в офисе.

Только не совсем понятно, почему.

Да, люди сохраняют время (и рассудок), избегая пробок в час пик. На них не действуют отвлекающие факторы в офисе. Они обретают чувство контроля над рабочим графиком. Больше времени остаётся для семьи, друзей и хобби.

Но кроме поездок на работу, все эти преимущества не столько результат автономного расположения, сколько побочный продукт асинхронной связи — сотрудники сами решают, когда общаться с коллегами.
Total votes 83: ↑80 and ↓3 +77
Comments 170

На GitHub создано письмо IT-специалистов в защиту фигурантов «московского дела»

Reading time 2 min
Views 14K
Legislation in IT Biography of geeks


«Московское дело», ранее уже вызвавшее широкий общественный резонанс (в частности, на Хабре писали о переименовании Wi-Fi-точек в поддержку Константина Котова), теперь вызвало реакцию конкретно в IT-среде. Было создано открытое письмо IT-специалистов в защиту фигурантов «московского дела», и за несколько часов его подписали уже сотни человек. В письме подчёркивается, что среди фигурантов есть двое айтишников — Айдар Губайдулин и Константин Котов.
Читать дальше →
Total votes 71: ↑66 and ↓5 +61
Comments 77

Не ходите в Африку гулять: как обстоят дела с интернет-цензурой на Черном континенте

Reading time 6 min
Views 25K
Research and forecasts in IT *Legislation in IT Statistics in IT


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

Обо всем этом журналисты известных и не очень СМИ пишут в отношении Китая, КНДР, России, Казахстана, Беларуси и т.п. Интернет-цензура проникла даже в Африку. О том, как обстоят дела на Черном континенте, мы сегодня и поговорим.
Читать дальше →
Total votes 55: ↑53 and ↓2 +51
Comments 61

Нужно ли чистить строки в JavaScript?

Reading time 6 min
Views 76K
JavaScript *Google Chrome Debugging *
Что? Строки могут быть «грязными»?

Да, могут.

//.....Какой-то код
console.log(typeof str); // string
console.log(str.length); // 15
console.log(str); // "ччччччччччччччч"

Вы думаете, в этом примере строка занимает 30 байт?

А вот и нет! Она занимает 30 мегабайт!
Читать дальше →
Total votes 220: ↑219 and ↓1 +218
Comments 224

Совещания — это узаконенный грабеж

Reading time 8 min
Views 31K
Project management *Agile *
Translation
В разработке всё дело в творчестве, не так ли? Это искусство, а не наука. Мы, разработчики, решаем сложные задачи, и зачастую наши решения совершенно не очевидны. Мы экспериментируем, внедряем новшества, исследуем и расследуем. Чтобы делать всё это, мы разговариваем. Мы вместе сидим в переговорках, конференциях в скайпе или каналах в слаке; мы обсуждаем свои решения; мы спрашиваем мнения коллег; мы спорим о лучших идеях. Без сомнения, совещания — ключевой компонент современного проектирования ПО… и это очень печально наблюдать.

Хороший архитектор, как и хороший PM, не нуждается в совещаниях и никогда их не организует.

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

Скажем, я архитектор, которому нужно спроектировать схему реляционной базы данных в новом проекте, у меня есть команда из пяти программистов, и я хочу, чтобы они помогли мне с проектированием. Это очень логичное и адекватное желание, т.к. хороший архитектор всегда обсуждает все возможные варианты с командой перед тем, как принять окончательное решение. Так что, я собираю совещание? Нет!
Читать дальше →
Total votes 119: ↑90 and ↓29 +61
Comments 227

Оценка сроков на разработку и тестирование задачи (не нужна)

Reading time 5 min
Views 61K
Контур corporate blog Web services testing *Development Management *Project management *Product Management *

Я в тестировании 12 лет, работал в Naumen и Яндексе. Сейчас руковожу отделом тестирования из 150 человек в Контуре и продолжаю работать тестировщиком в одной из команд.


После полугодовых performance review менеджеры из разных команд рассказали, какие цели поставили своим тестировщикам. У каждого пятого была такая: «Научиться оценивать сроки на тестирование задач». Часто такой «оценки сроков» хотят не только от тестировщиков, но и от разработчиков.



Оценка сроков в 95 % случаев. Спасибо, xkcd.


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

Сейчас объясню, как это работает.

Горькая правда
Total votes 87: ↑76 and ↓11 +65
Comments 186

Когда дети понимают, что вся их жизнь уже находится в онлайне

Reading time 6 min
Views 41K
Information Security *Social networks and communities
Translation

Поиск в Google информации о себе превратился в обряд перехода




Уже несколько месяцев Кара набиралась смелости для того, чтобы поговорить с мамой о том, что она увидела в Instagram. Не так давно эта 11-летняя девочка – которую мы, как и остальных детей в этой истории, будем называть вымышленным именем – обнаружила, что её мама выкладывает её фотографии без её разрешения, причём это происходит уже большую часть её жизни. «Я хотела поговорить об этом. Очень странно видеть в интернете свои фотографии, и некоторые из них мне не нравились», — говорит она.

Как большинство современных детей, Кара росла, будучи погружённой в соцсети. Facebook, Twitter и YouTube появились ещё до её рождения. Instagram работает с тех пор, когда она была ещё младенцем. И если у многих детей пока ещё нет своих учётных записей, то их родители, школы, спортивные команды и другие организации могли поддерживать их присутствие в онлайне с рождения. Шок от осознания того, что подробности твоей жизни – а в некоторых случаях все её мельчайшие детали – выкладываются в интернет без твоего согласия или осведомлённости, стал одним из главных событий жизни множества подростков и детей помладше.
Читать дальше →
Total votes 79: ↑74 and ↓5 +69
Comments 160

REST? Возьмите тупой JSON-RPC

Reading time 4 min
Views 156K
PHP *JavaScript *API *
В последнее время на Хабре разгорелось много споров по поводу того, как правильно готовить REST API.

Вместо того, чтобы бушевать в комментариях, подумайте: а нужен ли вам REST вообще?
Что это — осознанный выбор или привычка?

Возможно, именно вашему проекту RPC-like API подойдет лучше?
Читать дальше →
Total votes 233: ↑229 and ↓4 +225
Comments 255

«Современный» C++: сеанс плача с причитаниями

Reading time 18 min
Views 62K
JUG Ru Group corporate blog High performance *C++ *Game development *Algorithms *
Translation

Здесь будет длиннющая стена текста, с типа случайными мыслями. Основные идеи:


  1. В C++ очень важно время компиляции,
  2. Производительность сборки без оптимизаций тоже важна,
  3. Когнитивная нагрузка ещё важней. Вот по этому пункту особо распространяться не буду, но если язык программирования заставляет меня чувствовать себя тупым, вряд ли я его буду использовать или тем более — любить. C++ делает это со мной постоянно.

Блогпост «Standard Ranges» Эрика Ниблера, посвященный ренжам в C++20, недавно облетел всю твиттерную вселенную, сопровождаясь кучей не очень лестных комментариев (это ещё мягко сказано!) о состоянии современного C++.



Даже я внёс свою лепту (ссылка):


Этот пример пифагоровых троек на ренжах C++20, по моему, выглядит чудовищно. И да, я понимаю, что ренжи могут быть полезны, проекции могут быть полезны и так далее. Тем не менее, пример жуткий. Зачем кому-то может понадобиться такое?

Давайте подробно разберём всё это под катом.

Читать дальше →
Total votes 121: ↑112 and ↓9 +103
Comments 238

Почему строить базу знаний компании на основе mediawiki — недурная затея

Reading time 8 min
Views 38K
CMS *Website development *Crowdsourcing


В последнее время Confluence и sharepoint стали почти безраздельно править на рынке баз знаний. Системы отличные, не спорю, но лично мне не хватает их гибкости да и в целом как-то не срослось: вики-возможности sharepoint остались где-то на уровне 2005 года (про работу с офисными документами молчу, с ними все гуд), а Confluence в силу своих особенностей с ростом числа статей неумолимо превращался в свалку, в которой невозможно найти что-либо нужное (но, может, проблема была во мне).

Не умаляя достоинства этих систем, хотелось бы рассказать о том, какие возможности есть у Mediawiki в роли корпоративной базы знаний. Само собой, mediawiki подойдет не всем — в ней нет модной интеграции с jira/tfs/etc, перенос документов с картинками из пакета Microsoft Office доставляет кучу неудобств, да и сама она написана на PHP, что в последнее время служит отпугивающим фактором для некоторых айтишников. Тем не менее, платформа живее всех живых и над ее развитием работает изрядное количество людей, коль скоро на ней базируется семейство проектов фонда Викимедиа.
Читать дальше →
Total votes 47: ↑47 and ↓0 +47
Comments 63

Ад своими руками

Reading time 19 min
Views 170K
System Analysis and Design *Project management *Product Management *Personnel Management *IT career
Многие говорят – рассказывать надо не только об успехах, но и о неудачах. Полностью с этим согласен — понимание своих неудач, их причин и последствий, иногда ценнее любых успехов.

Был у меня в жизни такой опыт автоматизации, за который долгое время было стыдно. Не потому, что система плохо работала, или метаданные кривые были, или ТЗ не соответствовала — ровно наоборот. Все красиво, быстро, с полным внедрением во всей компании. С точки зрения формальных критериев это был полный успех.

Но компанию, ее культуру это внедрение превратило в ад — бюрократический, системный и бессмысленный.

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

Обо всем по порядку.
Читать дальше →
Total votes 294: ↑285 and ↓9 +276
Comments 314

Борщевик Сосновского. В МО ввели штрафы за распространение

Reading time 20 min
Views 108K
Popular science Ecology
Изображение с pixabay. Автор YvonneH1 ноября 2018 года Московская Область без объявления войны (объявленной парой лет ранее), ввела финансовые санкции. Против собственников территорий, предоставляющих плацдарм для распространения борщевика Сосновского. Ура!

Мне, правда, интересно, кто будет платить за титаническую плантацию борщевика между Шереметьево и ниткой Аэроэкспресса. Плантацию, встречающую гостей и жителей Москву сразу по прилёту в белокаменную. Там растут просто миллионы штрафа.

Что же такое борщевик Сосновского и почему с ним надо бороться. Как это делать. Как это делать не нужно. А так же научные и псевдонаучные факты в нескучно-популярном изложении.
Читать дальше →
Total votes 289: ↑268 and ↓21 +247
Comments 685

Как я вижу идеальный браузер

Reading time 37 min
Views 36K
Firefox Website development *Google Chrome Browsers Software
В последнее время появилось много статей о недостатках современного софта, при этом никто не пробует предложить свои решения, чтобы поменять ситуацию. Эта статья — ответ на некоторые статьи об этом, равно как и о мечтах о идеальном браузере. Как можно было бы переработать браузер, его UI, методы взаимодействия с сайтами, улучшить протоколы и пользовательский опыт в целом. Если у вас есть какие-то, пусть даже самые смелые мысли по этому поводу, то предлагаюсь обсудить их и быть может заложить основы для создания идеального браузера. В конечном счете, рано или поздно это нужно будет сделать, так как ситуация на рынке браузеров на данный момент совсем не радостная. И не проблема, что другие браузеры очень сложны и их сложно догнать — мы можем пойти по своему пути, реализовывать только необходимые части стандартов, при этом можем вводить свои нестандартные расширения. Не надо бежать за другими, пусть другие бегут за нами. Пусть наш браузер будет создан для людей, а не во имя коммерческих интересов корпораций добра и странных консорциумов, от которых давно нет никакой пользы.



Что же должно быть в идеальном браузере?



Читать дальше →
Total votes 78: ↑54 and ↓24 +30
Comments 155

Information

Rating
Does not participate
Location
Обнинск, Калужская обл., Россия
Date of birth
Registered
Activity