Pull to refresh
-9
Karma
0
Rating

Software Archaeologist

Кинотерапия — более 150 фильмов, которые пересматривают

Popular science Brain Health

Фильмы - это лекарство для психики. Что включается у нас в голове, когда мы смотрим фильм? Возможно превратить просмотр кино в индивидуальную психотерапию?

Для начала отделим мух от котлет. Психолог, психотерапевт, психиатр и невролог чем они отличаются? Самое простое отличие в том, что психолог не является врачом. Психотерапевт, психиатр и невролог - это врачи.

Читать далее
Total votes 54: ↑30 and ↓24 +6
Views 36K
Comments 141

Неклассические контейнеры в C++

Programming *C++ *

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

В стандартную библиотеку C++ входит несколько контейнеров. Кроме этого, в Open Source есть несколько контейнеров, которые покрывают больше юзкейсов. Я опишу устройство интересных контейнеров вне STL и их отличия от классических контейнеров.

Читать далее
Total votes 68: ↑66 and ↓2 +64
Views 15K
Comments 24

ONKALO: чудо света на все времена, забудьте о нём…

Timeweb Cloud corporate blog Reading room Popular science Energy and batteries The future is here
… или как захоронить свои ядерные отходы навсегда.



Многие уверены, что век монументального строительства прошёл. Пирамиды, мегалиты и загадочные гробницы лежат старыми игрушками в песочнице человечества. Мы выросли из них и живём сегодняшним днём, ярким и мимолётным. Когда нас не станет — от нас останутся только колоссы древности… и ONKALO.
Читать дальше →
Total votes 482: ↑477 and ↓5 +472
Views 69K
Comments 99

Кратко и просто про геологию от геолога. Строение Земли

Timeweb Cloud corporate blog Popular science
Здравствуйте.

Расскажу-ка я про базовые факты и следствия из них — на основе которых строится вся геология. Ибо нередко у непосвящённых возникает ощущение, что учёные взяли и выдумали все свои теории от скуки и для поддержки чувства собственного величия.


На фото 1983 года Великий Атуин, слоны и Мир на фоне Вселенной — про них ничего не будет

Нижесказанное будет относиться к геологии, но может быть применено к любой области знаний. Чтоб воспринимать дальнейшее нужно условиться (хотя бы сделать вид), что арифметика, евклидова геометрия, физика/химия за 7-9 класс школы нами принимаются как реальность, не требующая доказательств. И, да! – Землю будем считать шарообразной – иначе не интересно. Логика тоже будет использоваться, даже если это оскорбит её противников.

Начнём с базы: Карл Маркс Гегель гравитация.
Читать дальше →
Total votes 130: ↑126 and ↓4 +122
Views 27K
Comments 41

Как кушать вилкой

System Programming *C *

...или о fork() в двух словах.

Как люди решают задачи

Обычно у каждой задачи есть одно простое решение, которое воспринимается всеми как правильное. Люди воспринимают такое решение правильным либо исходя из личного опыта¹; исходя из опыта других людей² или просто не задумываясь о правильности³. И самое удивительное, что мир не взорвался, никто (массово) от этого не умер, код работает и приносит деньги.

¹ "всегда так пишу код, никто не умер"
² "копирую код из stack overflow который набрал больше всех плюсов"
³ "копирую первый попавшийся код из stack overflow"

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

Однако мы отвлеклись. Поставим перед собой задачу:

Нам необходимо наиболее правильным способом запустить из своего кода другую программу.

Не так важно, зачем. Это может быть запуск игры из лаунчера, запуск утилиты ping чтобы не реализовывать отправку ICMP-пакетов самостоятельно, запуск программы по клику на ярлык, миллион вариантов, думаю, что вы сами хотя бы раз в жизни сталкивались с такой задачей.

Содержание статьи

* Как кушать пингвина вилкой?
Общие знания о запуске процессов под LINUX-системами
*
Как кушать корову если есть вилка?
Copy-on-write, что это и зачем? vfork и почему он не лучше
*
Как кушать икру?
posix_spawn и почему он не замещает fork()
*
Как кушают клоны?
clone() под капотом у fork()
*
Почему когда ешь суп вилкой он утекает?
Утечка дескрипторов после fork() и как этого избежать
*
Почему у вилки три зуба?
Важность обработки всех вариантов возврата fork()
*
Как кушать демонов вилкой?
Запуск демонизирующихся процессов при помощи fork()
*
Как наложить вилкой в другую тарелку?
Переназначение дескрипторов вывода для нового процесса
*
Как сигналить вилке?
Взаимоотношения обработки сигналов и fork()
*
Как пользоваться вилкой когда сломалась ручка?
Самоликвидация дочернего процесса после завершения материнского
*
Как подготовиться к использованию вилки?
Сценарии использования pthread_atfork()
*
Как поцарапать окно вилкой?
Запуск дочернего процесса под Windows-системой
*
Как систематически пользоваться вилкой?
Почему вам не стоит пользоваться system()
*
Заключение
Благодарности и выводы

Читать далее
Total votes 74: ↑74 and ↓0 +74
Views 14K
Comments 24

10 самых безумных историй 2021 года из мира финансов: деньги из ниоткуда и в никуда

Finance in IT

2021 год был очень странным; но втройне странным он был для всех, кто хоть немного интересуется финансами и инвестициями. В этом обзоре я собрал десять историй и явлений, которые в ушедшем году по праву больше всего заслужили плашки «да не может быть!» и «лол, што?!».

Читать далее
Total votes 230: ↑225 and ↓5 +220
Views 64K
Comments 48

Чувствовал себя порнозвездой: выпускники Elbrus Bootcamp – о диких собеседованиях

Elbrus Bootcamp corporate blog Studying in IT Personnel Management *IT career IT-companies

Привет, Хабр, это Георгий Бабаян, основатель Elbrus Bootcamp, центра переквалификации для взрослых. Мы за 3 месяца учим людей программировать на уровне, достаточном для трудоустройства. Выпускников сопровождают карьерные коучи — готовят к собеседованию, шлифуют резюме, помогают выбрать между офферами. А самые дикие истории собеседований собирают в копилку. Решил развлечь ими предновогодний Хабр

Взять красную таблетку
Total votes 72: ↑31 and ↓41 -10
Views 42K
Comments 86

Самоделка — полная…: ПХМ-1 из пластика и кремния

Selectel corporate blog C *Programming microcontrollers *DIY
Источник

ПХМ-1 — вымышленный прибор из лаборатории Доктора Дью. Он предназначен для измерения качества присланных «самоделок» по линейной шкале. Очевидно, что это реквизит для съемок, тем не менее, устройство можно использовать в качестве шутки во многих областях, в том числе в IT.

Пошаговых инструкций по созданию ПХМ-1 не нашлось — пришлось писать самому.
Читать дальше →
Total votes 71: ↑67 and ↓4 +63
Views 23K
Comments 27

[Пятничное] Теория Жоп

Project management *IT career
Sandbox

Эту полу-шуточную теорию о проектном управлении я излагал коллегам по ИТ цеху лет 15 назад, и тогда же неоднократно слышал советы загрузить этот текст на Хабр, но руки не дошли. На днях, разгребая старые файлы наткнулся на свои записи и решил все таки поделиться ими с Вами. Частое употребление ключевого слова к сожалению, неизбежно и не отделимо для целостности этого текста, прошу принимать или нет 'as is'. Итак...

Каждая карьера развивается от Жопы к Жопе, и никак иначе. Хочешь повышения - ищи Жопу и принимай, как говорят в Америке, "challenge". Если Вам предлагают возглавить новый проект, либо занять какую то должность, да что угодно - знайте, там Вас ждет Жопа. Иначе не предложили бы, а сами бы справились. Равно как и если Вы ожидаете избавиться от надоевшей Вам сейчас деятельности, надеясь вырваться из "этого ада" и заняться "чем то новеньким" - будьте готовы встретиться с Большой Жопой.

Читать далее
Total votes 496: ↑485 and ↓11 +474
Views 163K
Comments 93

Нельзя так просто взять и вычислить абсолютное значение

Programming *Java *Mathematics *

Кажется, задача вычисления абсолютного значения (или модуля) числа совершенно тривиальна. Если число отрицательно, давайте сменим знак. Иначе оставим как есть. На Java это будет выглядеть примерно так:


public static double abs(double value) {
  if (value < 0) {
    return -value;
  }
  return value;
}

Вроде бы это слишком просто даже для вопроса на собеседовании на позицию джуна. Есть ли тут подводные камни?

Читать дальше →
Total votes 121: ↑118 and ↓3 +115
Views 28K
Comments 102

Altium 365 — как GitHub, но для разработки железа. Как мы делаем Flipper Zero

Flipper Devices Inc. corporate blog Manufacture and development of electronics *

Над железом Flipper Zero работают одновременно несколько инженеров. Коллективная работа над железным проектом — это боль. У программистов есть крутые системы контроля версий и модные сервисы вроде GitHub, но бинарные файлы печатной платы и схем нельзя так просто засунуть в Git. Мы долго и мучительно искали решение этой проблемы и наконец нашли.

Altium 365 — это система контроля версий с веб-интерфейсом для работы над железными проектами. Мы смогли перенести привычный воркфлоу GitHub на железную разработку. В посте я расскажу про наш опыт использования Altium 365 на примере реальной задачи в нашем проекте Flipper Zero.

Читать далее
Total votes 54: ↑51 and ↓3 +48
Views 15K
Comments 76

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

Science fiction

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

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

Читать далее
Total votes 34: ↑32 and ↓2 +30
Views 22K
Comments 23

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

RUVDS.com corporate blog IT career Reading room

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

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

Делимся с вами расшифровкой эфира и записью.
Total votes 43: ↑37 and ↓6 +31
Views 13K
Comments 44

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

RUVDS.com corporate blog Programming *C++ *Lifehacks for geeks


Как в коде на 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 инструкций на число.
Читать дальше →
Total votes 104: ↑102 and ↓2 +100
Views 22K
Comments 62

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

Configuring Linux *System Programming *Debugging *Development for Linux *
Tutorial

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


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


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


Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Views 6.1K
Comments 11

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

GTD *Lifehacks for geeks
Sandbox

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

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

Читать далее
Total votes 103: ↑92 and ↓11 +81
Views 117K
Comments 223

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

JavaScript *Node.JS *API *Data visualization *Finance in IT
✏️ Technotext 2021

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

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

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

Облигации как замена вклада в 2021 году
Total votes 60: ↑59 and ↓1 +58
Views 32K
Comments 65

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

SkillFactory corporate blog Big Data *Open data *Data visualization *Infographics
Translation

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


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

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

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

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

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


Пример визуализации данных на Our World in Data
Приятного чтения!
Total votes 32: ↑26 and ↓6 +20
Views 14K
Comments 12
1

Information

Rating
Does not participate
Registered
Activity