Tg: habr.com
26 •
@habr_com
Репост Телеграмм-канала
НЕОФИЦИАЛЬНЫЙ! Формируется ботом @reposts в режиме тестирования. Контакт для связи - asvbkr_bots@bk.ru
Tg: habr.com
110
Источник: TG-habr.com. Опубликовано: 05.08.2020 10:31 (+0300)
Адрес: https://t.me/habr_com/45373
Цифровая трансформация бани
Однажды, дегустируя новое пиво, мы с моим знакомым поспорили о том, что такое цифровая трансформация. Мой знакомый утверждал, что эта цифровая трансформация — просто пустое слово, под которое удобно выделять деньги. Мол, приходят CDTO (Chief Digital Transformation Officer, не смейтесь, это действительно так называется), берут огромные деньги, внедряют пару систем цифро ...
Tg: habr.com
114
Источник: TG-habr.com. Опубликовано: 05.08.2020 10:11 (+0300)
Адрес: https://t.me/habr_com/45372
Рынок соискателя или работодателя VS возрастная дискриминация
В продолжение моего разбора полётов по рекрутингу и обстановке в последние лет 5, я хочу затронуть две щекотливые темы:
— чей же рынок нынче, кто правит балом – работодатель или соискатель;
— пресловутый возрастной ценз 45+, так ли всё плохо и безнадёжно.
Собственно, про эти вещи и пойдёт дальнейший разговор. Устраивайтесь поудобн ...
Tg: habr.com
116
Источник: TG-habr.com. Опубликовано: 05.08.2020 09:15 (+0300)
Адрес: https://t.me/habr_com/45370
Проблемы в процессах непрерывной доставки и развертывании программного продукта
Статью подготовил Брюханов Константин, руководитель курса «CI/CD». В ней Константин раскрыл ряд проблемных моментов, связанных доставкой развертыванием кода программного продукта в IT-компаниях, и собрал рекомендации из числа лучших международных практик.
В айти-эксплуатации самым востребованным направлением являетс ...
Tg: habr.com
116
Источник: TG-habr.com. Опубликовано: 05.08.2020 07:12 (+0300)
Адрес: https://t.me/habr_com/45369
DevOps с человеческим лицом
Мы часто рассказываем, что полезного услышали на конференциях, реже — о спикерах будущих мероприятий. И почти никогда не показываем людей, которые стоят за кулисами каждого хорошего выступления и дирижируют ансамблем тем. Пора это менять, потому что то, кто и с каким подходом готовит программу, может рассказать о конференции гораздо больше, чем список тезисов.
В прост ...
Tg: habr.com
113
Источник: TG-habr.com. Опубликовано: 05.08.2020 00:43 (+0300)
Адрес: https://t.me/habr_com/45368
[Из песочницы] Работать по 12 часов в сутки и не спать по 3 дня кряду, или как я стал frontend-разработчиком
Как парень из города Камешково прокладывает себе путь в IT и доказывает, что было бы желание, а возможности всегда найдутся
Привет! Меня зовут Артем, я frontend-разработчик в аутсорс-продакшене Hawking Bros. Сейчас я уже middle и еще параллельно учусь в колледже по специальности «Программи ...
Tg: habr.com
105
Источник: TG-habr.com. Опубликовано: 04.08.2020 23:23 (+0300)
Адрес: https://t.me/habr_com/45367
[Из песочницы] Ты можешь писать безупречные ТЗ, но какой в этом толк, если разработчик твой плачет?
В далекой-далекой галактике трудится сферический product owner. Он бегло пишет заметки на салфетке и молча отдает ее разработчикам. А вскоре получает готовый продукт, который на 100% соответствует его ожиданиям. Даже если продукт этот – сложный кроссплатформенный сервис с блэкджеком и адаптивност ...
Tg: habr.com
108
Источник: TG-habr.com. Опубликовано: 04.08.2020 23:23 (+0300)
Адрес: https://t.me/habr_com/45366
PostgreSQL Antipatterns: «Должен остаться только один!»
На SQL вы описываете «что» хотите получить, а не «как» это должно исполняться. Поэтому проблема разработки SQL-запросов в стиле «как слышится, так и пишется» занимает свое почетное место, наряду с особенностями вычисления условий в SQL.
Сегодня на предельно простых примерах посмотрим, к чему это может приводить в контексте использования GR ...
Tg: habr.com
109
Источник: TG-habr.com. Опубликовано: 04.08.2020 21:50 (+0300)
Адрес: https://t.me/habr_com/45365
Российские госсайты: иллюзия безопасности
В 2016 году мы задались вопросом: сколько сайтов федеральных органов власти поддерживают HTTPS? Мы узнали, вы готовы? Фактически – 2 (прописью: два, Карл!) сайта из 85. Формально – 32 поддерживали, т.е. на серверах был включен HTTPS, но дальше все упиралось в традиционное российское разгильдяйство: SSL-сертификат просрочен, самоподписан или вообще от друг ...
Tg: habr.com
113
Источник: TG-habr.com. Опубликовано: 04.08.2020 19:04 (+0300)
Адрес: https://t.me/habr_com/45364
ReactOS 0.4.13 CE (Coronavirus Edition)
Привет, Хабр!
К нашему стыду, во время самоизоляции мы настолько приуныли, что забыли опубликовать новость об очередном релизе под номером 0.4.13, который состоялся еще в апреле 2020 года. Исправляемся.
Скачать образы системы | Пресс–релиз | Список изменений | TL;DR | Тесты и список регрессий Читать дальше →
http://amp.gs/Fzbz
Tg: habr.com
108
Источник: TG-habr.com. Опубликовано: 04.08.2020 18:11 (+0300)
Адрес: https://t.me/habr_com/45363
Как внедрить in-app подписки в Android-приложения: советы и рекомендации
С каждым годом требования к in-app подпискам в мобильных приложениях в App Store и Google Play меняются, становится все сложнее учесть их с первого раза и не получить серию реджектов, тем самым откладывая релиз порой на несколько месяцев. Если про требования для App Store уже достаточно много публикаций (см. здесь или здесь ...
Tg: habr.com
104
Источник: TG-habr.com. Опубликовано: 04.08.2020 18:00 (+0300)
Адрес: https://t.me/habr_com/45362
Как мы разрабатывали кроссплатформенную BPMS
Всем привет!
В НОРБИТ мы занимаемся SRM-решениями. Сегодня расскажем про особенный для нашей команды проект — разработку BPMS-платформы NBT. Мы не просто создали бизнес-решение для заказчика, а разработали собственный продукт с нуля, — всё это подразумевает совершенно другой подход к проектированию, разработке, управлению командой, организации процесс ...
Tg: habr.com
108
Источник: TG-habr.com. Опубликовано: 04.08.2020 17:31 (+0300)
Адрес: https://t.me/habr_com/45361
[Перевод] Vue.js для начинающих, урок 9: пользовательские события
На предыдущем уроке нашего курса по Vue вы узнали о том, как создавать компоненты, и о том, как передавать данные от родительских сущностей дочерним с использованием механизма входных параметров (props). А что если данные нужно передавать в обратном направлении? Сегодня, в девятом уроке, вы узнаете о том, как наладить двустороннюю ...
Tg: habr.com
106
Источник: TG-habr.com. Опубликовано: 04.08.2020 16:25 (+0300)
Адрес: https://t.me/habr_com/45360
Go-swagger как основа взаимодействия микросервисов
Здравствуй, NickName! Если ты программист и работаешь с микросервисной архитектурой, то представь, что тебе нужно настроить взаимодействие твоего сервиса А с каким-то новым и ещё неизвестным тебе сервисом Б. Что ты будешь делать в первую очередь?
Если задать такой вопрос 100 программистам из разных компаний, скорее всего, мы получим 100 разных ...
Tg: habr.com
109
Источник: TG-habr.com. Опубликовано: 04.08.2020 15:24 (+0300)
Адрес: https://t.me/habr_com/45359
[recovery mode] Перевозим волка, козу и капусту через реку без эффектов на Elixir
Становится уже доброй традицией — все любопытное, что появилось на Хаскеле — повторять на Эликсире.
Первой ласточкой были «Примерно 20 строк для подсчета слов», появившиеся как алаверды на «Побеждая C двадцатью строками Haskell: пишем свой wc» от 0xd34df00d — сегодня же я наткнулся на «Перевозим волка, козу и капуст ...
Tg: habr.com
108
Источник: TG-habr.com. Опубликовано: 04.08.2020 14:40 (+0300)
Адрес: https://t.me/habr_com/45358
Самый полный гайд про то, как запустить онлайн-школу на примере GetCourse: что происходит на рынке, с чего начинается проект, какие люди обязательно должны быть в команде, типичные ошибки, инструкция для прогнозирования спроса и другое.
Очень много полезной информации тут → http://amp.gs/Fzf0
Tg: habr.com
104
Источник: TG-habr.com. Опубликовано: 04.08.2020 14:40 (+0300)
Адрес: https://t.me/habr_com/45356
Tg: habr.com
102
Источник: TG-habr.com. Опубликовано: 04.08.2020 14:04 (+0300)
Адрес: https://t.me/habr_com/45355
Книга «Эффективный TypeScript: 62 способа улучшить код»
Привет, Хаброжители! Книга Дэна Вандеркама окажется максимально полезена тем, кто уже имеет опыт работы с JavaScript и TypeScript. Цель этой книги — не обучать читателей пользоваться инструментами, а помочь им повысить свой профессиональный уровень. Прочитав ее, вы сформируете лучшее представление о работе компонентов TypeScript, сможете изб ...
Tg: habr.com
104
Источник: TG-habr.com. Опубликовано: 04.08.2020 13:03 (+0300)
Адрес: https://t.me/habr_com/45354
Путь разработчика
Привет! Меня зовут Алексей Скоробогатый. В 2015 году я пришел в Lamoda на позицию разработчика. Сейчас я системный архитектор e-commerce платформы и по совместительству Technical Lead команды CORE. В этой статье хочу поделиться инсайтами, которые получил за эти 5 лет — в формате takeaways, с историями, мемами и ссылками на литературу.
Понравился формат — ставь плюсик в карму ...
Tg: habr.com
120
Источник: TG-habr.com. Опубликовано: 04.08.2020 12:22 (+0300)
Адрес: https://t.me/habr_com/45353
История одного взлома или учитесь на чужих ошибках
Тут должна быть затёртая цитата из Ницше про силу, но мы не стали её писать.
Однажды это может случится с каждым системным администратором – он придёт утром на работу, станет проверять работу инфраструктуры и обнаружит, что на файловом сервере вместо данных пользователей лежит архив и текстовый файл с требованием выкупа. Что делать, как жить д ...
Tg: habr.com
115
Источник: TG-habr.com. Опубликовано: 04.08.2020 11:22 (+0300)
Адрес: https://t.me/habr_com/45352
[Перевод] Будущее Prometheus и экосистемы проекта (2020)
Прим. перев.: это перевод статьи, подготовленной по мотивам недавнего выступления Richard Hartmann — заметного представителя команды разработчиков Prometheus, директора по сообществам из Grafana Labs, основателя проекта OpenMetrics и председателя группы SIG Observability в CNCF. Автор подводит итоги последнего года в жизни Open Source-проек ...
Tg: habr.com
119
Источник: TG-habr.com. Опубликовано: 04.08.2020 10:55 (+0300)
Адрес: https://t.me/habr_com/45351
Пишем веб сервис на Python с помощью FastAPI
Знаю, знаю, наверное вы сейчас думаете «что опять?!».
Да, на хабре уже неоднократно писали о фреймворке FastAPI. Но я предлагаю рассмотреть этот инструмент немного подробнее и написать API своего собственного мини Хабра без кармы и рейтингов, зато с блэкджеком и с тестами, аутентификацией, миграциями и асинхронной работой с БД. Читать дальше →
http: ...
Tg: habr.com
117
Источник: TG-habr.com. Опубликовано: 04.08.2020 09:08 (+0300)
Адрес: https://t.me/habr_com/45349
Интервью с создателями нейросети Николай Иронов: как он устроен, в чем вообще фишка и почему все зовут его Колей → http://amp.gs/FT7h
Tg: habr.com
118
Источник: TG-habr.com. Опубликовано: 03.08.2020 17:51 (+0300)
Адрес: https://t.me/habr_com/45348
[Перевод] Профессиональное применение инструментов разработчика Chrome: 13 советов
Автор статьи, перевод которой мы сегодня публикуем, хочет поделиться советами по профессиональной работе с инструментами разработчика браузера. А именно, эти советы рассчитаны на программистов, которые по какой-то причине решили, что их основным браузером будет Google Chrome.
Читать дальше →
http://amp.gs/F8xx
Tg: habr.com
115
Источник: TG-habr.com. Опубликовано: 03.08.2020 17:12 (+0300)
Адрес: https://t.me/habr_com/45347
[Перевод] Руткиты на основе BIOS. Часть 1
Привет, Хабровчане!
В конце августа в OTUS запускается 2 мощных курса по обратной разработке кода (реверс-инжиниринг). В связи с этим приглашаем вас на День Открытых дверей, где Артур Пакулов (Ex-вирусный аналитик в Kaspersky Lab.) расскажет подробнее о программах, особенностях онлайн-формата, навыках, компетенциях и перспективах, которые ждут выпускников ...
Tg: habr.com
110
Источник: TG-habr.com. Опубликовано: 03.08.2020 16:00 (+0300)
Адрес: https://t.me/habr_com/45346
PHP-Дайджест № 185 (20 июля – 3 августа 2020)
Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 8 Alpha 3, PhpStorm 2020.2, новый оператор ?->, снова обсуждение синтаксиса атрибутов и другие новости PHP Internals, обзор системы типов в PHP, порция полезных инструментов, видео, стримы и многое другое.
Приятного чтения! Читать дальше →
http://amp.gs/FjMw
Tg: habr.com
114
Источник: TG-habr.com. Опубликовано: 03.08.2020 15:50 (+0300)
Адрес: https://t.me/habr_com/45345
Как перезапустить закон Мура программными методами. Ускорение софта в тысячи раз
Профессор Никлаус Вирт был прав. Создатель языка Pascal, соавтор технологии структурного программирования, лауреат премии Тьюринга в 1995 году заметил:
«Замедление программ происходит куда быстрее, чем ускорение компьютеров»
С тех пор это высказывание считается законом Вирта. Он фактически нивелирует закон Мура, сог ...
Tg: habr.com
115
Источник: TG-habr.com. Опубликовано: 03.08.2020 15:31 (+0300)
Адрес: https://t.me/habr_com/45344
Сколько стоит взломать почту: небольшой анализ рынка хакеров по найму
Адрес электронной почты — ключевой элемент защиты личных данных. На него часто завязаны другие учетные записи пользователя. Завладев чужим e-mail, злоумышленник в состоянии восстановить или сбросить пароли связанных со взломанной учеткой сервисов. Если человек не использует двухфакторную аутентификацию (2FA), то он практическ ...
Tg: habr.com
115
Источник: TG-habr.com. Опубликовано: 03.08.2020 13:33 (+0300)
Адрес: https://t.me/habr_com/45343
Интервью из мира хостинга: Антон Сверщевский из VDSina
В очередной раз с вами Леонид из Поиск VPS. Поздравляю всех с прошедшим днем сисадмина. Сегодня без долгих предисловий проведём интервью с Антоном Сверщевским (vdsina) — владельцем хостинга VDSina, одним из основателей Макхост и Евробайт.
Поехали
http://amp.gs/FjdE
Tg: habr.com
119
Источник: TG-habr.com. Опубликовано: 03.08.2020 13:22 (+0300)
Адрес: https://t.me/habr_com/45342
Так ли безопасен ваш iPhone? Обзор уязвимостей и тайных ходов в iOS
Пользовательские данные не являются разменной монетой. Компания Apple потратила значительные усилия для того, чтобы заслужить себе репутацию, стойко отбиваясь от ФБР и прочих представителей силовых структур, ищущих возможность произвольного сбора данных владельцев iPhone.
В 2016 г. Apple отказалась ослабить защиту iOS для того ...
Tg: habr.com
119
Источник: TG-habr.com. Опубликовано: 03.08.2020 13:12 (+0300)
Адрес: https://t.me/habr_com/45341
Возвращение Crew Dragon: Чем Боб и Даг занимались два месяца?
Вечером 2 августа закончился испытательный полет Crew Dragon SpaceX Demo-2. После двух месяцев на МКС астронавты Даг Хёрли и Боб Бенкен приводнились в Мексиканском заливе. И это время астронавты провели не в праздности, а выполняли работы как полноценные участники миссии 63 Международной космической станции, пусть их вахта и оказалась ...
Tg: habr.com
118
Источник: TG-habr.com. Опубликовано: 03.08.2020 12:16 (+0300)
Адрес: https://t.me/habr_com/45340
Сводка новостей:
— Ушел из жизни один из изобретателей компьютерной мыши Уильям Инглиш, http://amp.gs/FjCn
— На продажу выставили данные почти 1 млн водителей Москвы и Подмосковья, http://amp.gs/FjCx
— Анонимные электронные кошельки больше нельзя пополнять наличными, http://amp.gs/FjCC
— Пилотируемый корабль Crew Dragon успешно приводнился у берегов Флориды, http://amp.gs/FjCe
Все новости зд ...
Tg: habr.com
121
Источник: TG-habr.com. Опубликовано: 03.08.2020 12:07 (+0300)
Адрес: https://t.me/habr_com/45339
Microsoft подтвердила, что хочет купить долю TikTok в США, детали — http://amp.gs/Fjfy
Tg: habr.com
121
Источник: TG-habr.com. Опубликовано: 03.08.2020 10:52 (+0300)
Адрес: https://t.me/habr_com/45337
Готовим самый полный рейтинг айти-работодателей! Расскажите нам, что вы думаете про компании на рынке. Это отличный шанс вдоволь кого-то поругать или похвалить. Все детали тут — http://amp.gs/Fj89
Tg: habr.com
122
Источник: TG-habr.com. Опубликовано: 02.08.2020 19:01 (+0300)
Адрес: https://t.me/habr_com/45336
«Во всей этой истории меня заинтересовало то, как вычислили реальных персонажей, стоящих за этой атакой».
Небольшое расследование расследования по делу хакера, взломавшего Twitter: http://amp.gs/FIZO
Tg: habr.com
122
Источник: TG-habr.com. Опубликовано: 02.08.2020 17:00 (+0300)
Адрес: https://t.me/habr_com/45335
Как использовать десктоп без десктопа: обзор Samsung DeX.
Периодически бывают случаи, когда большой вычислительной мощности не нужно, но при этом хочется сидеть за любимым большим монитором и клавиатурой. Решением может стать интерфейс Samsung DeX: http://amp.gs/wbca
Tg: habr.com
123
Источник: TG-habr.com. Опубликовано: 02.08.2020 16:01 (+0300)
Адрес: https://t.me/habr_com/45334
Есть возраст?
Деменция косит всех подряд — эрудитов и полиглотов, знаменистостей и меценатов. Но чем выше интеллект, тем больше тот резерв, которым можно противостоять деменции: http://amp.gs/wboh
Tg: habr.com
122
Источник: TG-habr.com. Опубликовано: 02.08.2020 15:01 (+0300)
Адрес: https://t.me/habr_com/45333
На уходящей неделе мы заряжали флешки, исправляли графический баг Mass Effect, выходили с хакерским мультитулом на Кикстартер и осваивали продвинутую технику использования Git.
Лучшие публикации недели (27 июля — 2 августа): http://amp.gs/wbwG
Tg: habr.com
119
Источник: TG-habr.com. Опубликовано: 02.08.2020 14:01 (+0300)
Адрес: https://t.me/habr_com/45332
«Недавно я работал над серией материалов про systemd и узнал о том, что systemd-таймеры обладают некоторыми очень интересными возможностями».
Использование таймеров systemd вместо заданий cron: http://amp.gs/wb0N
Tg: habr.com
116
Источник: TG-habr.com. Опубликовано: 02.08.2020 13:00 (+0300)
Адрес: https://t.me/habr_com/45331
«Зимой был подготовлена новая версия цилиндра. Именно с этого момента можно отсчитывать хронологию проекта».
Свой двухтактный мотор — проект длиной в восемь лет: http://amp.gs/wbse
Tg: habr.com
117
Источник: TG-habr.com. Опубликовано: 02.08.2020 12:01 (+0300)
Адрес: https://t.me/habr_com/45330
Последнее обновление CentOS ломает GRUB2-efi загрузчики.
После запуска yum update на CentOS при последующей перезагрузке вас может поджидать сюрприз в виде окирпиченного сервера, который зависает на заставке биоса: http://amp.gs/wbrE
Tg: habr.com
117
Источник: TG-habr.com. Опубликовано: 02.08.2020 11:00 (+0300)
Адрес: https://t.me/habr_com/45329
«Просто похудеть» — непросто.
«В этой статье я постараюсь описать наиболее частые причины неудач и дать некоторые лайфхаки, который позволят обмануть свой мозг и наконец достигнуть своего так желаемого целевого веса»: http://amp.gs/wb47
Tg: habr.com
118
Источник: TG-habr.com. Опубликовано: 02.08.2020 09:00 (+0300)
Адрес: https://t.me/habr_com/45328
IBM открыла инструмент полностью гомоморфного шифрования для Linux.
Компания IBM опубликовала на GitHub исходный код набора инструментов FHE для Linux. Утилиты работают на платформах IBM Z и x86, поддерживаются Ubuntu, Fedora и CentOS: http://amp.gs/wbPv
Tg: habr.com
120
Источник: TG-habr.com. Опубликовано: 01.08.2020 21:00 (+0300)
Адрес: https://t.me/habr_com/45327
Реверс-инжиниринг чипа компьютера Commodore.
«В своём старом посте я писал, что работал над реверс-инжинирингом чипа PLA компьютера Commodore 128. Теперь я почти завершил этот процесс, поэтому настало время поделиться своими открытиями»: http://amp.gs/wbjA
Tg: habr.com
117
Источник: TG-habr.com. Опубликовано: 01.08.2020 19:31 (+0300)
Адрес: https://t.me/habr_com/45326
Главные IT-новости к этому часу.
_*🔥*_ Flipper Zero собрал $1 млн за полтора дня на Kickstarter: http://amp.gs/w6oH
_*🔥*_ Задержаны подростки, взломавшие Twitter: http://amp.gs/w6o2
Microsoft ведёт переговоры о покупке TikTok в США: http://amp.gs/w6ow
МТИ и Microsoft обучили алгоритм находить скрытые параллели между картинами: http://amp.gs/w6oF
Tg: habr.com
116
Источник: TG-habr.com. Опубликовано: 01.08.2020 19:01 (+0300)
Адрес: https://t.me/habr_com/45325
Как реализованы JIT-компиляторы.
В этой статье мы поговорим о подробностях реализации и работе разных JIT-компиляторов, а также о стратегиях оптимизации: http://amp.gs/w6Wv
Tg: habr.com
116
Источник: TG-habr.com. Опубликовано: 01.08.2020 18:01 (+0300)
Адрес: https://t.me/habr_com/45324
Светильники Gauss MiR: обзор и тест.
Тестируем два светильника стандартного «офисного» формата 600×600 мм, один из которых до часа может работать «без электричества»: http://amp.gs/w6Hw
Tg: habr.com
115
Источник: TG-habr.com. Опубликовано: 01.08.2020 17:00 (+0300)
Адрес: https://t.me/habr_com/45323
«На момент написания статьи ориентировочная конечная стоимость изделия составляет ~70 000 руб. Если у вас есть 3D-принтер, то можно смело вычесть из неё 20 000 руб.»
Дешёвый и полнофункциональный робот-манипулятор своими руками: http://amp.gs/w6DO
Tg: habr.com
114
Источник: TG-habr.com. Опубликовано: 01.08.2020 16:00 (+0300)
Адрес: https://t.me/habr_com/45322
«Если бы этим дизелем можно было бы заправить машину, то при среднем расходе 20 литров на 100 километров, на этом топливе можно было бы проехать 125 миллионов километров».
Как люди теряют энергию, которую сами же и создают. Пример Норильска: http://amp.gs/w6rP
Tg: habr.com
110
Источник: TG-habr.com. Опубликовано: 01.08.2020 15:00 (+0300)
Адрес: https://t.me/habr_com/45321
CSS и множественный фон.
«В этом материале я подробно расскажу о свойстве background-image, приведу наглядные примеры совместного использования нескольких фоновых изображений элемента, рассмотрю сильные стороны такого подхода»: http://amp.gs/w6VQ
Tg: habr.com
113
Источник: TG-habr.com. Опубликовано: 01.08.2020 14:00 (+0300)
Адрес: https://t.me/habr_com/45320
Успешный запуск. Марсоход на Марс. Запуски 2020 года: 58-й. 52-й успешный. 21-й от США.
С настойчивостью и упорством, проявляя изобретательность, американская программа исследования Марса радует нас новыми миссиями: http://amp.gs/w6P7