Как стать автором
Обновить
35
0
paradoxs @paradoxs

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

Отправить сообщение

Визуализация concurrency в Go с WebGL

Время на прочтение12 мин
Количество просмотров37K
Одной из самых сильных сторон языка программирования Go является встроенная поддержка concurrency, основанная на труде Тони Хоара «Communicating Sequential Processes». Go создан для удобной работы с многопоточным программированием и позволяет очень легко строить довольно сложные concurrent-программы. Но задумывались ли вы когда-нибудь, как выглядят различные паттерны concurrency визуально?

Конечно, задумывались. Все мы, так или иначе, мыслим визуальными образами. Если я попрошу вас о чём-то, что включает числа «от 1 до 100», вы мгновенно их «увидите» в своей голове в той или иной форме, вероятно даже не отдавая себе в этом отчёт. Я, к примеру, ряд от 1 до 100 вижу как линия с числами уходящая от меня, поворачивающая на 90 градусов вправо на числе 20 и продолжающая до 1000+. И, покопавшись в памяти, я вспоминаю, что в самом первом детском саду в раздевалке вдоль стены были написаны номерки, и число 20 было как-раз в углу. У вас же, вероятно, какое-то свое представление. Или вот, другой частый пример — представьте круглый год и 4 сезона года — кто-то их видит как квадрат, каждая грань которого принадлежит сезону, кто-то — как круг, кто-то ещё как-то.

Так или иначе, позвольте мне показать мою попытку визуализировать основные паттерны concurrency с помощью Go и WebGL. Эти интерактивные визуализации более-менее отражают то, как я вижу это в своей голове. Интересно будет услышать, насколько это отличается от визуализаций читателей.

Читать дальше →
Всего голосов 91: ↑88 и ↓3+85
Комментарии21

Фальшивомонетчики против банкиров: стравливаем adversarial networks в Theano

Время на прочтение13 мин
Количество просмотров35K
image
Вы бы никогда не подумали, но это прогулка по пространству нейросети-фальшивомонетчика. Сделано крутейшими людьми Anders Boesen Lindbo Larsen и Søren Kaae Sønderby

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

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

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

Ну, раз так, давайте попробуем их подделать.
Осторожно, тяжелые гифки
Всего голосов 34: ↑34 и ↓0+34
Комментарии22

Почему биткоин провалился: окончание эксперимента с биткоинами

Время на прочтение14 мин
Количество просмотров97K
Я провел более пяти лет в роли разработчика системы биткоин. Миллионы пользователей и сотни разработчиков использовали мои программы, а мои лекции привели к созданию нескольких стартапов. Я рассказывал про биткоин на Sky TV и BBC News. Меня цитировали в Economist в качестве эксперта по биткоинам и известного разработчика. Я объяснял эту тему для SEC, банкирам и обычным людям в кафе.

И с самого начала я утверждал, что биткоин – это эксперимент, и как любой эксперимент, он может провалиться. Не инвестируйте то, что вы не готовы потерять. Я говорил об этом в интервью, на докладах и писал в почте. Как делали и другие известные разработчики – Гевин Андресен и Джефф Гарзик.

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

Почему биткоин провалился? Потому, что провалилось сообщество. То, что должно было стать новым, децентрализованным видом денег, не использующих «важные системные учреждения», и было «слишком большим, чтобы провалиться», стало чем-то более ужасным – а именно, системой, контролируемой небольшой группкой людей. Более того, сеть близка к техническому коллапсу. Механизмы, которые должны были предотвратить этот коллапс, сломались, и в результате нет смысла мечтать, что биткоин может стать лучше существующей финансовой системы.

Подумайте об этом. Если бы вы никогда не слышали про биткоин раньше, понравилась ли бы вам сеть платежей, которая:

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


Рискну предположить, что ответ будет «нет».
Читать дальше →
Всего голосов 74: ↑64 и ↓10+54
Комментарии77

Генераторы дискретно распределенных случайных величин

Время на прочтение8 мин
Количество просмотров39K
Данная статья является продолжением поста Генераторы непрерывно распределенных случайных величин. В этой главе учитывается, что все теоремы из предыдущей статьи уже доказаны и генераторы, указанные в ней, уже реализованы. Как и ранее, у нас имеется некий базовый генератор натуральных чисел от 0 до RAND_MAX:

unsigned long long BasicRandGenerator() {
    unsigned long long randomVariable;
    // some magic here
    ...
    return randomVariable;
}

С дискретными величинами все интуитивно понятнее. Функция распределения дискретной случайной величины:


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

Распределение Бернулли




Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии9

Почему расчет перцентилей работает не так как вы ожидаете?

Время на прочтение12 мин
Количество просмотров95K
Часто клиенты спрашивают нас о p99-метрике (99-й перцентиль).

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

(Это перевод статьи которую написал Baron Schwartz.)
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии15

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

Время на прочтение3 мин
Количество просмотров112K


В нашем блоге на Хабре мы часто пишем о создании почтовых рассылок — верстке HTML и CSS, работе с plain-text сообщениями и описываем интересные эксперименты. Сегодня мы представляем вашему вниманию список из 60 полезных ресурсов, туториалов и исследований о работе с email.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии4

Применение машинного обучения для увеличения производительности PostgreSQL

Время на прочтение10 мин
Количество просмотров22K
image

Машинное обучение занимается поиском скрытых закономерностей в данных. Растущий рост интереса к этой теме в ИТ-сообществе связан с исключительными результатами, получаемыми благодаря ему. Распознавание речи и отсканированных документов, поисковые машины — всё это создано с использованием машинного обучения. В этой статье я расскажу о текущем проекте нашей компании: как применить методы машинного обучения для увеличения производительности СУБД.
В первой части этой статьи разбирается существующий механизм планировщика PostgreSQL, во второй части рассказывается о возможностях его улучшения с применением машинного обучения.

Читать дальше →
Всего голосов 45: ↑44 и ↓1+43
Комментарии6

COUNT(*)

Время на прочтение7 мин
Количество просмотров122K


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

Давайте начнем с простого… Эти запросы отличаются чем-то друг от друга с точки зрения конечного результата?

SELECT COUNT(*) FROM Sales.SalesOrderDetail
SELECT COUNT_BIG(*) FROM Sales.SalesOrderDetail
Подробнее
Всего голосов 84: ↑57 и ↓27+30
Комментарии74

10 главных ошибок масштабирования систем

Время на прочтение7 мин
Количество просмотров52K
Мартин Л. Эббот и Майкл Т. Фишер, авторы книги «Искусство масштабируемости», перечисляют наиболее распространенные архитектурные, организационные и технологические проблемы масштабировании в product-группах. Список был сформирован на основе их опыта, а также в ходе коммуникаций с клиентами и лег в основу первой книги.

Архитектурные ошибки



Читать дальше →
Всего голосов 53: ↑45 и ↓8+37
Комментарии33
У нас для вас плохие новости! Заплатив за код или дизайн сотрудникам или фрилансерам, вы НЕ становитесь его владельцем. Передавая такой продукт заказчику, студия подставляет и его, и себя.
Wait! What?
Всего голосов 59: ↑36 и ↓23+13
Комментарии54

Подальше от обыденной реальности: фантастические романы, которые стоит прочитать

Время на прочтение4 мин
Количество просмотров142K
image

Фантастика как жанр заставляет читателей и писателей выйти за пределы разумного, дать волю своему воображению и отправиться в неизведанные миры. За это мы и любим этот жанр. RoboHunter этой осенью предлагает с головой погрузиться в мир научной фантастики.
Читать дальше →
Всего голосов 63: ↑59 и ↓4+55
Комментарии273

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

Время на прочтение4 мин
Количество просмотров27K
Вчера Apple провела Special Event, на котором были представлены обновленные Watch и iPhone 6S, новейшие iPad Pro и AppleTV. Мероприятие прошло очень динамично, вся команда Бандерольки наблюдала за ним с огромным интересом. Не будем высказывать своё мнение о каждом продукте. Скажем лишь, что Apple — большие молодцы: не спеша они делают нашу жизнь лучше.



Но поговорить мы бы хотели о другом: как купить всю эту красоту первыми и не платить при этом три цены перекупщикам? Да очень просто: надо покупать в американском Apple Store, сразу как только появится возможность предзаказа. Под катом мы по пунктам опишем процесс покупки, который, к слову, применим не только к технике Apple.
Читать дальше →
Всего голосов 37: ↑28 и ↓9+19
Комментарии60

Зарабатывающая идея реального форекс-робота

Время на прочтение10 мин
Количество просмотров118K
Общеизвестно, что заработать на форекс невозможно. Изменения курсов валют носят случайный характер, а комиссия брокера уменьшает вероятность положительного итогового заработка, часто делая ее совсем непривлекательной, ― ниже, чем в казино, например. Тем не менее, я содержу себя и свои проекты исключительно за счет форекс уже три года, я шел к этому около 7 лет и, вспоминая этот путь, решил написать заметку для тех, кого привлекает эта антинаучная возможность заработка.

Речь пойдет не о чудесных Граалях, продаваемых в интернете, не о высокочастотной торговле и не о «безрисковых» вложениях в мифические ТОП-20 лучших трейдеров. Только хардкор: мы проводим многочисленные торговые операции, кто-то вручную, кто-то ― автоматически, и получаем в результате этих операций положительный прирост счета при статистически значимом количестве сделок.
Читать дальше →
Всего голосов 104: ↑66 и ↓38+28
Комментарии122

По-настоящему адаптивные письма. Часть вторая. Фреймворк

Время на прочтение3 мин
Количество просмотров29K

Картинка для привлечения внимания честно сперта у invisionapp (кстати, у них божественная рассылка)

С момента публикации последнего поста прошло ни много ни мало, полтора месяца, но на то были причины. Уйма работы и бредовые мысли задрота-верстальщика. Сначала я собирался просто перенять приемы Николь Мерлин для верстки писем себе, но потом хипстерская голова подумала: А почему бы не зафигачить целый фреймворк? Громкое слово для моей поделки, но мне приятно его так называть. Начнем с простого.
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии8

«Кто на первой базе» — новый географический справочник от Mapzen

Время на прочтение17 мин
Количество просмотров11K

Маленькая версия




Все административные единицы! Пока всё сыро и сложно!!! Но это пока!!!

Большая версия


Mapzen создаёт географический справочник административных единиц. Не то, чтобы всех, но подавляющего большинства, и, мы надеемся, большинства их видов. Географический справочник — это большой список административных единиц, каждая из которых имеет постоянный идентификатор и некоторое количество свойств, описывающих их местонахождение. Интересно рассматривать справочник как пространство, где дебаты вокруг административных единиц ведутся, но не решаются. Мы называем наш справочник «Who’s On First» (Кто на первой базе), или короче — «WOF».

Читать дальше →
Всего голосов 20: ↑17 и ↓3+14
Комментарии6

«Ваша конфиденциальность очень важна для нас». Читаем Заявление о конфиденциальности корпорации Майкрософт

Время на прочтение16 мин
Количество просмотров140K
Прошлая неделя во многом прошла под знаком Microsoft — точнее обсуждения того, какие персональные данные собирает новая операционная система. Но прежде, чем подробно разобрать этот вопрос, позволю себе цитату из The Guardian:

Несколько жителей Лондона согласились с условием «отдать своего первенца», чтобы получить доступ к бесплатному Wi-Fi в одном из оживленных районов столицы Великобритании во время проведения эксперимента, исследующего опасности использования публичных точек доступа. Люди, не знавшие об эксперименте, пытались найти Wi-Fi, и, обнаружив бесплатную сеть, бездумно «подписывали пользовательское соглашение», даже не прочитав его. Между тем, за доступ в Интернет от пользователя требовали отдать провайдеру своего старшего ребенка «на веки вечные».
После того, как шесть человек согласились с таким условием, эта часть эксперимента был прекращена.

Ну а теперь посмотрим, что хочет знать о нас Microsoft.
Читать дальше →
Всего голосов 116: ↑104 и ↓12+92
Комментарии259

How-to: Правила вёрстки email-писем

Время на прочтение16 мин
Количество просмотров184K


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

Вёрстка HTML для электронной почты — интересная и довольно сложная задача. Письма должны одинаково хорошо отображаться на старых устройствах и версиях программных клиентов.

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

Примечание переводчика: Представленный ниже материал содержит значительное количество технических терминов, при переводе которых могут возникнуть неточности. Если вы заметили опечатку, ошибку или неточность перевода — напишите нам, и мы оперативно всё исправим.
Читать дальше →
Всего голосов 30: ↑26 и ↓4+22
Комментарии21

PostgreSQL: Приемы на продакшене

Время на прочтение9 мин
Количество просмотров90K
Можно прочитать много книг по базам данных, написать кучу приложений на аутсорс или для себя. Но при этом невозможно не наступить на грабли, при работе с действительно большими базами/таблицами особенно, когда downtime на большом проекте хочется свести к минимуму, а еще лучше совсем избежать. Вот здесь самые простые операции, как например изменение структуры таблицы может стать более сложной задачей. Наиболее интересные случаи, проблемы, грабли и их решения из личного опыта с которыми нам на проекте Pushwoosh пришлось столкнуться описаны под катом. В статье нет красивых картинок, зато есть много сухого текста.

image
Читать дальше →
Всего голосов 75: ↑70 и ↓5+65
Комментарии18

7 простых советов по оптимизации писем под мобильные устройства

Время на прочтение3 мин
Количество просмотров7.2K
Более половины всех почтовых рассылок подписчики просматривают на мобильных устройствах. Поэтому верстать эти сообщения так, чтобы их было удобно читать на маленьком экране, просто необходимо. Сегодня мы рассмотрим несколько простых советов создания mobile-friendly почтовых писем.

Почему это вообще важно?


В период с 2010 по 2015 год число email-писем, открываемых на мобильных устройствах, выросло на 30%:



Если письма, которые компании отправляют подписчикам, не оптимизированы для просмотра на маленьких экранах, то значительная часть аудитории просто не станет их читать и будет потеряна. И вот как можно этого избежать.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии4

4 cкрипта для обработки самых сложных Email от клиентов

Время на прочтение4 мин
Количество просмотров30K
Друзья, по долгу службы мы следим за полезными материалами о работе службы поддержки на английском языке. К нашему большому сожалению, действительно полезных и нужных материалов на русском языке очень мало. Поэтому мы решили исправить эту несправедливость и внести свой вклад в развитие клиентского сервиса в России.

image

Сегодня мы публикуем отличную статью из блога компании Groove о поддержке клиентов. В материале идет речь о том, как правильно и неправильно использовать скрипты в поддержке по Email. Также приведены шаблоны ответов на самые каверзные вопросы клиентов о скидках и фичах, ответы на гневные письма и “когда все пропало”.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии7

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность