Search
Write a publication
Pull to refresh
593
138.7

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

Send message

Эффект Ганна

Level of difficultyMedium
Reading time8 min
Views13K
Картинка Benzoix, Freepik

Среди физических эффектов особняком стоит один весьма интересный феномен, который получил название эффекта Ганна, по имени английского физика Джона Ганна, открывшего его в 1963 году…

Суть его заключается в том, что если к однородному образцу из специального материала с имеющимися электрическими контактами приложить электрическое поле, величина которого превышает некоторое пороговое значение (эффект наблюдался первооткрывателем на кристаллах арсенида галлия и фосфида индия; для первого напряжённость электрического поля должна составлять 3 кВ/см, а для второго — 6 кВ/см), то во внешней электрической цепи начинают наблюдаться колебания тока. Причём было обнаружено, что период этих колебаний примерно равен времени полёта электронов от катода к аноду, а частота колебаний была достаточно большой и находилась в области СВЧ-диапазона: $Т_{0}\approx L/u_{g}$, где: $L$ — длина экземпляра; $u_{g}$ — скорость дрейфа электронов.
Читать дальше →

Методика D.I.Y. проекта. Стратегия выживания

Level of difficultyEasy
Reading time9 min
Views10K

Каждый, кто начинал D.I.Y.-проект, помнит душевный подъём вначале, когда ты полон идей и решимости воплотить их в жизнь, а затем угасание энтузиазма, чем дальше, тем больше. И если в коммерческой разработке вероятность достижения целей проекта в срок и в рамках бюджета и так не очень высока, то вероятность завершения D.I.Y.-проекта хоть с каким-нибудь положительным результатом – ещё ниже. Всегда найдётся что-то более срочное, более важное, да и более выгодное тоже, и выделенные на D.I.Y. деньги и время уйдут туда.

Бывает и так, что энтузиазм не угасает, но после многочисленных безрезультатных попыток и серьёзных материальных вложений становится предельно ясно, что целей D.I.Y.-проекта достичь невозможно. Результатами такого проекта становятся все пять стадий принятия неизбежного, и радостно от этого никому не бывает.

При этом D.I.Y.-проекты нужны для творческой самореализации, а не для того, чтобы быть как тяжёлый чемодан без ручки, который и нести тяжело, и бросить жалко. И этот рассказ о том, как организовать свой проект так, чтобы, с одной стороны, достичь поставленных целей без каких-либо существенных затрат, а с другой, иметь возможность при необходимости закрыть этот проект без всякого сожаления.
Как это работает

Иммутабельность в механизме Durable Execution: проблемы и решение

Level of difficultyMedium
Reading time7 min
Views2.6K

За последние годы мы наблюдаем всплеск разработки инструментов и платформ, обеспечивающих Durable Execution (устойчивое выполнение). Немного поясню его принцип.

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

KORG в кармане

Level of difficultyEasy
Reading time7 min
Views9.4K
image

Игровые консоли могут издавать звуки? Звуки могут меняться, если в игре происходят разные действия? Могут. Так, стоп! Но ведь это уже основа для создания музыкального софта для консолей. «Ни слова больше!», — слова не мальчика, но композитора, который стоит за созданием портативных версий KORG для Nintendo.
Читать дальше →

Гибкие магниты: что это и с чем их готовят?

Level of difficultyMedium
Reading time8 min
Views8.6K
Картинка Aliexpress, Freepik

Все мы хорошо знакомы с гибкими магнитами — кто-то клеит их на холодильник по поводу и без, кто-то (как автор статьи) закрывает с их помощью герметичную камеру 3D-принтера, а кто-то использует в иных технических целях. Что же это такое? Будем препарировать…
Читать дальше →

Костыли из 90-х и принцип HTML First

Level of difficultyMedium
Reading time7 min
Views14K

Кадр из презентации Frontmania 2022: Kilian Valkhof — Stop using JavaScript for that

Недавно на Хабре публиковался перевод статьи «Вам не нужен для этого JavaScript» с примерами, где код JS легко заменить на HTML.

На самом деле возврат к основам HTML, простым сайтам и читаемому коду без сложных фреймворков — довольно популярная идея. Сейчас всё больше сайтов создаётся по принципу HTML First.
Читать дальше →

Труд разработчиков открытого ПО заслуживает оплаты

Level of difficultyEasy
Reading time8 min
Views10K

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

Недавно в сердцах я написал на Mastodon такой пост:

«Мы считаем, что сфера опенсорса должна быть жизнеспособной, а труд мейнтейнеров должен оплачиваться!»

Мейнтейнер: *вносит коммерческие возможности*
Мы: «Не таким образом».

Мейнтейнер: *работает на крупную технологическую корпорацию*
Мы: «Не таким образом».

Мейнтейнер: *привлекает инвестирование*
Мы: «Не таким образом».

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

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

Простая трубка Гейслера своими руками

Level of difficultyMedium
Reading time7 min
Views17K

Историческая разрядная трубка – «трубка Гейслера» (1857) – воистину прабабушка множества газоразрядных и электровакуумных приборов (ЭВП) и родилась как эксперимент и развлечение с демонстрацией тлеющего разряда. Трубка Гейслера привела, ни много ни мало, к открытию электрона. Прямые её потомки – неоновая реклама и люминесцентное освещение, лишь совсем недавно сдались под натиском светодиодов. Простые разрядные трубки долгое время служили индикатором разрежения в вакуумных системах. Такие приборы показывали высокое напряжение, использовались в научных исследованиях и для индикации резонанса в контурах крупных радиопередатчиков. Разрядные трубки Гейслера специфической гантелеобразной формы используют для получения линий спектра веществ.
Читать дальше →

Поломанные VPN, 2038 год и сертификаты с истёкшим сто лет назад сроком

Reading time7 min
Views18K

В конце 2010 года Зимми (псевдоним) работал в ИТ-поддержке компании, разрабатывавшей VPN-устройства и операционную систему для них. В понедельник ему позвонил клиент (розничный продавец продукции из США), рассказавший, что в выходные его VPN-оборудование перестало работать.

После изучения отчёта Зимми решил, что проблема возникла в результате сбоя валидации сертификата, о чём он и написал в недавнем посте в Mastodon.

«VPN-устройства моего работодателя управлялись через центральный сервер. На этом сервере работал собственный центр сертификации (CA), который использовался для подписывания сертификатов всех устройств. Конечные точки VPN использовали их для аутентификации на сервере управления (например, при отправке логов) и друг между другом (в основном для VPN). CA — это фундаментальная часть ПО управления».

Зимми сообщил, что предпочёл бы оставить анонимным себя, компанию и клиента.

Валидация оказывалась ошибочной, потому что система не могла проверить certificate revocation list (CRL) — список цифровых сертификатов, отозванных выпустившим их центром.

«Эти устройства аутентифицировали друг друга при помощи сертификатов, похожих на те, которые применяются для HTTPS, но подписанные частным центром сертификации. У каждого клиента был для этого свой CA. В процессе валидации сертификатов CA проверял, не отозван ли сертификат. Валидацию не удавалось выполнить, потому что VPN-устройство не могло скачать certificate revocation list (CRL), чтобы убедиться, что сертификата другого устройства нет в списке. Почему оно не могло скачать CRL?»
Читать дальше →

К 30-летнему юбилею DOOM: как два садиста, психопат и мормон создали одну из величайших игр в истории? Часть 8

Level of difficultyEasy
Reading time4 min
Views13K

В прошлой части мы оставили разработчиков Doom в тот непростой момент, когда они расстались со своим старым коллегой, креативным директором Томом Холлом из-за его неприятия чрезмерно брутального стиля новой игры. До релиза уже оставались считаные месяцы — и команде id Software нужно было срочно найти нового геймдизайнера в надежде допилить уровни игры именно так, как это требовалось для шутера про свирепое истребление легионов Ада на космической станции.

Все части цикла статей о создании DOOM:
Читать дальше →

Идеальный компьютер, который мы потеряли: ретроспектива на Intel Compute Stick первого поколения

Level of difficultyEasy
Reading time13 min
Views19K


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

Прошёл ли этот формат проверку временем? Что же может компьютер из 2015 года с тепловыделением 5 ватт в 2024 году? Об этом я расскажу в статье.
Читать дальше →

Как изучить Haskell всего за 15 лет

Level of difficultyMedium
Reading time9 min
Views15K

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

Я не знаю, как изучал функциональное программирование в целом и Haskell в частности. В 2006-м я следил за проектами why the lucky stiff и читал передовой тамблелог Леа Нойкирхен Anarchaia, и какой-то из этих источников познакомил меня с миром за пределами ООП. В декабре 2006 года Леа опубликовала на Anarchaia ссылку на Pandoc, и тогда я впервые узнал о своём любимом ПО и языке, на котором оно было написано.
Читать дальше →

Иногда лучше делать, а не планировать

Level of difficultyEasy
Reading time7 min
Views48K

Пожилой рабочий на строительстве «Эмпайр-стейт-билдинг» в 1930 г., источник. Вся стройка от подготовки стройплощадки до торжественного запуска лифтов заняла 410 дней

В последнее время часто приходится слышать про новую модель управления — избыток административных кадров, не имеющих отношения к основному производству. К сожалению, это особенно ярко проявляется в IT-индустрии, где количество менеджеров среднего звена сильно превышает стандартные показатели. Например, в компании Google доля менеджеров уже достигла 15% от общей численности персонала, то есть по одному менеджеру на пять-шесть работников. Это заметно превышает средний показатель в сфере услуг 1 к 15.

Избыток менеджеров в компании ведёт к негативным последствиям:

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

Это стандартные издержки от переизбытка менеджеров. Иногда даже единственный менеджер приносит больше вреда, чем пользы.
Читать дальше →

Реверс-инжиниринг программ DOS как в старом добром 1990-м

Level of difficultyMedium
Reading time5 min
Views8.4K
На видео выше я записал наглядную реализацию процесса, описанного в разделе «Сборка и установка».

Эта статья посвящена запуску SoftICE, популярного отладчика для DOS и Windows, в эмулированной среде MS-DOS, а также обходу недостатка Bochs, эмулятора IA-32 (x86) PC.
Весь процесс выполнялся из-под Linux. Не знаю, получится ли проделать то же самое в MacOS, не говоря уже о Windows.
Читать дальше →

К 30-летнему юбилею DOOM: как два садиста, психопат и мормон создали одну из величайших игр в истории? Часть 7

Level of difficultyEasy
Reading time7 min
Views18K

Итак, в прошлой части мы наконец добрались до того славного момента, когда Wolfenstein 3D был выпущен и стал суперхитом лета 1992 года. Компания единомышленников не стала почивать на лаврах и пачках долларов, полученных после выхода игры про массовой экстерминатус нацистов — и задумалась о создании нового 3D-шутера. Именно с этого момента начинается история разработки собственно великого и ужасного Doom.

Все части цикла статей о создании DOOM:
Читать дальше →

Будни техпода. Ошибки при подключении по RDP

Level of difficultyEasy
Reading time8 min
Views73K


Для доступа удалённому Windows-серверу из Windows-системы большинство администраторов используют протокол удалённого рабочего стола (Remote Desktop Protocol — RDP). Есть, конечно, и существенная доля тех, кто оперирует более обширным перечнем вариантов подключения — Microsoft Remote Assistance, VNC, Radmin и много чего ещё, но мы поговорим про RDP. Вернее, не о самом RDP, а о проблемах, которые могут возникнуть при подключении к удалённому серверу при помощи этого протокола.

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

Как я апнул «чумадан»

Level of difficultyMedium
Reading time11 min
Views17K
Картинка Stockking, Tawatchai07, Freepik

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

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

Лаборатория-мастерская в деревне. Малыми средствами, своими руками, с самого начала

Level of difficultyMedium
Reading time7 min
Views27K

Квартирный вопрос, испортивший, как всем известно, людей нашего времени, тем не менее решается. И решается куда как проще на некотором удалении от столиц и крупных городов, а в глуши и вовсе зачастую приходится только набраться решимости и закатать рукава… Речь пойдёт о строительстве небольшого приусадебного всепогодного и всесезонного помещения в основном для некрупного настольного технического творчества. Строительство при этом велось весьма невеликими средствами, в одиночку, без применения строительной техники и почти без использования наёмной рабочей силы. С другой стороны, и публика мы непривередливая и некапризная.
Читать дальше →

Прокачиваем вёрстку ARIA-атрибутами. Атрибут role

Level of difficultyMedium
Reading time8 min
Views7.5K

В разговорах людей, интересующихся доступностью, часто можно услышать слово «Роль». Так, что это такое? Это специальная форма представления элемента для скринридера. Устанавливается она с помощью атрибута role. Сегодня поговорим о нем.


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


Давайте начнём!

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

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

Level of difficultyMedium
Reading time16 min
Views7.2K

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

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

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

Эта философия сильна и наделяет свободой. Неважно, если вы сотрудник, вносящий индивидуальный вклад (individual contributor, IC), занимаетесь техническим руководством или управлением командой. Важно то, насколько ваш вклад влияет на прибыль бизнеса.

В этом посте предлагается многоуровневая система, которую можно применять к IC, техническим руководителям и руководителям команд.
Читать дальше →

Information

Rating
Does not participate
Works in
Registered
Activity