Как стать автором
Обновить
-6
0

Software Archaeologist

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

Уехать нельзя остаться: ключевые вопросы о карьере за рубежом

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

На этой неделе наших соцсетях выступит Алина Вербенчук, основательница Verbetcetera.

Алина училась в НГУ, СПбГУ, а также в Hong Kong University of Science and Technology. Работала и жила в 7 странах. Занимается запусками новых продуктов для создателей контента в лондонском офисе YouTube, а также помогает с карьерными вопросами в tech разработчикам, менеджерам продукта, дизайнерам и другим специалистам.

Делимся с вами расшифровкой эфира и записью.
Всего голосов 32: ↑26 и ↓6+31
Комментарии43

Лайфхак: как спарсить гигабайт double-ов в секунду

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


Как в коде на C++ прочитать значение double из строки?

std::stringstream in(mystring);
while(in >> x) {
   sum += x;
}

На Intel Skylake с компилятором GCC 8.3, такой код парсит 50 МБ/с. Жёсткие диски запросто обеспечивают последовательное чтение со скоростью в несколько ГБ/с, так что вне всякого сомнения, нас ограничивает не скорость чтения с диска, а именно скорость парсинга. Как его ускорить?

Первое, что напрашивается – отказаться от удобств, предоставляемых потоками в C++, и вызывать strtod(3) напрямую:

do {
    number = strtod(s, &end);
    if(end == s) break;
    sum += number;
    s = end; 
} while (s < theend);

Скорость вырастает до 90 МБ/с; профайлинг показывает, что при чтении из потока выполняется ~1600 инструкций на каждое читаемое число, при использовании strtod – ~1100 инструкций на число. Стандартные библиотеки Си и C++ можно оправдать требованиями универсальности и переносимости; но если ограничиться парсингом только double и только на x64, то можно написать намного более эффективный код: хватит 280 инструкций на число.
Читать дальше →
Всего голосов 64: ↑62 и ↓2+100
Комментарии62

Отлаживаем ядро из командной строки с bpftrace

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

Это очередная статья из цикла «BPF для самых маленьких» (0, 1, 2) и первая из серии практических статей про трассировку Linux современными средствами.


Из нее вы узнаете о программе и языке bpftrace — самом простом способе погрузиться в мир BPF с практической точки зрения, даже если вы не знаете про BPF ровным счетом ничего. Утилита bpftrace позволяет при помощи простого языка прямо из командной строки создавать программы-обработчики и подсоединять их к огромному количеству событий ядра и пространства пользователя. Посмотрите на КПДВ ниже… поздравляю, вы уже умеете трейсить системные вызовы при помощи bpftrace!


В отличие от предыдущих статей серии, эта относительно короткая и ее основная часть написана в формате туториала, так что уже после пяти минут чтения вы сможете создавать обработчики и собирать статистику о любом событии в ядре Linux прямо из командной строки. В конце статьи рассказывается об альтернативах — ply и BCC. Минуты во фразе «после пяти минут чтения» подразумеваются меркурианские. Появление уникальных навыков после пяти минут чтения не гарантируется.


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

Более 10 лет ставлю цели на год: рассказываю, как это делать эффективно

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

Меня зовут Павел Комаровский, и я алкоголик занимаюсь саморазвитием уже более 10 лет. Эта статья о том, какой подход к личному целеполаганию я выработал для себя в итоге – надеюсь, она поможет вам избежать ошибок, которых в своё время наделал я.

Я полностью прошёл все стадии грехопадения: в студенческие годы искал сакральные ответы в стопках self-help макулатуры; затем разочаровался и решил, что весь этот «успешный успех» – это разводилово для дурачков (до сих пор уверен, что Наполеон Хилл – шизофреник); позже переосмыслил всё ещё раз и пришёл к своему пониманию того, как может выглядеть саморазвитие с адекватным лицом.

Читать далее
Всего голосов 78: ↑67 и ↓11+81
Комментарии223

Поиск замены депозита в облигациях с учетом того, что с 1 января 2021 года все выплаты облагаются налогами

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров38K

Полгода назад, летом 2020 года я написал скрипт поиска ликвидных облигаций на Мосбирже (статья в закладках у 194 человек, рейтинг +45). Скрипт нужен для поиска облигаций, которые можно купить прямо сейчас с доходностью гораздо выше банковского вклада.

Сейчас, в начале 2021 года модифицировал прошлогодний скрипт, потому что проценты по вкладам так и остаются на очень низких уровнях, а с началом 2021 года ещё и изменения в налоговом кодексе РФ подоспели. 

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

Облигации как замена вклада в 2021 году
Всего голосов 46: ↑45 и ↓1+58
Комментарии65

6 принципов эффективной визуализации данных

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

Ключевые принципы создания полезных и информативных графиков


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

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

Тем не менее при написании этой статьи я черпал вдохновение в книге Эдварда Тафта «Beautiful Evidence», которая содержит шесть принципов, посвящённых тому, как сделать графики данных полезными. Именно эти принципы отделяют полезные графики от бесполезных.

Эта статья также в значительной степени вдохновлена книгой Роджера Д. Пенга «Exploratory Data Analysis in R» Она доступна бесплатно на Bookdown, и вы можете прочитать её, чтобы узнать больше о EDA.

Давайте ближе познакомимся с этими принципами.


Пример визуализации данных на Our World in Data
Приятного чтения!
Всего голосов 25: ↑19 и ↓6+20
Комментарии12

Реверс-инжиниринг исходного кода коронавирусной вакцины от компаний BioNTech/Pfizer

Время на прочтение11 мин
Количество просмотров105K
Добро пожаловать. В данном посте мы посимвольно разберём исходный код вакцины BioNTech/Pfizer SARS-CoV-2 мРНК.

Да, такое заявление может вас удивить. Вакцина – это ведь жидкость, которую вводят человеку в руку. При чём тут какой-то исходный код?

Хороший вопрос. Начнём мы с небольшой части того самого исходного кода вакцины BioNTech/Pfizer, также известной, как BNT162b2, также известной, как Tozinameran, также известной, как Comirnaty.


Первые 500 символов мРНК BNT162b2.

В сердце вакцины находится вот такой цифровой код. Его длина составляет 4284 символа, так что его вполне можно уместить в несколько твитов. В самом начале процесса производства вакцины кто-то закачал этот код в ДНК-принтер (ага), который, в свою очередь, превратил байты с накопителя в реальные молекулы ДНК.
Всего голосов 238: ↑232 и ↓6+304
Комментарии366

Прискус против Веруса — самый известный бой гладиаторов в истории

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

В 80 году нашей эры, почти 2000 лет назад, Титус Флавиус Цезарь Веспасиан Август, великий император Римской империи провозгласил начало игр в честь открытия Амфитеатра Флавия, запомнившегося потомкам под названием Колизей.

Читать далее
Всего голосов 45: ↑30 и ↓15+24
Комментарии6

Анатомия GNU/Linux

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

Какое-то время назад на Хабре была небольшая волна постов на тему «Почему я [не] выбрал Linux». Как порядочный фанатик я стриггерился, однако решил, что продуктивнее что-нибудь рассказать о своей любимой системе, чем ломать копии в комментариях.

У меня сложилось впечатление, что многие пользователи GNU/Linux слабо представляют, из чего сделана эта операционная система, поэтому утверждают, что она сляпана из попавшихся под руку кусков. В то же время, архитектура большинства дистрибутивов является устоявшейся и регламентируется рядом стандартов, включая стандарт графического окружения freedesktop.org и Linux Standard Base, расширяющий стандарты Unix. Мне при знакомстве с GNU/Linux несколько лет назад для погружения не хватало простой анатомической карты типичного дистрибутива, поэтому я попробую рассказать об этом сам.

Читать далее
Всего голосов 161: ↑161 и ↓0+161
Комментарии137

Хранение метрик: как мы перешли с Graphite+Whisper на Graphite+ClickHouse

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

Всем привет! В своей прошлой статье я писал об организации модульной системы мониторинга для микросервисной архитектуры. Ничего не стоит на месте, наш проект постоянно растёт, и количество хранимых метрик — тоже. Как мы организовали переход с Graphite+Whisper на Graphite+ClickHouse в условиях высоких нагрузок, об ожиданиях от него и результатах миграции читайте под катом.


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

Яндекс открывает ClickHouse

Время на прочтение14 мин
Количество просмотров168K
Сегодня внутренняя разработка компании Яндекс — аналитическая СУБД ClickHouse, стала доступна каждому. Исходники опубликованы на GitHub под лицензией Apache 2.0.



ClickHouse позволяет выполнять аналитические запросы в интерактивном режиме по данным, обновляемым в реальном времени. Система способна масштабироваться до десятков триллионов записей и петабайт хранимых данных. Использование ClickHouse открывает возможности, которые раньше было даже трудно представить: вы можете сохранять весь поток данных без предварительной агрегации и быстро получать отчёты в любых разрезах. ClickHouse разработан в Яндексе для задач Яндекс.Метрики — второй по величине системы веб-аналитики в мире.

В этой статье мы расскажем, как и для чего ClickHouse появился в Яндексе и что он умеет; сравним его с другими системами и покажем, как его поднять у себя с минимальными усилиями.
Читать дальше →
Всего голосов 176: ↑172 и ↓4+168
Комментарии204

Вычисления на GPU – зачем, когда и как. Плюс немного тестов

Время на прочтение12 мин
Количество просмотров90K
Всем давно известно, что на видеокартах можно не только в игрушки играть, но и выполнять вещи, никак не связанные с играми, например, нейронную сеть обучить, криптовалюту помайнить или же научные расчеты выполнить. Как так получилось, можно прочитать тут, а я хотел затронуть тему того, почему GPU может быть вообще интересен рядовому программисту (не связанному с GameDev), как подступиться к разработке на GPU, не тратя на это много времени, принять решение, нужно ли вообще в эту сторону смотреть, и «прикинуть на пальцах», какой профит можно получить. 


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

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

Время на прочтение9 мин
Количество просмотров63K
Представьте себе ситуацию – вы покупаете машину, и вам предлагают два варианта: заплатить с рассрочкой в несколько месяцев или погасить всю сумму сразу и с небольшой скидкой. Какой окажется выгоднее?

Или, например, вы хотите разместить вклад на год. Можно положить на весь срок под высокий процент или на отдельные короткие сроки под более низкий. Что лучше и насколько?



Все ответы под катом. И добро пожаловать в мир, где время — всегда деньги. До этого вы знали об этом, но теперь — в деталях и с примерами.
Читать дальше →
Всего голосов 33: ↑32 и ↓1+39
Комментарии13

Финансовое latency critical приложение на Java и Akka

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

Всем привет! В своей статье я поделюсь опытом разработки одного из финансовых приложений на Java в ТехЦентре Дойче Банка, расскажу про стек технологий, который мы используем, и каких результатов достигаем

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии36

Листовые материалы в корпусостроении — обзор и технологии

Время на прочтение11 мин
Количество просмотров25K
В очередной раз наткнувшись на картинку прекрасного электронного поделия в адском корпусе из соплеметного клея и картона я понял что держаться нету больше сил: надо пилить статью про корпуса, доступные всем. И немедленно выпил начал. Но быстро устал, ибо нельзя объять необъятное, особенно разом в одной статье. Так мгновенный импульс преобразовался в замысел цикла статей по домашним и околодомашним корпусам, доступным если не всем, то многим. И начать я решил с листовых материалов — как с ними работать, какие они бывают, что с ними можно и чего нельзя, ну и немножко — как из полученного добра сложить корпус.


Источник

Кого заинтересовало, прошу под кат.
Читать дальше →
Всего голосов 83: ↑83 и ↓0+83
Комментарии79

Трехмерный движок в коде… ДНК

Время на прочтение40 мин
Количество просмотров23K
UPD 29 ноября: Репозиторий с кодом ДНК выложен на GitHub.
github.com/pallada-92/dna-3d-engine

UPD 30 ноября:
В англоязычном твиттере заметили проект
Новость попала в топ-10 на HackerNews!






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

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

— Неужели при помощи этих примитивных реакций можно что-то программировать?
— Да, а то, что написано выше, вычисляет $B = \sqrt{A}$.

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

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

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

Для понимания статьи никаких предварительных знаний не требуется, необходимые сведения из школьной программы по биологии мы повторим в начале статьи. Также мы разберем типичные паттерны, которые использует эволюция для достижения сложного поведения в живых клетках.
Всего голосов 94: ↑94 и ↓0+94
Комментарии30

Гидропоника. Выращиваем сверхострый чили и заставляем всех его есть

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


Полтора килограмма термоядерного Тринидадского Скорпиона я в итоге собрал с одного куста на гидропонике.


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


Небольшая часть урожая


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


Сегодня в меню


  1. Что такое гидропоника и почему она гораздо проще, чем почва с червячками
  2. Никаких дорогих бутылочек. Мешаем компоненты по три рубля за ведро
  3. Питание растения как алгоритм
  4. Как быстро собрать прототип гидропонной установки
  5. Что такое capsicum chinense и как выжить при дегустации
Всего голосов 248: ↑248 и ↓0+248
Комментарии332

Определяем пульс по вебкамере в 50 строчек кода

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

Привет Хабр.

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

Для тех кому интересно что получилось, продолжение под катом.

Читать далее
Всего голосов 67: ↑66 и ↓1+86
Комментарии72

Образ современного тестировщика. Что нужно знать и уметь

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


Бытует мнение, что простейший путь к IT лежит через тестирование. Мол, знать ничего не нужно, уметь и подавно, достаточно желания и готовности не сильно щуриться от боли и слёз, когда тебе прилетает очередной набор тест-кейсов для регрессионного тестирования.

Отчасти это даже правда, но, скорее, для ситуации, которая была на рынке лет 10 назад. Сейчас же всё обстоит несколько иначе. Причин для этого масса, и они самые разные. Если отметить ключевые, то, пожалуй, это:

Возросшие требования к тестировщикам, их знаниям и квалификации, так как всё чаще решаются задачи чуть сложнее, чем «клик-клик — и в продакшен». Работа тестировщиков становится всё более «инженерной», требует технической подкованности, специфических знаний, навыков и компетенций. Тестировщики всё чаще становится QA-инженерами (кто в теме, тот понимает разницу).

Возросшее предложение на рынке, когда толпы вчерашних «гражданских» ринулись в пучину IT, подогреваемые обилием информации: от конференций и книг до статей и курсов по тестированию ПО. Ваш покорный слуга в своё время также приложил руку к созданию пары общедоступных курсов по причине желания тиражировать базовые вещи из своей профессиональной области (посмотреть можно здесь и здесь).

Поэтому сегодня всё реже можно полагаться исключительно на морально-волевые качества для входа в IT в свете возросших аппетитов рынка и обилия конференций, курсов, тренингов, литературы, статей и прочих информационных источников, которые находятся на расстоянии вытянутой руки начинающих специалистов.
Читать дальше →
Всего голосов 37: ↑33 и ↓4+29
Комментарии33

Тульпа — карманная шизофрения для гиков или реальный воображаемый друг

Время на прочтение9 мин
Количество просмотров1.5M
Скажите, вы бы хотели иметь друга? Любого человека или другое существо, которое будет вашим самым лучшим другом, обладая той внешностью, которая вам нравится, и тем характером который вам необходим, которое не надо будет делить с ее или его друзьями, родителями, собачкой, игрушками или учебой.
А секретаря, который всегда с вами, имеет прямой доступ к вашей памяти, напомнит, подскажет, и подаст нужную идею, напарника для мозгового штурма?
Тогда добро пожаловать под кат.



Тульпа — это стабильная самовнушенная осознанная визуализация, способная к самостоятельным мыслям и действиям, обладающая собственным сознанием. Что характерно, создается она совершенно осознанно, путем целенаправленных действий в течении долгого времени, и позволяет задавать начальный характер и форму по вашему усмотрению.
Это ты сейчас с кем разговаривал? Расшифруй определение.
Всего голосов 161: ↑83 и ↓78+5
Комментарии565

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность