Pull to refresh
0
Василь Бєляєв @VXPread⁠-⁠only

C#, C++, Lua

Send message

В чём различие между папками Windows и System?

Reading time3 min
Views5.8K
(Windows была выпущена 20 ноября 1985. Сегодня ей исполняется 25. С днём рождения!)

В Windows API с самого начала есть две отдельные функции GetWindowsDirectory и GetSystemDirectory. Почему недостаточно было одной? Обе эти системные папки защищены от записи, обе входят в PATH и в список поиска DLL-библиотек. Зачем было их разделять?

Аксакалы вспомнят, что в те давние времена назначение этих папок различалось. Папка Windows была доступна для записи, и именно в ней хранились все настройки пользователя. Например, функция GetProfileInt читает из файла WIN.INI в папке Windows, и функция GetPrivateProfileInt, если не указан полный путь INI-файла, по умолчанию работает с папкой Windows.
В те давние времена не было отдельных папок с профилями пользователей; в папке Windows, по сути, хранился профиль единственного пользователя в системе.

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

Разделение системных файлов на две папки позволяло Windows работать в нескольких различных конфигурациях.
Читать дальше →

Windows Confidential: То, что сохранилось из Windows 3.0

Reading time5 min
Views4.6K
«Если я системными политиками запрещаю значки на рабочем столе, то от двойного щелчка по нему начинает запускаться Диспетчер задач. Что за чудеса?»

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

Чулан, скрытый за рабочим столом Windows, — это Диспетчер программ, оставшийся со времён Windows 3.0. Диспетчер программ позволял запускать приложения, но не позволял переключаться между ними: в нём не было аналога панели задач, отображавшей все запущенные приложения. Чтобы увидеть список открытых окон, пользователь запускал Диспетчер задач — горячей клавишей Ctrl+Esc, либо двойным щелчком по пустому месту на рабочем столе.



Кроме возможности перейти к любому из открытых окон, Диспетчер задач позволял также закрыть приложения, или упорядочить окна — например, каскадом. Диспетчер задач был единственным местом в Windows, показывавшим открытые окна одновременно: например, Alt+Tab не показывал значки всех окон, как в современных версиях Windows, а переключался между ними по порядку.

Появившаяся в Windows 95 панель задач позволяла видеть все открытые окна и переключаться между ними в любой момент; Диспетчер задач был для этого больше не нужен. Кроме того, свёрнутые окна ложились теперь в панель задач, а не на рабочий стол, как в Windows 3.0. Из места для значков свёрнутых окон, рабочий стол превратился в место для часто используемых ярлыков.

Рабочий стол в Windows 95 — это окно Проводника, растянутое на весь экран, и расположенное ниже окон всех других программ. В этом окне Проводник отображает содержимое папки «Рабочий стол». Но под этим «рабочим столом» остался другой, настоящий рабочий стол,
Изменения вносятся помалу

Откуда в Windows взялись функции BEAR, BUNNY и PIGLET?

Reading time2 min
Views16K
Если покопаться в системных файлах Windows 95, там можно было обнаружить недокументированные функции с именами наподобие BEAR35, BUNNY73 и PIGLET12. Откуда взялись эти дурацкие имена?

У них занятная история.

Gerät 32620: немецкое устройство для организации шпионских номерных станций

Reading time8 min
Views9.9K
Несколько лет назад я впервые наткнулся на аудиозаписи номерных радиостанций и начал изучать их историю. В большинстве случаев существуют довольно неплохие версии того, кто их создавал и для какой цели. Одним из примеров является Gongs and Chimes Station, известная своей мелодией, которая с годами становилась всё более жуткой из-за постепенного износа плёнки. Для меня всегда были загадкой те устройства, которые использовались для генерации голосовых сообщений. Походили ли они на электромеханические устройства, применявшиеся для информирования по телефону о точном времени, имели ли несколько считывающих головок или сложные плёночные механизмы?

Затем я нашёл это видео. И… Это истинный голос, который использовался в станции Gongs and Chimes? Меня удивило, насколько маленькой, аккуратной и сложной казалась эта машина. В ней определённо был микроконтроллер, она имела ЖК-дисплей, а в целом выглядела как довольно элегантное устройство.

image

Sprach-Morse-Generator (фото Mfs-sammler)

Однако самым важным было то, что я наконец-то узнал, что ищу. Запрос «Sprach-Morse-Generator» («голосовой-генератор-Морзе») быстро привёл меня на страницу об этой машине в музее криптографии, на которой упоминается и её официальное название: «Gerät 32620» (устройство 32620). На странице также есть замечательная информация об истории устройства и записанном в нём голосе.

Но больше всего меня восхитило то, что там были ссылки на техническую документацию по голосовому генератору и сопровождающему его устройству, Gerät 32621, которое можно использовать для оцифровки голосовых аудиодорожек и для их записи на EPROM-картриджи, которые используются в Gerät 32620.
Читать дальше →

Как мы ВИРТУАЛЬНО спланировали работу 140 человек на квартал вперед, находясь в разных точках Земного шара

Reading time9 min
Views2.6K

Случалось ли вам работать над проектом, где участвует более сотни человек, несколько компаний, с учетом 10 часовых поясов, разных менталитетов и языков? Хотим поделиться своим опытом планирования работ в проекте, который управляется по методологии SAFe в условиях вынужденной удаленной работы.

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

Быстрый целочисленный логарифм по основанию 2

Reading time4 min
Views13K
Часто бывает нужно посчитать целую часть логарифма по основанию 2 от любого целого числа.

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

Великолепный Марио: рождение легенды

Reading time17 min
Views14K

Ровно 35 лет назад, 13 сентября 1985 года, состоялся релиз игры, на долгие годы определившей облик индустрии и заложившей фундаментальные основы жанра «платформер». Игры, которая принесла компании Nintendo баснословную прибыль и наглядно доказала, что спасение принцесс под силу не только рыцарям в сияющих доспехах, но и обычным водопроводчикам. В честь этой знаменательной даты мы подготовили для вас материал, повествующий о череде удивительных событий, подаривших миру одного из самых обаятельных персонажей за всю историю видеоигр.
Читать дальше →

MIDI2USB – музыка нас связала

Reading time13 min
Views18K
Российско-китайско-американский конвертер MIDI в USB.Рис.1 Российско-китайско-американский конвертер MIDI в USB. Фото автора.

Люди любят музыку. Многие умеют играть на музыкальных инструментах. А некоторые пробуют импровизировать и даже сочинять музыку. Электронные музыкальные инструменты можно подключать к компьютеру и получать дополнительные творческие возможности. Это вроде бы простое дело, но большинство дешёвых китайских адаптеров USB-MIDI работают посредственно. Кому интересно, как я сделал свой MIDI2USB-адаптер, приглашаю читать
дальше...

Определяем направление на аэропорт с помощью RTL-SDR и GNU Radio

Reading time4 min
Views18K
Привет, Хабр!

В настоящее время существует не так уж много стандартов связи, которые с одной стороны, любопытны и интересны, с другой стороны, их описание не занимает 500 страниц в формате PDF. Одним из таких, несложных для декодирования, является сигнал VHF Omni-directional Radio Beacon (VOR), используемый в аэронавигации.


VOR Beacon (с) wikimedia.org

Для начала вопрос читателям — как сформировать сигнал так, чтобы с помощью ненаправленной приемной антенны можно было определять направление? Ответ под катом.
Читать дальше →

Программисты, ходите на собеседования

Reading time9 min
Views73K

Картинка взята из видеоролика с канала «Воинствующие Аметисты»

Около 10 лет я работал системным программистом под Linux. Это модули ядра (kernel space), различные демоны и работа с железом из пространства пользователя (user space), различные загрузчики (u-boot и др.), прошивки контроллеров и многое другое. Даже иной раз случалось пилить web-интерфейс. Но чаще бывало, что приходилось и с паяльником посидеть, да с проектировщиками печатных плат взаимодействовать. Одна из проблем такой работы это то, что достаточно сложно оценить уровень своей компетенции, поскольку одну задачу ты можешь знать очень глубоко, а рядом можешь не знать совсем. Единственный адекватный способ понять куда идти, и какие течения сейчас есть – это ходить на собеседования.

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

В статье будет небольшой конкурс с призами.

Виртуальная АТС. Часть 1: Простая установка Asterisk на Ubuntu 20.04

Reading time4 min
Views88K


Из-за перехода на удаленку в небольших компаниях часто возникают проблемы с телефонной связью. Обычно такие фирмы сидят в арендованных офисах, а услуги телефонии им оказывает бизнес-центр. О подключении сотрудников из дому придется позаботиться самостоятельно: самый недорогой способ это сделать — развернуть бесплатный сервер VoIP с открытым исходным кодом Asterisk на виртуальной машине. В статье для примера мы использовали Ubuntu 20.04, но этот рецепт подойдет и для других версий популярного дистрибутива — 18.04 и 18.10, а также (в теории, мы не проверяли) для актуальных версий Debian.
Читать дальше →

Mitsubishi VisiTel: общение в Zoom в стиле 1980-х

Reading time12 min
Views7.7K
За окном 2020 год. Удалённая работа — это уже совершенно нормально. Десятилетия рекламы ведущих телекоммуникационных компаний наконец сделали своё дело — научили мою маму совершать видеозвонки. Правда, события последних месяцев, вызвавшие неожиданный интерес общественности к видеосвязи, привели к небывалому дефициту веб-камер. Но мы не можем допустить того, чтобы это помешало бы нам вести нормальную жизнь. Ведь каждому из нас надо много кому позвонить. У меня есть решение проблемы нехватки веб-камер. Это — Mitsubishi VisiTel!


Mitsubishi VisiTel

В 1988 году, когда появилось это устройство, оно, определённо, олицетворяло собой будущее. А при его низкой цене — всего $399 — как могло оно мгновенно не стать популярным? В журнале «Популярная механика», вышедшем в феврале 1988, Mitsubishi VisiTel была посвящена целая страница. Там устройство было описано с упоминанием неожиданно большого объёма технических деталей. А ведущие передачи Gadget Guru на телеканале WSMV, сразу после того, как завели разговор о VisiTel, задались невероятно важным вопросом: «Можно ли продолжить пользоваться обычным телефоном в то время, когда эта штука подключена к линии?».
Читать дальше →

Золотое кольцо скучнейших экскурсий: как это пытаются исправить

Reading time13 min
Views50K
Привет! Мы сейчас всерьёз упарываемся по развитию внутреннего туризма. Обычно я пишу про эту часть работы не на Хабр, но на днях появился один крутой пример, по которому можно отследить интересное продуктовое мышление и UX-подход. В реальном мире. В общем, компания внезапно поняла, что мир изменился, старые подходы не работают, и вообще-то вокруг есть много крутых технологий. Меня позвали как эксперта всё это оценивать и тестировать раннюю альфу турпродукта, и я просто хочу показать, как рациональное мышление может повлиять на туризм.

Итак, у нас есть экскурсии по Золотому кольцу России. Для пенсионеров это желанное приключение, для молодёжи — особый подвид предельно скучного и бессмысленного занятия. «20 храмов за 3 дня», «Самые нудные экскурсоводы, сыпящие датами», «Очереди в банальных местах вроде заселения в отель» — это из отзывов. Думаю, вы и сами можете себе всё это представить.


Вот так должно выглядеть заселение в отель: без людей и анкет, чёрт побери!

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

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

Жизнь под давлением: как устроены водонапорные башни

Reading time10 min
Views74K
Этим летом в городе Слободском Кировской области частнику продали местную достопримечательность — водонапорную башню, которую больше ста лет назад возвел знаменитый вятский архитектор Иван Чарушин. В советское время в ней располагались магазины, а в начале 2000-х работало местное телевидение. Новый владелец планирует открыть там музей, а часть помещений перепрофилировать под гостиничные номера.

Таких сооружений по всей России очень много. Водонапорные башни можно найти и в больших городах — Москве, Екатеринбурге, Санкт-Петербурге, и в деревнях. Многие из них до сих пор выполняют свое прямое назначение. А этот пост о том, как они работают, какие типы башен бывают, ну и еще немного про судьбу Слободской.

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

Математика нужна программистам, или задача, которую мне пришлось решать

Reading time5 min
Views33K

Всем привет!

Я работаю над WebRTC - фреймворком для аудио-видео конференций (или звонков? проще говоря - real time communication). В этой статье я хочу описать интересную задачу, вставшую передо мной, и как она была решена. В задаче, по сути, потребовалось минимизировать lcm нескольких вещественных чисел с дополнительными ограничениями. Пришлось применить совсем чуть чуть теории чисел или хотя бы логики.

Читать далее

Коллеги, вы и меня огорчаете. Тоже

Reading time4 min
Views49K


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

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

Коллеги, вы меня огорчаете

Reading time12 min
Views200K
В июле и августе 2020 года я, с подачи Григория Петрова, проводил для компании Evrone технические интервью на позицию Senior Golang Backend developer. И, видимо, буду вынужден продолжать проводить, о чём ниже.

Задача формулировалась как «найти человека, который сможет задать и поддерживать высокий уровень профессионализма в применении языка Go». То есть, сформулирована она была по-человечески, перевод на канцелярит — мой. Под эту задачу я сформировал новый опросник вместо того, которым пользовался несколько лет — старый был с жестким закосом под DevOps. Методику, которой я пользуюсь для создания опросников и количественной оценки соответствия кандидатов, я излагал в своем докладе «Техническое интервью как инженерная задача» на конференции Saint TeamLead 2019.

И вот что я хочу сказать вам, коллеги: вы меня огорчаете.


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

Новый метод биометрии: биоакустическая подпись

Reading time5 min
Views11K


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

Разработанная система биоакустической частотной спектроскопии модулирует микровибрации, которые распространяются через тело и генерируют уникальную спектральную характеристику. В тестах характеристика сохранялась в течение двух месяцев и обеспечила точность верификации 41 субъекта на уровне 97,16%.
Читать дальше →

Объясните, почему мой рокет-саенс бэкенд билдится пару секунд, а четыре формы на фронте — полгода

Reading time6 min
Views64K

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

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

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

Читать далее

Вы знаете, что такое трансдьюсеры

Reading time6 min
Views45K

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

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

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity