Search
Write a publication
Pull to refresh
44
0.1
Березников Алексей @gdt

Разработчик C#

Send message

13 звуков и интервалов. Их восприятие и обозначение. Лады отклонения и модуляции

Reading time11 min
Views18K

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

Читать далее

Собираем 8-битный компьютер

Reading time16 min
Views49K

Привет! Я всегда хотел собрать свой компьютер — не только в теории понять как «бегают» биты, складываются числа, работают прерывания, как программный код превращается в нули и единицы. У меня получилось и я хотел бы поделиться своим опытом. Это заняло у меня 140 часов и $400 на все компоненты и их доставку. Если вам интересно узнать о проекте, спускайтесь под кат.

Читать далее

Как я искал работу в США во время пандемии, подался на 200 вакансий и получил оффер на $380K

Reading time41 min
Views42K

Украинский профильный ресурс DOU.UA опубликовал статью о нелегком пути релокации специалиста в США во время пандемии, где он также отвечает на дополнительные вопросы и комментарии.

Адам Леос — Senior Software Engineer в Roku. Пару лет назад он принял решение о релокации и в итоге выбрал своей целью США. Всего за три месяца Адам с нуля собрал все необходимое для подачи на визу О1, но потом в историю вмешалась пандемия. О том, с какими трудностями он столкнулся из-за карантина, как искать работу на американском IT-рынке, как получить большое количество офферов и выторговать самую выгодную компенсацию, разработчик рассказал в интервью DOU.UA

Читать далее

Что убивает кальциевые аккумуляторы, и убивает ли?

Reading time11 min
Views110K

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

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

4 года в Нидерландах

Reading time14 min
Views40K

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

А еще тут много про деньги.

Читать далее

Практическое руководство по анонимности в онлайне

Reading time9 min
Views215K

Направленная антенна для удалённого доступа к публичному Wi-Fi

Обеспечить собственную безопасность (анонимность) в онлайне — тяжкий труд, требующий массивного объёма знаний. Даже лучшие профессионалы не всегда справляются.

Но это возможно.

Предупреждение. Для усвоения информации в полном объёме требуется несколько недель.
Читать дальше →

Составное устройство USB на STM32. Часть 4: Два-в-одном

Reading time11 min
Views14K

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

Работа составных частей устройства была описана во второй и третьей частях публикации.

Ответы на вопрос, зачем это всё было затеяно, даются в начале первой части и в конце четвёртой.
Читать дальше →

Индивидуальный противохимический пакет (ИПП)

Reading time23 min
Views33K
Несмотря на то, что я уже предвкушаю народное недовольство и N минусов с мотивацией «не соответствует тематике Хабра», все же в очередной раз рискну здесь опубликовать статью, которая НЕ про софт, НЕ про железо, НЕ про компании, и даже химию задевает только по касательной…

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

Поэтому основная цель статьи — информационная, на правах «хабр-энциклопедиста» :) В следующий раз, когда какой-то условный курсант военных химик (который «покой мой бережет»), будет искать для своего реферата информацию, пусть он лучше наткнется на мою статью (и попадет в LAB-66), а не на опус анонимного копирайтера. К курсанту можно смело добавить реконструктора и военного историка…

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


Продегазировать ИПП!

Как прорешать SICP: Отчёт о создании решебника для самого известного в мире задачника по программированию. Ботаны есть?

Reading time45 min
Views18K

(Хабр-Статья представляет собой авторский перевод доклада, представленного автором на Scheme Workshop 2020, проводившегося в рамках Международной Конференции по Функциональному Программированию, 28 августа 2020 года)

Эта статья -- своего рода "отчёт" по самому большому проекту, который я сделал в своей жизни по собственной инициативе. Я сделал полное, исчерпывающее решение всех задач из одной из самых извесных книг по программированию в мире "Структура и Интерпретация Компьютерных Программ" (Structure and Interpretation of Computer Programs -- SICP), за авторством Абельсона, Сассмана и Сассман.

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

Читать далее

Ускоряем std::shared_mutex в 10 раз

Reading time35 min
Views56K
В этой статье мы детально разберем атомарные операции и барьеры памяти C++11 и генерируемые ими ассемблерные инструкции на процессорах x86_64.

Далее мы покажем как ускорить работу contfree_safe_ptr<std::map> до уровня сложных и оптимизированных lock-free структур данных аналогичных по функциональности std::map<>, например: SkipListMap и BronsonAVLTreeMap из библиотеки libCDS (Concurrent Data Structures library): github.com/khizmax/libcds

И такую многопоточную производительность мы сможем получить для любого вашего изначально потоко-небезопасного класса T используемого как contfree_safe_ptr<T>. Нас интересуют оптимизации повышающие производительность на ~1000%, поэтому мы не будем уделять внимание слабым и сомнительным оптимизациям.
Читать дальше →

Букварь по F# для любопытствующих C#-разработчиков

Reading time13 min
Views10K

Предисловие


Мой переход на F# в качестве излюбленного языка был слегка усеян препятствиями. Примерно через десять лет почти постоянного использования C# у меня пробудилось любопытство, когда я услышал об этом другом #-языке. Моя первая реакция была той, которую с тех пор видел у других C#-разработчиков — отрицание, — C# является хорошим языком, и мне с ним комфортно, так зачем тратить силы на изучение другого? Но любопытство осталось — и, по крайней мере, несколько раз выделил вечер, чтобы прочитать базовый вводный пост и попытаться написать каких-нибудь ката на F#. Это не прижилось, потому что я просто чувствовал себя потерянным и не мог воплотить свой опыт использования C# в ощущение даже отдаленного комфорта с F#. Достаточно легко опустить фигурные скобки, немного замяться, чтобы не забыть let вместо var — но как сделать то, что я хотел?


Тогда я этого не осознавал, но, на мой взгляд, наблюдал потенциальный недостаток в том, как F#-разработчики говорят, описывают и представляют свой язык внешнему миру. Существует обширная база материалов обо всех возможностях и функциональности F#: Algebraic Data Types, Exhaustive Matching, Type Inference и т.д. Есть много статей, посвященных тому, как решать широкий спектр задач с помощью F#. Но, как мне кажется, не хватает чего-то вроде следующего: некоторых указаний о том, как взять то, что вам уже удобно в C#, и перевести их на F#. Так что мне интересно, можем ли мы как-то закрыть этот недостаток.

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

Настраиваем домашний почтовый сервер и уходим с «бесплатной» почты

Reading time15 min
Views367K

С каждым годом рекламы в интернете становится все больше, а подают ее с каждым разом все навязчивее. Дошло уже до почты: реклама в интерфейсе почтового ящика выглядит как первое непрочитанное письмо, которое машинально хочется открыть. Я не против рекламы, особенно когда она в тему и не сбивает с толку. Но маскировать её под непрочитанное письмо ‒ это перебор. Чувствуется, что следующим шагом рекламу начнут вставлять прямо в тело письма.

Читать далее

Жесткая вода и накипь. Структура, свойства и способы минимизации ущерба (Steanlab Review)

Reading time87 min
Views116K
Что остается делать темными зимними вечерами в самоизоляции кроме как не перечитывать старые подшивки советских журналов. В зависимости от специализации, у кого-то это журнал Квант, у кого-то Техника Молодежи. В моем случае, из-за профессиональной деформации, подходит только «Химия и жизнь». И вот в одном из номеров этого журнала я натолкнулся на душераздирающее письмо читателя (КДПВ — это оно). И подумал, а ведь действительно, сколько вроде бы не написано на различных сайтах и сайтиках про известковый налет от жесткой воды, а все так же он появляется то в увлажнителях воздуха, то в бойлерах, то даже в радиаторе автомобиля. И все также люди начинают искать ответы, пробуя все подряд рекомендации. Проблема есть (если уж даже Китай тратит 0,2% ВВП страны на борьбу с накипью, в Беларуси 0,5% ВВП тратят на развитие науки и исследований). А если есть проблема, попробуем решить, вложить, используя терминологию читателя ХиЖ «средства в борьбу». Под катом — про жесткую воду, накипь и множество явлений (чаще негативных) которые с этим всем связаны.


Убрать накипь с прибора!

Шпаргалка полезных команд GDB

Reading time3 min
Views65K

Для кого она нужна?


1) начинающих реверсеров, знающих особенности обратного проектирования, и желающих изучить такой отладчик как GDB


2) как подсказка тем кто постоянно работает с IDA, Ghidra или любым другим мощным и надежным инструментом, но в силу тех или иных обстоятельств решить задачу проще и быстрее с помощью GDB, и не очень хочется залезать в официальную документацию и снова все вспоминать

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

Программист учится рисовать. Дневник Емели

Reading time16 min
Views35K
Так получилось, что моим основным хобби на лихой 2020-й год стало освоение ремесла рисования.

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

spoiler
В конце года я остался доволен собой и окончательно понял, что я хотел бы прокачиваться и дальше!

image
Так выглядел мой уровень изобразительных навыков в ноябре предыдущего (2019-го) года

Формат подачи данной статьи — это на 95% личный дневник, который я вел в гугл-доке, записывая, что я делал каждый месяц, свои ощущения и как-то фиксируя собственный прогресс — смотрел, сколько работ мне удалось нарисовать и какого они были качества — нравились ли они мне лично или были совсем так себе по исполнению.
Читать дальше →

Теория инвестиций для начинающих, часть 4

Reading time28 min
Views54K
Франс Франкен Младший. Смерть и скупец. XVII в. Галерея Wellcome, Лондон.

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

Краткое содержание четвёртой части:
  • как жить в мире, в котором среднестатистический инвестор паевого фонда получает доходность хуже рынка (купить рыночный портфель, то есть индекс);
  • какие инструменты позволяют купить индексный портфель в один клик (биржевые фонды, они же ETF'ы);
  • насколько эффективным может быть рынок, и как быстро новая информация отражается в цене акций (эффективность пугающая: рынок расследует космические катастрофы за несколько минут);
  • если не покупать индекс, то можно ли заработать на фондовом рынке по-другому (можно, если вы помогаете остальным преодолевать рыночные трения);
  • как автор инвестирует собственные деньги и копит на пенсию (всё скучно: индексные фонды).
Читать дальше →

Фантастика 2020 года, которую стоит почитать

Reading time6 min
Views112K


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

Теория инвестиций для начинающих, часть 3

Reading time20 min
Views18K
Паулюс Поттер. Медвежья охота. 1649 г. Государственный музей, Амстердам.

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

  • как оценить, насколько успешен портфельный управляющий (посчитать связь доходности портфеля с доходностью рынка);
  • кто такая «альфа», и почему все её ищут (доход, превышающий обычную премию за систематический риск);
  • какой из участвовавших в сравнении фондов российских акций показал лучший результат (личный портфель автора!);
  • какой фокус позволил автору заработать «альфу» (ставка на конкретный систематический риск, который не видит наивная модель).
Читать дальше →

Теория инвестиций для начинающих, часть 2

Reading time22 min
Views32K
Пауль де Вос. Бык, поверженный собаками. 1638–1640 гг. Музей Прадо, Мадрид.

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

  • как составить оптимальный с точки зрения риска и доходности портфель, не углубляясь в суровую математику (посмотреть на рыночную капитализацию активов);
  • как заработать что-то сверх безрисковой процентной ставки (взять на себя риск и на дистанции заработать премию за этот риск);
  • любой ли риск вознаграждается премией (нет, только систематический);
  • от чего зависит ожидаемая будущая доходность отдельной акции (главным образом, от ковариации со всем рынком);
  • сколько зарабатывали инвесторы в рынок акций США (порядка 7–9% в год сверх безрисковой ставки);
  • почему так много (возможно, люди не полностью рациональны и преувеличивают рискованность акций);
  • можно ли предсказать будущую доходность рынка акций (скорее всего, нет);
  • как осадить трейдера на коктейльной вечеринке (спросить, какой у него Шарп).
Читать дальше →

Information

Rating
6,085-th
Location
Кемерово, Кемеровская обл., Россия
Date of birth
Registered
Activity

Specialization

Software Developer
Senior
C#
.NET
Software development
Object-oriented design
Multiple thread
Git
WPF