Search
Write a publication
Pull to refresh
23
0
Иван Клименко @yeswell

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

Send message

Делаем свой итератор

Reading time6 min
Views86K
Не часто возникает необходимость создать свой итератор и хотелось бы иметь под рукой небольшой HowTo. В этой заметка хочу рассказать как создать простейший итератор, который можно использовать в стандартных алгоритмах типа std::copy, std::find. Какие методы и определения типов нужны в классе контейнере, чтобы его можно было обходить в циклах for из c++11 и BOOST_FOREACH.

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

Мессенджеровские чтения профессора Ричарда Фейнмана

Reading time1 min
Views26K


Ещё в прошлом году мы начали перевод и озвучку Мессенджеровских лекций Нобелевского лауреата по физике Ричарда Фейнмана, которые он прочитал в Корнелльском университете в 1964 году.

В прошлом году нам удалось опубликовать 2 лекции из 7. И вот, благодаря нашим подписчикам, мы выпустили 3-ю лекцию, в которой Ричард Фейнман рассказывает о том, какие существуют законы сохранения, как они работают и какие у них есть сходства.

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

Как конструировать слова (от автора, который ненавидит читать)

Reading time4 min
Views25K
Честно говоря, я писатель. Мне платят за то, чтобы я писал слова. Но есть вещь, которую большинство обо мне не знают: я ненавижу читать.

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

image

Все что я вижу — простыня слов.

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

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

CSS-стили для печати, о которых я забыл

Reading time8 min
Views85K
image


Аарон Густафсон недавно отправил твит Indiegogo, в котором было сказано, что при распечатке их страниц с информацией о заказе получается нечто совершенно неприличное. И понеслооось.

Пять форм блокчейн-денег, доступных уже сейчас

Reading time4 min
Views8.8K
imageВы наверняка слышали о блокчейн — коллективном реестре данных, обеспечивающем работу Биткойн. Однако Биткойн — далеко не единственный пример использования этой технологии, ведь на самом деле она способна предложить гораздо больше нового как для мира денег, так и для других сфер человеческой деятельности, нежели только Биткойн.

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


По-настоящему анонимные деньги


Биткойн ранее часто упоминался в контексте анонимности, благодаря тому, что именно это свойство использовал Silk Road и другие онлайн-рынки торговли наркотиками. В целом Биткойн может быть анонимен, если пользоваться им крайне осторожно. Однако в реальном мире такое свойство блокчейн, как прозрачность, приводит к тому, что транзакции зачастую поддаются отслеживанию. Это плохие новости не только для преступников, но и для всех, у кого есть законные причины сохранять информацию о своих финансах в тайне (то есть, пожалуй, для всех нас). В итоге за последние 2 или 3 года появилась масса криптовалют, предлагающих усиленные меры по защите личной информации.
Читать дальше →

Парадокс Rimworld: захватывающая сюжетом «песочница»

Reading time9 min
Views66K

Чью сказку вы хотите послушать?

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

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

Но про то, как это работает, чуть позже. Сразу главное – влюбиться в эту игру можно за потрясающий сюжет. Который «размазан» по миру. Сюжет, которого, в принципе, нет.

Итак, начало первой игры: ваш корабль взрывается. Вы едва успеваете добежать до капсул и приземляетесь на поверхности. 30 аварийных рационов питания, стальные обломки, оружие. Рядом – руины каких-то древних зданий.
Читать дальше →

«Да ты гонишь!». Как оверклокеры изменили компьютерную индустрию

Reading time10 min
Views25K
Привет, %username%! В отношениях создателей и пользователей техники всегда есть место хитрости, причём чаще всего ограничения и ловушки оставляет производитель, а за вмешательство в купленную электронику иные бренды готовы патентами по голове настучать. Но лишь в ПК способ «отвоевать искомое» у создателей железа перевернул всё и превратился из набора трюков в спорт и кузницу лучших компьютерных комплектующих. Вспоминаем, как появился разгон, почему с ним боролись раньше, а теперь боготворят.

Интерполяция замкнутых кривых

Reading time8 min
Views17K
Всем привет! Недавно возникла практическая необходимость использовать интерполяцию для замкнутых кривых. Проект разрабатывался под .Net на C#, а готовых реализаций алгоритма я не обнаружил, впрочем, как и для других языков и технологий. В результате пришлось самому изучить мат.часть существующих методов и написать свою библиотеку. Наработками и готовым решением готов поделиться с вами.


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

Мозг. Вводный курс: познакомьтесь с вашим хозяином и повелителем

Reading time7 min
Views54K


Рискну начать со смелого заявления и сказать, что вы – это ваш мозг. Всё, что вы думаете, чувствуете и переживаете, случается в мозге, и, возможно, исключительно из-за мозга. Ваше сознание возникает в нём, ваша любовь живёт там, ваше раздражение лающей по ночам соседской собакой также расположено там (хотя многие философы, изучающие сознание, поспорили бы с таким редукционизмом). Поэтому мне не кажется очень плохой идея изучить основные работы нашего Лорда-командующего Мозгового Дозора (извините).

1. Нейроны и как они беседуют друг с другом.


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

image
Небольшой набор того, что на самом деле есть у вас в голове
Читать дальше →

Эффективное использование Github

Reading time13 min
Views127K

Github — важная часть жизни современного разработчика: он стал стандартом для размещения opensource-проектов. В «2ГИС» мы используем гитхаб для разработки проектов web-отдела и хостинга проектов с открытым кодом.

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


Содержание



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

Низшие приматы тоже предпочитают алкогольные напитки

Reading time5 min
Views20K

Мадагаскарская руконожка (известна также как ай-ай или айе-айе), один из приматов, способных к метаболизму алкоголя в больших количествах

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

Лучшие пакеты для машинного обучения в R, часть 1

Reading time5 min
Views19K
Один из наиболее частых вопросов, с которыми сталкиваются специалисты по обработке и анализу данных — «Какой язык программирования лучше всего использовать для решения задач, связанных с машинным обучением?» Ответ на этот вопрос всегда приводит к сложному выбору между R, Python и MATLAB. Вообще говоря, никто не может дать объективный ответ, какой же язык программирования лучше. Конечно, язык, который вы выбираете для машинного обучения, зависит от ограничений конкретной задачи и данных, предпочтений самого специалиста и тех методов машинного обучения, которые нужно будет применить. Согласно опросу о любимом инструменте пользователей Kaggle для решения задач анализа данных R предпочитают 543 из 1714.

Сейчас в CRAN доступен 8341 пакет. Кроме CRAN, есть и другие репозитории с большим количеством пакетов. Синтаксис для установки любого из них прост: install.packages(“Name_Of_R_Package”).

Вот несколько пакетов, без которых вы вряд ли обойдетесь, как специалист по анализу данных: dplyr, ggplot2, reshape2. Безусловно, это не полный список. В этой статье мы подробнее остановимся на пакетах, применяемых в машинном обучении.
Читать дальше →

Игра, которая не игра

Reading time4 min
Views69K


Привет!

Когда я рассказывал про сюжетно-ориентированные игры, я думал, что пример прибитых к голове героя рельсов сюжета – это Mass Effect. Но нет, в полку интерактивных фильмов прибыло, и прибыло так, что прямо хочется сказать о новом направлении игр.

Короче, у вас есть игра. Только в неё нельзя выиграть или проиграть. И в ней нельзя ничего поменять. И вы ни на что не влияете. Но при этом она интересная. Как игра, а не как фильм. Называется Firewatch.

Пошли, покажу этот оксюморон.
Читать дальше →

Опыт перехода с Sublime на Vim

Reading time22 min
Views77K


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

Я достаточно долгое время использовал sublime (около 4 лет) в качестве основной среды разработки, но в последнее время кое-что изменилось: я освоил слепой 9-ти пальцевый метод печати. В тот момент я начал понимать людей, которым неудобно тянуться к мышке или стрелочкам. Убирать пальцы с «домашних» позиций стало неестественно и непродуктивно. Тогда я включил vintage. Проблема, вроде бы, стала неактуальна, но чего-то не хватало. Не помню, что заставило меня пересесть за vim, но мне всегда нравилось, как в нем выделяются фигурные скобки (MatchParen) и как выглядит курсор :). Vim я пробовал и до этого, когда правил конфиги на сервере, правда, вся «магия» ограничивалась переходом в режим вставки и успешным сохранением/выходом из редактора.
Читать дальше →

VIM: зачем, если есть IDE, и как?

Reading time4 min
Views131K

Сегодня вышел текст о том, как человек перешёл с Sublime на VIM. В комментариях, как обычно это бывает, появились сообщения в духе "Зачем мне тратить время на Vim, если есть IDE, где всё работает?" (люди даже статьи на эти темы пишут). Хотел внести свои пять копеек, но объём написанного плавно перевёл текст из разряда "комментарий" в разряд небольшой статьи.


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


Узнать зачем и как начать

Почему старения можно избежать: отрывок из книги «Взламывая код старения»

Reading time12 min
Views35K

Огромное разнообразие типов старения у растений и животных намекает на возможность контроля над этим процессом


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

Бактерии воспроизводятся, симметрично делясь надвое. Что может значить старение для бактерий, у которых после деления нет никакой разницы между родителем и ребёнком? Одноклеточные протисты вроде амёб также воспроизводятся симметрично, но они всё равно изобрели способ стареть. И даже среди макроскопических форм жизни продолжительность жизни чрезвычайно разнится в зависимости от местной экологии и скорости воспроизводства. Вряд ли это могло произойти в результате универсального и непоколебимого процесса; такая тонкая подстройка явно говорит об адаптации.


Подёнки умирают быстро и внезапно в конце их репродуктивного цикла

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

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

Ценность многошрифтового дизайна

Reading time15 min
Views19K


Я заметила, что одна из особенностей моего дизайнерского стиля — это готовность использовать, на первый взгляд, слишком большое количество разных гарнитур шрифтов. Я видела неисчислимое множество статей о сочетаниях и системах использования шрифтов, и почти везде рекомендуется использовать меньше шрифтов в любом дизайне. Я и к своей работе получала такие комментарии – дескать, работы приятные, несмотря на количество используемых шрифтов.
«Очень нравится сайт, потому что он не боится нарушать одно из первых правил шрифта – не использовать слишком много разных гарнитур. Используется четыре шрифта, два из семейства sans-serif и два из serif — Galaxie Copernicus, Interstate, Harriet и Nimbus Sans. Основной момент такого дизайна – последовательность, и сайт Бетани Хек последовательно использует каждый из шрифтов для своей цели.»
— Джеремия Шоаф, Typewolf


Расцениваю это, как вызов. Спасибо, Джеремия!

Хочу поспорить и рассказать о ценности эклектичных систем, и о том, как создать структуру проекта, чтобы эффективно использовать совместно несколько шрифтов.



Так почему же у нас есть правила насчёт количества используемых гарнитур?
Реально много больших картинок.

Изготовление корпусов колонок: Обзор материалов

Reading time7 min
Views119K


Профессиональная активная акустика Denon DN-304S

Раньше колонки представляли собой обыкновенные рупорные громкоговорители и не имели корпуса как такового. Все изменилось, когда в 20-х годах XX века появились динамики с бумажными диффузорами.

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

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

Интерфейсы в реальном мире: проектируем самый адский интерфейс

Reading time6 min
Views64K
До прошлой недели абсолютным чемпионом по упоротости интерфейса для меня всегда были мультиварки. Одну из них мы втроём (включая системного архитектора) пытались включить 6 минут, пока не пришла хозяйка. Но нет, этот рекорд тоже оказался побит. Вот это небольшое устройство, знакомое большинству жителей нашей страны, отняло у меня 25 долбанных минут на то, чтобы выставить время. Знакомьтесь, чемпион по когнитивной сопротивляемости:



Сейчас расскажу, какой крови мне это стоило. Ну и сразу – второй чемпион, но на этот раз по дружелюбности инженерного интерфейса:



Давайте начнём с того, что попробуем ещё сильнее ухудшить интерфейс часов выше.
Читать дальше →

Как победить на собеседовании. Несколько крайне полезных советов для разработчиков

Reading time8 min
Views68K
От автора: я разработал и провёл десятки собеседований по программированию. Здесь я расскажу, как меня обыграть



Будем честными, большинство программистов не любят писать код на собеседовании. Некоторые даже угрожают уйти из профессии по этой причине. Но в ближайшее время ничего не изменится. Так что если вы действительно хотите получить работу, то придётся понять, как можно добиться успеха на этих собеседованиях. Я помогу вам. Мы изучим процесс, и я объясню, что именно я хочу добиться от собеседования, так что у вас сложится довольно чёткое представление, как его пройти.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity