Pull to refresh
2
Karma
0
Rating
Gleb Palienko @ftdgoodluck

blockchain | crypto

Почему функциональное программирование такое сложное

Reading time 15 min
Views 87K
Perfect code *Scala *Functional Programming *
Tutorial

Я несколько раз начинал читать статьи из серии «Введение в функциональное программирование», «Введение в Теорию Категорий» и даже «Введение в Лямбда Исчисление». Причем и на русском, и на английском. Каждый раз впечатление было очень сходным: во-первых, много новых непонятных слов; во-вторых, много новых определений, которые возникают из ниоткуда; в-третьих, совершенно непонятно, как это использовать.


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


Попытки использовать как-то в работе изученные концепции разбивались о полное непонимание, как применить полученное глубокое знание. Ведь, напомню, что парадигму ФП (где-то удобнее, где-то не очень, но) можно использовать практически в любом ЯП, совсем необязательно для этого изучать условный Хаскель.

Читать дальше →
Total votes 176: ↑157 and ↓19 +138
Comments 714

Похек Wi-Fi встроенными средствами macOS

Reading time 13 min
Views 52K
Information Security *Wireless technologies *
Tutorial


TL;DR Встроенные средства macOS позволяют выполнить некоторые атаки на Wi-Fi-сети. В статье описывается, как с помощью встроенного в Macbook Wi-Fi адаптера AirPort и macOS похекать Wi-Fi.

Обычно для аудита безопасности Wi-Fi-сетей используется классическая связка: виртуалка с Kali Linux + внешний USB адаптер типа Alfa AWU-blabla1337. Но оказывается, что с помощью macOS и встроенного адаптера Broadcom тоже можно делать грязь.

Содержимое статьи:

  • Мониторный режим на встроенном адаптере
  • Расшифровываем WPA трафик
  • Ловим хендшейки и PMKID
  • Собираем под макось пацанские тулзы: hcxtools, hashcat, bettercap
  • Брутим хеши на онлайн-фермах и локально

Йоу, камон мазафака
Total votes 63: ↑62 and ↓1 +61
Comments 29

Удивительные возможности нейросетей 2019 года

Reading time 5 min
Views 22K
Algorithms *Machine learning *Artificial Intelligence The future is here


Кажется, не проходит и дня без того, чтобы в новостях не проскочило сообщение со словами «искусственный интеллект», «нейросеть», «машинное обучение». Это и не удивительно, алгоритмы постоянно совершенствуются, получают новые знания, включая информацию о каждом из нас. И это вырисовывает весьма интересные перспективы будущего, с персонализированными товарами, пищей и развлечениями. Но обо всем по порядку.
Total votes 19: ↑15 and ↓4 +11
Comments 16

Возможно, я жива только из-за неё: почему пациенты с апноэ полагаются на программу, написанную хакером

Reading time 11 min
Views 62K
Copyright Medical gadgets Health
Translation

Австралийский хакер потратил тысячи часов на взлом DRM, установленной производителями медицинского оборудования на СИПАП-машины, чтобы создать бесплатную программу, позволяющую пациентам регулировать процесс лечения




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

«Я не подходила ни под одно из описаний симптомов апноэ, — рассказала она мне по телефону. – Я женщина, у меня нет лишнего веса. Никому не приходило в голову проверить меня, кроме одного доктора, у которого была сходная история болезни».

Линн, живущая в сельской местности Аризоны, провела дома пульсоксиметрию, измеряющую уровень кислорода в крови, а потом прошла исследование сна. Ей поставили диагноз апноэ, заболевания, из-за которого пациенты внезапно перестают дышать во сне на некоторое время, и которое чаще всего преследует мужчин с лишним весом. Ей выдали СИПАП-машину (аппарат для искусственной вентиляции лёгких постоянным положительным давлением) с маской – это устройство задувает воздух в дыхательное горло, чтобы воздушные пути оставались открытыми – и отправили домой.
Читать дальше →
Total votes 73: ↑63 and ↓10 +53
Comments 75

Де-факто закрытые исходники: аргументы в пользу понятного софта

Reading time 6 min
Views 18K
Open source *
Translation
По следам истории «Бэкдор в одной из зависимостей библиотеки EventStream» — прим. пер.

Меня как давнего сторонника FOSS исключительно удручает то, что происходит в последние несколько лет с разными сообществами FOSS (за некоторым исключением, конечно).

Рассмотрим один из последних эпизодов в саге индустрии open source, которая понятия не имеет, что она делает в целом:

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

— @dominictarr, в заявлении о бэкдоре в библиотеке event-stream

TL;DR: Тарр отказался от поддержки своего популярного пакета для node.js. Ни один нормальный пользователь не захотел взять поддержку на себя, даже кто использовал библиотеку в своих проектах. Тарр передал пакет «полезному» незнакомцу, который сразу же монетизировал его с помощью кражи криптовалюты. Мнения публики разделились.
Читать дальше →
Total votes 59: ↑58 and ↓1 +57
Comments 169

Yew — Rust&WebAssembly-фреймворк для фронтенда

Reading time 14 min
Views 15K
JUG Ru Group corporate blog Rust *WebAssembly *
Yew — аналог React и Elm, написанный полностью на Rust и компилируемый в честный WebAssembly. В статье Денис Колодин, разработчик Yew, рассказывает о том, как можно создать фреймворк без сборщика мусора, эффективно обеспечить immutable, без необходимости копирования состояния благодаря правилам владения данными Rust, и какие есть особенности при трансляции Rust в WebAssembly.



Пост подготовлен по материалам доклада Дениса на конференции HolyJS 2018 Piter. Под катом — видео и текстовая расшифровка доклада.
Total votes 53: ↑50 and ↓3 +47
Comments 22

Лабораторная работа: введение в Docker с нуля. Ваш первый микросервис

Reading time 26 min
Views 313K
Configuring Linux *System administration *Server Administration *Development Management *DevOps *
Tutorial
Привет, хабрапользователь! Сегодня я попробую представить тебе очередную статью о докере. Зачем я это делаю, если таких статей уже множество? Ответов здесь несколько. Во-первых не все они описывают то, что мне самому бы очень пригодилось в самом начале моего пути изучения докера. Во-вторых хотелось бы дать людям к теории немного практики прямо по этой теории. Одна из немаловажных причин — уложить весь накопленный за этот недолгий период изучения докера опыт (я работаю с ним чуть более полугода) в какой-то сформированный формат, до конца разложив для себя все по-полочкам. Ну и в конце-концов излить душу, описывая некоторые грабли на которые я уже наступил (дать советы о них) и вилы, решение которых в докере просто не предусмотрено из коробки и о проблемах которых стоило бы задуматься на этапе когда вас распирает от острого желания перевести весь мир вокруг себя в контейнеры до осознавания что не для всех вещей эта технология годна.

Что мы будем рассматривать в данной статье?

В Части 0 (теоретической) я расскажу вам о контейнерах, что это и с чем едят
В Частях 1-5 будет теория и практическое задание, где мы напишем микросервис на python, работающий с очередью rabbitmq.
В Части 6 — послесловие
Читать дальше →
Total votes 108: ↑107 and ↓1 +106
Comments 36

Приемы при проектировании архитектуры игр

Reading time 11 min
Views 134K
Designing and refactoring *Game development *Unity3D *
К сожалению, нигде нет более менее полной публикации на тему проектирования архитектуры в играх. Есть отдельные статьи на конкретные темы, но нигде все это вместе не собрано. Каждому разработчику приходится самостоятельно по крупицам собирать подобную информацию, набивать шишки. Поэтому решил попробовать собрать часть из этого воедино в данной статье.

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

В публикации рассматриваются следующие темы:
  • Наследование VS компоненты
  • Сложные иерархии классов юнитов, предметов и прочего
  • Машины состояний, деревья поведений
  • Абстракции игровых объектов
  • Упрощение доступа к другим компонентам в объекте, сцене
  • Сложные составные игровые объекты
  • Характеристики объектов в игре
  • Модификаторы (баффы/дебаффы)
  • Сериализация данных

Читать дальше →
Total votes 40: ↑38 and ↓2 +36
Comments 30

17 технологических подкастов, которые стоит послушать

Reading time 4 min
Views 13K
Аудиомания corporate blog History of IT Biography of geeks Lifehacks for geeks Sound
Translation


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

Поскольку подкасты на протяжении последних двух лет приобретают все большее значения для меня и для множества людей в моем окружении, я подумал, что, возможно, пришло время рассказать о проектах, на которые я подписан, и которые находятся в моей очереди на прослушивание.
Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Comments 8

Пишем бота для MMORPG с ассемблером и дренейками. Часть 0

Reading time 4 min
Views 99K
Programming *.NET *Assembler *Game development *Reverse engineering *
Tutorial
Привет, %username%! Покопавшись в статьях хабра, я нашел несколько оных про написание ботов для MMORPG. Несомненно это очень интересные и познавательные статьи, но возможности в них весьма скудны. Что если, например нужно пофармить мобов или руду по заданному маршруту убивая агрессивных мобов, игроков и всех кто будет на Вас нападать по пути, выкрикивая им вслед непристойности, да что б еще и определить не смогли. В общем полная эмуляция среднестатистического MMORPG игрока. Написание макросов для AutoIt, симуляция кликов в окне, анализ пикселей под курсором — это совсем не наш вариант. Заинтриговал? Добро пожаловать под кат!
Грязные подробности
Total votes 92: ↑80 and ↓12 +68
Comments 61

Сертификация Microsoft

Reading time 16 min
Views 160K
Virtualization *Cloud computing *
Tutorial

Сертификация Microsoft предназначена для специалистов в различных областях, связанных с информационными технологиями, а также c сертификациями аппаратного и программного обеспечения на предмет совместимости с продуктами Microsoft.

Экзамены сдаются в центрах VUE. Экзамены по направлению Office сдаются в Certiport центрах тестирования.

Стоимость экзаменов обычно равна 80$ (60 EU), но некоторые экзамены могут стоить дешевле (60$).
Общую картинку можно увидеть на следующем плакате:
Читать дальше →
Total votes 30: ↑21 and ↓9 +12
Comments 14

300 потрясающих бесплатных сервисов

Reading time 11 min
Views 1.6M
Web design *Typography *Interfaces *
Translation


Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly.com Domain: Конструктор веб-сайтов.
  • Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
  • Withoomph: Мгновенное создание логотипов (англ.).
  • Hipster Logo Generator: Генератор хипстерских логотипов.
  • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
  • Invoice to me: Бесплатный генератор счета.
  • Free Invoice Generator: Альтернативный бесплатный генератор счета.
  • Slimvoice: Невероятно простой счет.

Читать дальше →
Total votes 341: ↑325 and ↓16 +309
Comments 107

27 новых бесплатных курсов виртуальной академии Microsoft Virtual Academy, февраль 2015

Reading time 11 min
Views 40K
Microsoft corporate blog Website development *Microsoft Azure *Angular *
image

В этом обзоре мы поговорим про бесплатные курсы виртуальной академии Microsoft MVA, которые будут полезны как профессиональным разработчикам программного обеспечения и ИТ-про, так и новичкам. Некоторые курсы предлагают бесплатную подготовку к официальным сертификационным экзаменам. Обратите внимание, что видео-плеер на сайте для ряда курсов, которые созданы на английском языке, содержит возможность включить русские субтитры.

Хит! Экспресс-погружение в разработку приложений на JavaScript

Если вы занимаетесь разработкой на JavaScript, то этот курс поможет вам разобраться в том, что вас ждет уже в ближайшем будущем. Мы постарались дать краткий обзор новых тенденций и современных возможностей в разработке приложений на JavaScript: будь это сложные веб-решения, приложения для Windows или кроссплатформенные приложения, или игры. Так же мы немножко заглянем в будущее и посмотрим на возможности следующей версии стандарта JavaScript – ECMAScript 6 и затронем новые сферы, в которых уже сегодня можно применять JS.

Хит! Введение в AngularJS

Веб-разработчики, если вам понравился модуль Введение в AngularJS в курсе Одностраничные приложения с jQuery и AngularJS, то приготовьтесь к еще более мощному курсу! По многочисленным запросам эксперты Stacey Mulcahy и Christopher Harrison продемонстрируют вам как использовать встроенную функциональность AngularJS в ваших приложениях. Узнайте о самых полезных задачах, которые помогает решить AngularJS и разберите на примере простого приложения функции и особенности Фреймворка, включая Directives, Databinding, Expressions и Filtering. Плюс, научитесь таксономии, языку, структуре и еще большему. Приступайте к этому информативному курсу целиком посвященному AngularJS!

Хит! Разработка современных приложений на C#

Основная задача курса – показать мощь современной платформы Microsoft .NET и управляемых языков, в частности — языка программирования C# (хотя мы также коротко показываем, как прекрасен может быть F#). В обзорной форме мы рассказываем о том, как C# можем применяться для создания универсальных приложений на платформе Windows, облачных сервисов, а также устройств для «интернета вещей» и мобильных роботов.
Читать дальше →
Total votes 31: ↑22 and ↓9 +13
Comments 0

Twitter открывает исходный код движка, заменяющего эмоджи на картинки

Reading time 4 min
Views 8.2K
Social networks and communities
Речь здесь пойдёт о символах-картинках и о том, как отображать их.

По-японски они называются «絵文字» (где «絵» означает «картинка», а «文字» — «символ») или «えもじ», и произношение этого названия можно передавать разными способами: по Хэпбёрну «emoji», по Поливанову «эмодзи», в киричзи у Тассадара — «эмочзи», по Сергею Грису «эмоджи» через мягкий «жи». Этот последний вариант мне больше всего нравится, его-то я и стану использовать и в заголовке, и в тексте.

Что такое эмоджи? Это миниатюрные пиктограммы и идеограммы, которые можно вставлять в текст почти так же, как и буквы.

Эмоджи многочисленны. Первый набор эмоджи (который придумал Курита для технологии i-mode в 1998 или 1999 году) содержал 172 символов, состоявших всего-навсего из 12×12 пикселов. Через десять лет в Unicode 6.0 (2010 г.) было ужé 722 эмоджи, а стандарт нынешнего года (Unicode 7.0) дополнил их число ещё примерно четвертью тысячи эмоджи.

Эмоджи разнообразны. Среди них есть знаки эмоций (смайлики круглоголовые или со звериными ушками, а также различные жесты и позы), знаки Зодиака, шахматные фигуры, грани игральной кости, масти карт, любовные сердечки, священные символы, некоторые значки компьютерного интерфейса (GUI), стрелочки, галочки, крестики (прямые и косые), звёздочки, снежинки, обозначения разных родов транспорта, миниатюрные изображения современных элементов бытовой техники бытовых и технических приборов, орудий и инструментов, обозначения различных вариантов прогноза погоды, различных растений, цветов, зверушек, блюд (в основном японской национальной кухни), фаз луны, часов дня, празднеств, времён года, музыкальных инструментов, спортивных состязаний, аттракционов, различных зданий (гостиничных, вероисповедных, больничных, фабричных…), и так далее, и так далее.

А выражение «почти так же» я чуть выше употребил потому, что эмоджи всё же нельзя в полной мере считать обычными символами. На то есть две причины.

Читать дальше →
Total votes 22: ↑19 and ↓3 +16
Comments 17

Как формальный менеджмент целый отдел загубил

Reading time 8 min
Views 83K
GTD *


Формальный менеджмент — необходимое явление при управлении крупными проектами. Он позволяет структурировать и упорядочить работу и взаимоотношения в подконтрольном коллективе или организации. Однако, если формальный менеджмент, в первую очередь, в постановке целей и задач самому себе и подчиненным пересекает некоторую точку невозврата, он начинает деструктивно влиять на работу и снижает эффективность. Именно такую историю, об искаженном излишним формализмом исполнении целей по развитию отдела со стороны менеджмента я и хочу вам рассказать.

Цели: классические. Повысить качество работы, эффективность, вывести отдел на новый уровень в целом.
Читать дальше →
Total votes 42: ↑34 and ↓8 +26
Comments 38

Первый браузер специально для разработчиков: уже скоро

Reading time 1 min
Views 47K
Firefox Website development *
Translation
Мы в Mozilla понимаем, что разработчики — это фундамент веба, поэтому мы активно продвигаем стандарты и продолжаем разрабатывать отличные инструменты, чтобы облегчить вам создание отличного веб-контента и приложений.

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

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

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


Читать дальше →
Total votes 81: ↑66 and ↓15 +51
Comments 48

Overclock мозга или Внутренняя виртуализация сознания

Reading time 29 min
Views 453K
Biotechnologies Brain
Tutorial


Все помнят этот фильм? Какого черта он делает на Хабре? И вообще что тут делает подобный пост?
Наверное потому, что я считаю главным звеном в IT все таки человека, а точнее его мозги. Я попробую рассказать еще об одной возможности использовать свой мозг чуточку эффективнее. Одна из слабо задокументированных возможностей, которую мы используем каждый день, но не всегда даже об этом вспоминаем. Все описанное проверялось на мне. Если что-то я не пробовал, но рассказать об этом важно буду отмечать особо. Никаких наркотиков, аппаратов и издевательств над собой, только общедоступные легкие методики (короче, лег проспался и вперед, не вставая даже с кровати).
И да… Это до жути реалистично, на столько, что попробовав, вы не сможете не рассказать об этом.

Что бы не было лишних криков в комментах, попрошу всех кто ярых сторонников любой религии и конфессии, а так же убежденных эзотериков сразу поставить минус в карму и не читать дальше. Здесь не будет философии и великих вселенских тайн. А остальных прошу под кат — попробую рассказать о своей практике разгона мозга с помощью встроенных функций.
ночь как полигон для...
Total votes 224: ↑172 and ↓52 +120
Comments 292

ФСБ не относит Google Glass к специальным средствам

Reading time 1 min
Views 113K
IT-companies
Некоторые думали, что в России Google Glass могут отнести к изделиям категории специальных технических средств и очки будут запрещены в России.


Читать дальше →
Total votes 177: ↑156 and ↓21 +135
Comments 97

500 слов в минуту без подготовки

Reading time 1 min
Views 516K
Gadgets


Обычная скорость чтения на русском языке составляет 120—180 слов в минуту. С помощью долгих тренировок можно повысить её где-то до 600 слов в минуту. Совсем недавно небольшой стартап из Бостона представил новую технологию под названием Spritz.

Мне удалось без подготовки читать со скоростью 500 слов в минуту. Разработчики утверждают, что можно достигнуть 1000; без ущерба для смысла. Более того, утверждается, что использование Spritz также увеличивает скорость чтения обычных текстов.

Вероятно, теперь можно ожидать появления устройств с крошечными экранами, которые составят конкуренцию традиционным электронным книгам. Очень рекомендую ознакомиться с демкой на сайте.
Total votes 243: ↑210 and ↓33 +177
Comments 272

Персональные финансы – больше, чем просто учет доходов/расходов

Reading time 5 min
Views 80K
Finance in IT
Sandbox
О чем

Этой темой я хочу открыть серию статей о личных финансах, в которых я постараюсь вкратце изложить суть персональных финансов и личного финансового планирования, исходя из своего практического опыта, а также знаний, которые были почерпнуты (и отфильтрованы) из книг и семинаров. Хочу поделиться этим, потому что «деньги любят счет», а мы об этом часто забываем, что, в последствии, вылезет нам боком. Персональные финансы — это не только учет доходов и расходов в Excel или на смартфоне, это достижение жизненных целей более кратким и, возможно, единственно правильным путем. Эта тема не о том, как и куда инвестировать! Я наоборот вас отговорю делать многие глупые вещи, потому что сам конкретно влип в свое время. Эта тема о том, как сохранить и приумножить безопасно. Самое интересное — все довольно легко, не требует ущемления себя в чем-то — вы живете так же, как и жили. Но при этом достигаете большего.

Почему

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

Откуда мне знать

Стоит, наверное, вкратце рассказать о своем опыте, кому будет интересно — опишу детальнее как-то всю историю. В 2003 прочитал уже всем надоевшего Киосаки. С этого момента меня прорвало, я захотел, как он стал интересоваться персональными финансами и инвестированием. За эти 10 лет я успел заработать и потерять деньги (в основном потерять и ОЧЕНЬ много, потому что основные движения пришли в 2007-2008, когда терять начали даже самые умные эХсперты, не говоря уже о простых людях ) на следующих инструментах: банки, кредитные союзы, фондовый рынок, Forex, земля, недвижимость, валютные операции — это, что вспомнил. Только года три назад пришло наконец «осознание» и я начал делать адекватные вещи в этом направлении. До этого действия предпринимались на основе теорий и мыслей/советов других людей. Кризис научил думать своей головой и я ни о чем не жалею.

Читать дальше →
Total votes 62: ↑46 and ↓16 +30
Comments 57

Information

Rating
Does not participate
Registered
Activity