Pull to refresh
13
0
Александр Гаврилюк @Absent

Программист

Send message

Из личного (многолетнего) опыта: в Linux/Unix хорошо сделана командная строка (то есть консоль у них просто великолепна, а консоль Windows/DOS - жалкая пародия), но графический интерфейс у Windows - лучший (хоть злые языки и утверждают, что это - тоже пародия, только с Mac, но тогда это как раз тот случай, когда пародия оказалась намного лучше оригинала)
Объединение никсовой консоли и виндовой графики - лучшее, что только может пожелать от MS требовательный пользователь или разработчик
Судя по описанию, получилось это у них неплохо
Спасибо дяде Билли!

инвалиды для инвалидов

Точнее не скажешь :-D

vga.com

В 1995-м году мне показали эту программу. После запуска она оставалась резидентной в оперативной памяти, перенаправляя на себя какие-то функции VGA адаптера. В результате экран в текстовом режиме выглядел повернутым на 180 градусов (фактически - перевернутым), но при этом продолжал работать правильно, включая поддержку курсора мыши. На графический режим работы видеоадаптера программа никак не влияла. Повторный запуск программы выгружал ее из памяти, и экран снова начинал работать правильно.

Мне стало интересно, как это работает, я дизассемблировал файл, но в той части, где идет работа с драйвером видеоадаптера, я ничего не понял :-) Зато я заметил, что программа принимает параметр командной строки - целое число, интерпретируемое как количество секунд задержки до срабатывания. Я слегка переделал эту часть программы, чтобы она принимала параметр как HH:MM - точное время срабатывания.

Я тогда работал в Нацбанке Казахстана. У команды системщиков (кабинет на том же этаже, через пару дверей) была традиция устраивать чаепитие в 11:00, куда приглашались и друзья, а я там был почти внештатным членом команды :-) Придя на работу пораньше, я зашел к ним в пустой кабинет и установил эту программу на все компьютеры, добавив в autoexec.bat ее вызов с параметром "11:00".

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

Я деловито предложил им перевернуть монитор вверх ногами, что они тут же и сделали. Цветовая гамма слегка поплыла радугами (видимо, ЭЛТ не была рассчитана на переворачивание), но в целом работать было можно.

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

Здесь очевидно vtable - это АДРЕС памяти, по которому расположена VMT

Кто у кого содрал? :-)
https://bool.dev/blog/detail/tipichnye-voprosy-na-sobesedovanii-po-cplusplus

"Как защитить объект от копирования?"

В современных версиях языка можно использовать ключевое слово delete

MyClass (const MyClass&) = delete;
MyClass& operator= (const MyClass&) = delete;

Замечательная статья про замечательного человека, спасибо!

Машинный код - это действительно красиво, если понимаешь.
У меня был период программирования на листочке бумаги под процессор КР580ВМ80.
Относительные адреса переходов приходилось рассчитывать в уме, складывая длины машинных инструкций между командами "откуда" и "куда"
Помню свой восторг, когда мне показали программу ассемблер - работать стало на порядок проще.
С тех прошло 30+ лет профессионального программирования на многих языках и платформах, но такого чистого и оптимального кода, какой делался на уровне машинных инструкций, я больше не встречал :-)

P.S. У вас тут опечатка: "Эта копания работала именно с женщинами-программистами-фрилансерами" (правильно - "компания")

Работаю с git уже 10 лет, практически ежедневно. Визуальные инструменты (Fork) сильно помогают в простых операциях, но "непростые" все равно случаются довольно часто. Без командной строки пока никак не получается.

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

Приставка, наоборот, служит исключительно для развлечений, к тому же она еще и отнимает время, которое могло бы быть потрачено на учебу или работу, то есть бьет по бюджету не только в момент ее покупки, но и потом, в течение всего времени ее использования :-)

Вот поэтому простое сравнение цен на приставки и компы абсолютно не показательно.

Отличная статья! Спасибо и респект автору.

BTW по-моему, в предложении "Наследование стоит оставить для случаев, когда она абсолютно необходима" будет правильнее использовать местоимение "оно"

Это могло бы быть смешно, если бы не было так грустно

Мою фамилию «Гаврилюк» в Казахстане писали Gavrilyuk, в России — Gavriliuk, в Молдавии — Gavriliuc, а в Украине — Havryliuk

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

Спасибо за интересную работу! Очень полезно и познавательно :-)

Хочу поделиться мыслями по поводу вот этой фразы:
код все равно длинны 3 и не стандартный

Во-первых, по-моему, можно ограничиться заменой Щ -> JS (длина — 2, но префикс взят от гласных)
А во-вторых, правильно писать «длины» и «нестандартный» (а точнее — «длиной» и «нестандартен»)

Всех благ! :-)
Привет, отличная статья

Мой случай: имеется веб-приложение с WebSocket соединением с сервером, определена пара пользователей, желающих начать видео-звонок (то есть каждый из них может передавать данные на сервер и быть уверенным, что другой их получит — сервер передаст :-)

Получается, мне нужно только добавить видеозахват и отображение потока, так как само соединение у меня уже есть (правда, через сервер, но это можно пережить)

Не могу сообразить, надо ли мне использовать RTCPeerConnection, как более подходящее по случаю, или лучше воспользоваться описанной здесь схемой?

Спасибо
Опечатка в коде: имя параметра «text_lenght»
char* text;
int text_length;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &text, &text_lenght) == FAILURE) { 
   return;
}
По-моему, у вас в примере есть опечатка

destroy_write:
    png_destroy_write_struct(&png_str, nullptr);
close_file:
    fclose(fp);
}

В этом фрагменте удаляется png_str, но такой переменной не объявлялось
По-видимому, имелась в виду переменная png_ptr

Спасибо за пример, это — как раз то, что я искал (если, конечно, всё заработает) :-)
«но и это настаиваемо» :-)

Я использую Vue.js на многих проектах и очень им доволен


Достаточно двух тегов v-if и v-for, чтобы начать с ним работать и получить выигрыш по скорости разработки и объему кода раз в 10, и ничего больше можно не изучать


Я считаю это огромным плюсом Vue.js

Наверное, все же не «почтовый клиент», а какой-то общесистемный spell checker?
И наверняка его можно «обучить» новому слову.
Спасибо за ссылки.

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

Information

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