Pull to refresh
0
0
Владислав Джавадов @Vapaamies

User

Send message

Как живется в США «неайтишникам». Два года спустя

Reading time11 min
Views170K

Два года назад я написал на хабре статью Как живется в США «неайтишникам», которая собрала 194 000 просмотров, 561 комментарий и вошла в список лучших статей 2020 года. И вот, два года спустя я решил пробежаться по тем же тезисам, чтобы провести некий срез, как изменилась обстановка в США и мое место в ней, особенно в свете последних событий.

Про жизнь, траты, поиск и смены работы и перспективы. Мне 38, я по образованию биотехнолог, семья — два человека, английский язык — так себе. Живу в Северной Каролине почти два года. Обещаю без политики и максимально объективно.

Читать далее
Total votes 600: ↑539 and ↓61+587
Comments1315

Про импортозамещение

Reading time15 min
Views251K

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

Читать далее
Total votes 472: ↑454 and ↓18+558
Comments1189

Подход к ведению документации на ОС: наш опыт

Reading time8 min
Views4.2K

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

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments4

День «Mother of all demo»: отмечаем годовщину главного ИТ-события

Reading time6 min
Views3.7K

9 декабря 1968 года — день, который определил развитие компьютерной техники и информационных систем на десятилетия вперед. Тогда, на осенней конференции Joint Computer, Даг Энгельбарт в ходе полуторачасовой демонстрации представил результат трудов исследовательского центра по усилению способностей человека. Этот результат — среда для совместной работы oN-Line System (NLS), для которой были разработаны программная и аппаратная часть, а также нетривиальный способ демонстрации системы.

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

Итак, сегодня «большому демо» исполнилось 54 года. И под катом мы рассмотрим его довольно пристально. Дело в том, что недавно были опубликованы ремастеры (1, 2, 3) старой записи, и теперь вместо размытого фона рядом с Дагом Энгельбартом мы можем видеть интерфейс NLS во всей его красе.

Этот пост — знак признательности всем тем людям, которые сделали это демо возможным.

Читать далее
Total votes 42: ↑42 and ↓0+42
Comments7

Почему современное ПО такое медленное — разбираемся на примере диктофона Windows

Reading time3 min
Views44K
Я прошу прощения за такой заголовок, потому что современное ПО может быть медленным по множеству разных причин. Слепое использование одного объяснения без малейшего расследования — это программный аналог карго-культа. В этом посте рассматривается один пример того, почему современное ПО может быть мучительно медленным.


Я всего лишь хотел записать сорокасекундную озвучку простенького видео, поэтому запустил стандартное приложение Запись голоса (Voice Recorder) операционной системы Windows и нажал на кнопку записи. Казалось, что ничего не произошло.

Позже я проверил и оказалось, что программа выполняет запись. Я немного поэкспериментировал и выяснил, что в первый раз, когда я начинал запись после запуска Записи голоса, её реакции иногда предшествовала долгая задержка. Двадцатисекундная задержка при записи сорокасекундного клипа — довольно низкий КПД. Это расстроило меня настолько, что я захотел разобраться, почему так получается, и запустил трассировку ETW.
Читать дальше →
Total votes 98: ↑96 and ↓2+123
Comments341

Встречайте псевдоконсоль Windows (ConPTY)

Reading time17 min
Views20K
Статья опубликована 2 августа 2018 года

Это вторая статья про командную строку Windows, где мы обсудим новую инфраструктуру и программные интерфейсы псевдоконсоли Windows, то есть Windows Pseudo Console (ConPTY): зачем мы её разработали, для чего она нужна, как работает, как её использовать и многое другое.

В прошлой статье «Тяжкое наследие прошлого. Проблемы командной строки Windows» мы рассказали о предпосылках появления терминала и эволюции командной строки в Windows, а также начали изучать внутреннее устройство Windows Console и инфраструктуры Windows Command-Line. Мы также обсудили многие преимущества и главные недостатки консоли Windows.

Один из недостатков заключается в том, что Windows пытается быть «полезной», но мешает разработчикам альтернативных и сторонних консолей, разработчикам служб и т.д. При создании консоли или службы разработчикам нужно иметь доступ к каналам связи, по которым их терминал/служба обменивается данными с приложениями командной строки, или предоставлять доступ к ним. В мире *NIX это не проблема, потому что *NIX предоставляет инфраструктуру «псевдотерминала» (PTY), которая позволяет легко создавать коммуникационные каналы для консоли или службы. Но в Windows такого не было…

… до настоящего времени!
Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments23

Как программисты дурят бизнес?

Reading time15 min
Views52K

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

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

Предполагаемая аудитория: Бесстыжие программисты и наивные руководители. Одних пристыдим, другим раскроем глаза. И наоборот.

Ну, задай огонька!
Total votes 134: ↑65 and ↓69+9
Comments124

Бредовые проекты в разработке

Reading time10 min
Views4.6K
Впервые я попал в неприятности в «Тиме Хортоне», когда жарил пару дюжин хрустящих пончиков с грецким орехом. «Тим Хортон» — это кафе, которое торгует кофе и пончиками, я работал там году эдак в 2002-м, когда учился в университете.

Большая часть пончиков жарится по тридцать секунд на сторону, потом их переворачивают и обжаривают с другой стороны. Работать приходилось в пекле, всю смену возле фритюрницы, но вот готовить хрустящие пончики с грецким орехом (сейчас их уже убрали из меню) я любил, потому что им нужно жариться по три минуты на сторону. А значит, у меня было время взять пустую банку из-под масла, сесть и дать отдых ногам, пока они готовятся.

На этом-то я и попался. Управляющий нашим кафе, который обычно отсутствовал, когда у меня были смены, увидел, как я сижу. «Свободное время у тебя чтобы убираться, а не чтобы рассиживаться». И вот, в следующую смену, пока жарилась очередная партия хрустящих пончиков с грецким орехом, мне пришлось по второму кругу надраивать уже вымытый пол. Еще у меня были варианты протереть и без того чистые кухонные столы или еще на раз пересчитать яйца. Лишь бы не отдыхал.

Так я впервые столкнулся с имитацией бурной деятельности (ИБД): работой, которая делается чисто ради того, чтобы чем-то себя занять. Она является одной из разновидностей бредовой работы: работы которую сотруднику приходится выполнять, хотя она не имеет никакого смысла.

Я терпеть не мог ИБД и ужасно рад, что окончил университет и пришел в разработку, где мне не приходится делать вид, что я постоянно чем-то занят. Пока идет сборка, я могу почитать Hacker News и ни от кого еще не слышал, что лучше бы мне за это время навести лоск на скобки.
Читать дальше →
Total votes 9: ↑8 and ↓1+9
Comments5

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

Reading time23 min
Views231K

Я люблю давать простые задачки студентам на лекции. Во-первых, понятно, скольких мы потеряли, во-вторых, это переключение из режима потребления информации в режим выдачи результатов, в третьих — возможность проявить себя для шустрых. Сплошные плюсы!

Одна из простых задач звучит так: «При переводе картинки из цветового пространства RGB в YUV мы выполняем прореживание, то есть выкидываем каждый четный столбец и каждую четную строку в компонентах U и V (все компоненты пикселя по 1 байту). Вопрос: во сколько раз меньше данных у нас стало?» Эта операция называется chroma subsampling и широко используется при сжатии видео, например.

Забавно, что когда-то давно, когда винчестеры были меньше, а дискеты больше, студенты реально отвечали на этот вопрос быстро. А в последние годы регулярно народ в ступор впадает. Приходится разбирать по частям: «Если выкинуть каждую четную строку и каждый четный столбец, во сколько раз меньше данных будет у компоненты?» Почти хором: «В четыре». Начинаю подкалывать: «Отлично! У нас было 3 яблока, первое осталось как есть, а от второго и третьего осталось по четвертинке. Во сколько раз меньше яблок у нас стало?» Народ ржет, но, наконец-то, дает правильный ответ (заметим, не все). 

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

И хорошо видно, как эта способность в широких массах студентов заметно плавно падает. Причем не только в нашей стране. Придуман даже специальный термин: «цифровое слабоумие» ("digital dementia") — снижение когнитивных способностей, достаточно серьезное, чтобы повлиять на повседневную деятельность человека. 

Кому интересно как теряют мозг студенты масштабы бедствия и что с этим делать — добро пожаловать под кат!

Читать далее
Total votes 324: ↑308 and ↓16+373
Comments795

Тяжкое наследие прошлого. Проблемы командной строки Windows

Reading time28 min
Views78K
Предисловие от автора, Рича Тёрнера из Microsoft. Это статья о командной строке: от её появления и эволюции до планов капитального ремонта Windows Console и командной строки в будущих версиях Windows. Будь вы опытным профессионалом или новичком в IT, надеемся, что вы найдёте статью интересной.

Давным-давно в далёкой-далёкой серверной...


С первых дней развития информатики людям нужен был эффективный способ передавать компьютеру команды и данные и видеть результат выполнения этих команд/вычислений.

Одним из первых по-настоящему эффективных человеко-машинных интерфейсов стал Tele-Typewriter или «телетайп». Это электромеханическая машина с клавиатурой для ввода данных и каким-нибудь устройством вывода — сначала использовался принтер, позже экран.
Читать дальше →
Total votes 107: ↑103 and ↓4+99
Comments181

Упс и опаньки… Юмору не место в сообщениях об ошибках

Reading time5 min
Views29K

Сообщения об ошибках — чуть ли не единственное место, где пользователь программы может напрямую пообщаться с её автором. Ну как пообщаться… Ответить он всё равно ничего не сможет. Даже если сильно хочется. А иногда в сообщениях об ошибках такой треш, что действительно очень хочется ответить. Или просто взглянуть в глаза того инженера, который это сочинил.
Читать дальше →
Total votes 103: ↑80 and ↓23+87
Comments131

Что мне не нравится в Windows 10

Reading time5 min
Views116K
Встретил тут очередной список «10 причин, которые сподвигли перейти с Windows 10 на Linux» и решил составить свой список того, что мне не нравится в Windows 10 — ОС, которой я пользуюсь сегодня. Переходить на Linux я не собираюсь в обозримом будущем, но это совсем не значит, что я доволен всем, что меняется в операционной системе.

Сразу отвечу на вопрос «а почему бы не продолжать использовать Windows 7, если что-то не нравится в 10?»

Моя работа связана с технической поддержкой, в том числе и компьютеров с десятками. Потому выгодней жить на актуальной версии ОС, а не отмазываться от заданий под соусом «я этой вашей десяткой не пользуюсь». На семёрке я жил, я её помню-знаю, с тех времён там ничего не изменилось. А вот десятка постоянно меняется, чуть задержишься с обновлениями — и настройки какие-то переползут в другое место, логика поведения изменится и т.п. Потому, чтобы не отстать от жизни, в повседневном использовании у меня именно Windows 10.



А теперь расскажу, что я в ней не люблю. Поскольку я не только пользователь, но и админ, то нелюбовь будет с двух точек зрения. Кто сам не пользуется, а только админит — тот не встретит половину вещей, а простой пользователь не встретит вторую.
Читать дальше →
Total votes 123: ↑92 and ↓31+61
Comments793

Забытые корни популярных иконок

Reading time9 min
Views29K


Популярная шутка утверждает, что наши дети воспримут 3,5-дюймовую дискету как распечатанный на 3D-принтере значок сохранения. Действительно, растёт поколение, не знающее объекта, с которого срисовали эту пиктограмму.

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

В этом посте мы попытаемся отследить этимологию наиболее простых иконок, которые прочно вошли в наш графический язык.
Читать дальше →
Total votes 57: ↑55 and ↓2+73
Comments122

Как сделать стандарт за 10 дней. Часть вторая. Скучная

Reading time6 min
Views14K
Как сделать стандарт за 10 дней, я рассказывал раньше. Сейчас я хотел бы рассказать о терминологии и названиях документов, их значении и разных подходах к составлению документации. Конечно, все знают, что полезно разбираться в документах, но не у всех хватает терпения вникнуть в них. Я расскажу, как меня засудили как раз за это. Эта часть будет сухой и скучной, налейте себе чая, возьмите печеньки. Поехали.

Читать дальше →
Total votes 67: ↑63 and ↓4+59
Comments7

Как сбежать из секты?

Reading time12 min
Views15K
Наш мир устроен очень странно. И чем дальше, тем становится страннее. И хрен поймешь, в чем дело.

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

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

Я говорю о «внедрении методик», «работе по фреймворку», «обязательном использовании всех артефактов». О сектах, короче.
Читать дальше →
Total votes 64: ↑47 and ↓17+30
Comments21

История с продолжением: собственный компилятор Паскаля для Windows с чистого листа

Reading time5 min
Views23K
Неожиданно тёплый приём, оказанный публикой Хабра моему посту о самодельном компиляторе XD Pascal для MS-DOS, заставил меня задуматься. Не досадно ли, что любительский проект, которому я отдал немало сил, лежит у меня мёртвым грузом с тех самых пор, как из Windows полностью исчезла виртуальная машина DOS? Итогом размышлений стал компилятор XD Pascal для Windows. Возможно, он лишился некоторой доли ностальгического шарма и утратил возможность наивной работы с графикой через прерывания BIOS. Однако переход на Windows вдохнул новую жизнь в проект и открыл дорогу к давней мечте — самокомпиляции.

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


Читать дальше →
Total votes 89: ↑86 and ↓3+83
Comments114

Мой компилятор Паскаля и польское современное искусство

Reading time5 min
Views26K

Истоки


Несколько лет назад я написал компилятор Паскаля. Мотивация была простой: в юности я узнал из своих первых книжек по программированию, что компилятор — вещь чрезвычайно сложная. Это утверждение засело занозой в мозгу и в конце концов потребовало проверки на опыте.

image
ha.art.pl

Сперва родился простейший компилятор PL/0, а из него постепенно вырос почти полнофункциональный компилятор Паскаля для MS-DOS. Вдохновением мне служила книга Compiler Construction, написанная создателем языка Паскаль Никлаусом Виртом. И пусть взгляды Вирта уже устарели и утратили всякую связь с реалиями ИТ, а компиляторы делают совсем не так, как учил Вирт. Однако его методы по-прежнему просты, изящны, а главное — приносят радость, ведь самостоятельно разобрать текст программы рекурсивным спуском и сгенерировать машинный код намного заманчивее, чем призывать на помощь яков, бизонов и всех их преемников.

Судьба моего компилятора оказалась не самой тривиальной. Он прожил две жизни: первую — в моих руках, вторую — в руках польских ценителей компьютерных древностей.
Total votes 111: ↑108 and ↓3+105
Comments91

Как создать open source проект

Reading time7 min
Views9.7K
Уже на этой неделе в Санкт-Петербурге пройдет IT-фестиваль TechTrain. Одним из спикеров будет Ричард Столлман. Embox тоже участвует в фестивале, и конечно мы не могли обойти вниманием тему СПО. Поэтому один из наших докладов называется “От студенческой поделки до opensource проекта. Опыт Embox”. Он будет посвящен истории развития Embox как проекта с открытым кодом. В данной статье я хочу поведать об основных идеях, которые по моему мнению влияют на развитие opensource проектов. Статья, как и доклад, основана на личном опыте.
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments12

Как на древнерусском будет «this is a test»

Reading time1 min
Views14K
Сегодня мы все не задумываясь наберем «this is a test», если нам нужно первый раз попробовать новый редактор или язык программирования:

10 PRINT "This is a test"

Но было ли так всегда?

Давайте отметим День программиста, посмотрев, как выглядел один из самых древних примеров «This is a test» на Руси.
Читать дальше →
Total votes 48: ↑35 and ↓13+22
Comments52

Rust в 2019 году и далее: ограничения на рост

Reading time7 min
Views6.1K
Как и просили, вот мои предложения по развитию Rust в 2019 году и далее.

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

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

TL;DR: Важно осознать проблему и запланировать явные механизмы по ограничению роста двух вещей:

  1. Обязательные общие технические артефакты, особенно само определение языка.
  2. Нагрузка на людей, участвующих в обсуждении этих артефактов.
Читать дальше →
Total votes 23: ↑18 and ↓5+13
Comments11

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity