Я вот сам работаю полный рабочий день и при этом умудряюсь разрабатывать примерно десяток собственных свободных проектов с открытым кодом. Большую часть приходится точить самому, а часть мне помогают либо случайные энтузиасты, или один со-разработчик. Все эти проекты пилю чисто как хобби, и потому что нужны самому. При этом за них тоже не получаю никого финансирования. Либо жалкие копейки эпизодически, либо 10 тысяч одноразово, чтобы поддержать разработку одной из моих библиотек.
В больших проектах я предпочитаю не использовать всякие менеджеры зависимостей (Conan, npm, pip, и т.п.), а делать копии выпусков используемых библиотек к себе на репы и собирать их исходников целиком как подмолули. Это надо затем, чтобы:
Ничего не сломалось, если вдруг основной проект что-то сделает не то или стухнет.
Возможность вносить свои правки. Например, исправить баг или применить заплатку сразу до следующего выпуска. Или починить сломанную совместимость (чаще всего с Windows XP и даже 98, ибо проекты целятся под работу на ретрокомпьютерах, а не только под современное).
Возможность собрать проект здесь на месте с минимумом установки внешних зависимостей. Но возможность стыковаться с системными аналогами я сохранил, чтобы собирать компактные DEB-выпуски, и как исключение, собираю свои, если в системе библиотеки слишком старые.
Есть Nextcloud, который можно развернуть на своём сервере и клиенты синхронизации под всевозможные платформы, сам пользуюсь параллельно. У меня домашний сервер, и через него работаю как дома в домашнй сети, так и находясь где-то в городе или на работе.
Я вообще делаю так: - дома подключаю мобилку к домашней сети. - мобилке назначаю статический IP-адрес. - на мобилке гоняю SSH-сервер. - на домашнем компьютере запускаю скрипт (у меня на bash, но можно и на питоне и на чём угодно написать), который скачивает файлы с мобилки по SFTP и сортирует по подпапкам в галлерее (у меня подпапки по датам съёмки, которые берутся из имён загруженных файлов).
Я помню схожую акцию у Microsoft в начале 2010х, которая предлагала бесплатно лицензии к своим продуктам студентам, но требовала подтверждение, прислав студенческий билет или преподавательское удостоверение, и надо было каждый год подтверждать статус.
WinForms это вовсе не WinAPI, это гигантская библиотека из набора .NET. Если говорить о чистом WinAPI, конечно же CreateWindowEx, GetMessage и DispatchMessage, ну и говоря о формах, максимум диалоговые окна через редактор ресурсов (.rc-скрипты) собрать, и потом хватать их через соответствующие функции. Но вот серьёзные окна лучше собирать динамически из кода.
Для крупных проектов использую Qt, первым делом потому, что точу кросс-платформенно, а не исключительно под Windows. Но вот мелочёвку в виде специфичных утилит, настроечников и т.п. пишу на чистом WinAPI, чтобы весило мало.
Понял, и я тут же накопал демку https://github.com/selastingeorge/Win32-Acrylic-Effect и описание того, как именно тот смог это повторить. И более того, заявлено, что оно будет работать даже на виндосемёрке/восьмёрке, но автор не проверял (могу потом по приколу проверить дома, виртуалки есть).
И кстати, я бы мог применить подобную штучку кое-где в своём проекте, чтобы окошко одно выглядело по красивее. На виндосемёрке с эффектом Aero оно у меня красивое, а на всём, кроме Vista и 7, используется базовый стиль, ибо фишка провоцирует глюки. Но сделать мне надо это так, чтобы не ломало совместимость с Windows XP (проект сам целится на ретрокомпьютеры в том числе).
Ну WinAPI это не только базовый набор, но ещё куча куча различных библиотек в составе, которых тоже можно задействовать, чтобы добраться до нужной фишки. Не спорю, что некоторые подобные фишки сами реализованы на других языках или интерфейсах, и с ними надо стыковаться совсем по другому. Либо базовый WinAPI чего-то НЕ даёт, и это нужно реализовать самостоятельно, программно на голом виджете, хватая вручную события мышки и клавиатуры, и выводя анимацию при взаимодействии с подобными штуками.
Вот как ни крути, всё, кроме чистого WinAPI, это костыли и обёртки, из-за которых итоговая масса приожения будет в разы больше, чем его собственный код из-за килотонны зависимостей, которых надо либо доустанавливать пользователю, либо таскать их с собой вместе с приложением. Если я пишу программы под Windows без Qt (который в основном использую на линухах и макоси, а также под винду отдельные сборки), то стараюсь точить под чистый WinAPI, чтобы приложение было максимально компактным и независимым, а также чтобы самостоятельно контролировать совместимость со старыми и новыми системами. Единственный плюс подобных обёрток - упростить разработку и сократить время создания конечного продукта, но, ценой компактности и даже совместимости с конкретными системами.
Дополняю: лично я больше всего недолюбливаю Electron, из-за того, что приложения получаются крайне неповоротливыми и чрезвычайно прожорливыми, даже не смотря на то, что выполняют жалкий минимум, который легко запихнуть в исполняшку на Чистом Си весом несколько килобайт.
Задумка прикольная, НО, с точки зрения ИБ очень мне кажется, что таким методом условно могут доставлять жертве вирусы-трояны, маскируя под всякие другие приколы.
Аська за всю историю ходила по рукам, и закончила свою жизнь как раз в руках прямого конкуретна - МылРу. Её изначально создали в Израиле, создав стартап Mirabilis, и потом они попали к жадной жабе AOL, которая также владела и Скайпом, и WinAMP они захавали, и когда WinAMP закрывалась, авторы высказались про то, что AOL мегазабюрократизированная компания, жаждущая деньги и прибыль. И вот на этом они и прогорели в итоге. Аську они продали нашему МылРу, потому что на тот момент аудитория из СНГ была крупнейшей в сети Аське, как я помню.
Я помню как-то пользовался то Miranda-IM, то тоже QIP-ом, а потом и вовсе Pidgin-ом, куда я повесил и Агента, и ICQ. На официальных клиентах ICQ я почти не гонял, ибо и реклама тогда была, и сами клиенты глючили у меня. У меня тогда вообще были либо исторический Pentium MMX 133 МГц 64 МБ ОЗУ, либо Pentium III 866 МГц и 512 МБ ОЗУ. Агент использовал старой версии 4.6, последняя какая работала из под Windows 98, а на WinXP потом гонял более новые версии. Потом и раздобыть себе "пни4", но оперативки поставил хотя бы гиг, ибо 512 уже мало стало.
Для меня Агент - мессенджер моего детства, в конце нулевых общался через него с большинством моих знакомых, и мне Агент нравился сильно больше, чем Аська и по функциям, и по стабильности. А также мне лично не везло со знакомыми, кто был фанатом Аськи, не самые адекватные индивиды попадались, но были и исключения. Параллельно использовал Скайп и потом освоил XMPP, и даже свой сервер поднял.
Те, кто говорит, что "рекламная хрень", путают наверняка с "браузером Амиго" (навязчивость которого породила тьму мемов в своё время!), который в самом деле полз везде и всюду, когда его не просили. А вот Агент в своё время был во истину хорошим и годным продуктом от МылРу (и скорее всего единственным на мой взгляд годным программным продуктом). Потом он стух, когда решили переделать его полностью в районе 2013го года (версия 6.x), из-за чего многие тогда слиняли в другие мессенджеры.
Эмуляторы в этом плане спасают, свободный выбор любого контроллера, и железа, на котором играть. А железо, судя по всему, точилось под детей (основную целевую аудиторию) под их мелкие ручки, и поэтому да, тут как повезёт с генетикой и анатомией, если говорить про оригинал.
Про размер рук и аппарат да, вот у моей подруги наоборот, руки мелкие, и на больших геймпадах она не достаёт до нужных кнопок и играть в те же привычные игры для неё - пытки.
По поводу снимков: у меня самого парк различной ретро-техники (6 системников разных годов стоят пирамидкой и воткнуты в KVM-переключатель), и я делаю разные эксперименты на железе, и вот сделал для себя я вот такой велосипед - крохотная программка, которая делает снимки экрана и сразу сохраняет их в PNG, и отправляет по FTP на основной компьютер.
Штучка точилась с совместимостью под Windows 98, сначала сделав версию под Qt 4.4.3, а затем сделал отдельную WinAPI-версию, чтобы весила лишь 150 килобайт и не жрала оперативку, особенно если её мало на "подопытном".
Также пытаюсь создать вариант для Windows 3.x, ибо там тоже на железе делаю разные эксперименты.
Я вот сам работаю полный рабочий день и при этом умудряюсь разрабатывать примерно десяток собственных свободных проектов с открытым кодом. Большую часть приходится точить самому, а часть мне помогают либо случайные энтузиасты, или один со-разработчик. Все эти проекты пилю чисто как хобби, и потому что нужны самому. При этом за них тоже не получаю никого финансирования. Либо жалкие копейки эпизодически, либо 10 тысяч одноразово, чтобы поддержать разработку одной из моих библиотек.
В больших проектах я предпочитаю не использовать всякие менеджеры зависимостей (Conan, npm, pip, и т.п.), а делать копии выпусков используемых библиотек к себе на репы и собирать их исходников целиком как подмолули. Это надо затем, чтобы:
Ничего не сломалось, если вдруг основной проект что-то сделает не то или стухнет.
Возможность вносить свои правки. Например, исправить баг или применить заплатку сразу до следующего выпуска. Или починить сломанную совместимость (чаще всего с Windows XP и даже 98, ибо проекты целятся под работу на ретрокомпьютерах, а не только под современное).
Возможность собрать проект здесь на месте с минимумом установки внешних зависимостей. Но возможность стыковаться с системными аналогами я сохранил, чтобы собирать компактные DEB-выпуски, и как исключение, собираю свои, если в системе библиотеки слишком старые.
Есть Nextcloud, который можно развернуть на своём сервере и клиенты синхронизации под всевозможные платформы, сам пользуюсь параллельно. У меня домашний сервер, и через него работаю как дома в домашнй сети, так и находясь где-то в городе или на работе.
Я вообще делаю так:
- дома подключаю мобилку к домашней сети.
- мобилке назначаю статический IP-адрес.
- на мобилке гоняю SSH-сервер.
- на домашнем компьютере запускаю скрипт (у меня на bash, но можно и на питоне и на чём угодно написать), который скачивает файлы с мобилки по SFTP и сортирует по подпапкам в галлерее (у меня подпапки по датам съёмки, которые берутся из имён загруженных файлов).
Я помню схожую акцию у Microsoft в начале 2010х, которая предлагала бесплатно лицензии к своим продуктам студентам, но требовала подтверждение, прислав студенческий билет или преподавательское удостоверение, и надо было каждый год подтверждать статус.
WinForms это вовсе не WinAPI, это гигантская библиотека из набора .NET. Если говорить о чистом WinAPI, конечно же CreateWindowEx, GetMessage и DispatchMessage, ну и говоря о формах, максимум диалоговые окна через редактор ресурсов (.rc-скрипты) собрать, и потом хватать их через соответствующие функции. Но вот серьёзные окна лучше собирать динамически из кода.
Для крупных проектов использую Qt, первым делом потому, что точу кросс-платформенно, а не исключительно под Windows. Но вот мелочёвку в виде специфичных утилит, настроечников и т.п. пишу на чистом WinAPI, чтобы весило мало.
Понял, и я тут же накопал демку https://github.com/selastingeorge/Win32-Acrylic-Effect и описание того, как именно тот смог это повторить. И более того, заявлено, что оно будет работать даже на виндосемёрке/восьмёрке, но автор не проверял (могу потом по приколу проверить дома, виртуалки есть).
И кстати, я бы мог применить подобную штучку кое-где в своём проекте, чтобы окошко одно выглядело по красивее. На виндосемёрке с эффектом Aero оно у меня красивое, а на всём, кроме Vista и 7, используется базовый стиль, ибо фишка провоцирует глюки. Но сделать мне надо это так, чтобы не ломало совместимость с Windows XP (проект сам целится на ретрокомпьютеры в том числе).
В плане, чтобы создать инструмент для графического редактора, или интеграция с графическим планшетом и стилусом? Или тему оформления окна сделать?
Ну WinAPI это не только базовый набор, но ещё куча куча различных библиотек в составе, которых тоже можно задействовать, чтобы добраться до нужной фишки. Не спорю, что некоторые подобные фишки сами реализованы на других языках или интерфейсах, и с ними надо стыковаться совсем по другому. Либо базовый WinAPI чего-то НЕ даёт, и это нужно реализовать самостоятельно, программно на голом виджете, хватая вручную события мышки и клавиатуры, и выводя анимацию при взаимодействии с подобными штуками.
Вот как ни крути, всё, кроме чистого WinAPI, это костыли и обёртки, из-за которых итоговая масса приожения будет в разы больше, чем его собственный код из-за килотонны зависимостей, которых надо либо доустанавливать пользователю, либо таскать их с собой вместе с приложением. Если я пишу программы под Windows без Qt (который в основном использую на линухах и макоси, а также под винду отдельные сборки), то стараюсь точить под чистый WinAPI, чтобы приложение было максимально компактным и независимым, а также чтобы самостоятельно контролировать совместимость со старыми и новыми системами. Единственный плюс подобных обёрток - упростить разработку и сократить время создания конечного продукта, но, ценой компактности и даже совместимости с конкретными системами.
Дополняю: лично я больше всего недолюбливаю Electron, из-за того, что приложения получаются крайне неповоротливыми и чрезвычайно прожорливыми, даже не смотря на то, что выполняют жалкий минимум, который легко запихнуть в исполняшку на Чистом Си весом несколько килобайт.
Вот вот, я тоже об этом подумал, вирусню так могут пропихивать по частям. Опасная фишка, однако.
Задумка прикольная, НО, с точки зрения ИБ очень мне кажется, что таким методом условно могут доставлять жертве вирусы-трояны, маскируя под всякие другие приколы.
Через Миранду сейчас можно лишь общаться через XMPP или IRC коих серверов пока до сих пор тьма.
Аська за всю историю ходила по рукам, и закончила свою жизнь как раз в руках прямого конкуретна - МылРу. Её изначально создали в Израиле, создав стартап Mirabilis, и потом они попали к жадной жабе AOL, которая также владела и Скайпом, и WinAMP они захавали, и когда WinAMP закрывалась, авторы высказались про то, что AOL мегазабюрократизированная компания, жаждущая деньги и прибыль. И вот на этом они и прогорели в итоге. Аську они продали нашему МылРу, потому что на тот момент аудитория из СНГ была крупнейшей в сети Аське, как я помню.
Я помню как-то пользовался то Miranda-IM, то тоже QIP-ом, а потом и вовсе Pidgin-ом, куда я повесил и Агента, и ICQ. На официальных клиентах ICQ я почти не гонял, ибо и реклама тогда была, и сами клиенты глючили у меня. У меня тогда вообще были либо исторический Pentium MMX 133 МГц 64 МБ ОЗУ, либо Pentium III 866 МГц и 512 МБ ОЗУ. Агент использовал старой версии 4.6, последняя какая работала из под Windows 98, а на WinXP потом гонял более новые версии. Потом и раздобыть себе "пни4", но оперативки поставил хотя бы гиг, ибо 512 уже мало стало.
Для меня Агент - мессенджер моего детства, в конце нулевых общался через него с большинством моих знакомых, и мне Агент нравился сильно больше, чем Аська и по функциям, и по стабильности. А также мне лично не везло со знакомыми, кто был фанатом Аськи, не самые адекватные индивиды попадались, но были и исключения. Параллельно использовал Скайп и потом освоил XMPP, и даже свой сервер поднял.
Те, кто говорит, что "рекламная хрень", путают наверняка с "браузером Амиго" (навязчивость которого породила тьму мемов в своё время!), который в самом деле полз везде и всюду, когда его не просили. А вот Агент в своё время был во истину хорошим и годным продуктом от МылРу (и скорее всего единственным на мой взгляд годным программным продуктом). Потом он стух, когда решили переделать его полностью в районе 2013го года (версия 6.x), из-за чего многие тогда слиняли в другие мессенджеры.
Эмуляторы в этом плане спасают, свободный выбор любого контроллера, и железа, на котором играть. А железо, судя по всему, точилось под детей (основную целевую аудиторию) под их мелкие ручки, и поэтому да, тут как повезёт с генетикой и анатомией, если говорить про оригинал.
Про размер рук и аппарат да, вот у моей подруги наоборот, руки мелкие, и на больших геймпадах она не достаёт до нужных кнопок и играть в те же привычные игры для неё - пытки.
По поводу снимков: у меня самого парк различной ретро-техники (6 системников разных годов стоят пирамидкой и воткнуты в KVM-переключатель), и я делаю разные эксперименты на железе, и вот сделал для себя я вот такой велосипед - крохотная программка, которая делает снимки экрана и сразу сохраняет их в PNG, и отправляет по FTP на основной компьютер.
Можете взять на вооружение, если интересно: https://github.com/Wohlstand/TinyScreenshoter
Штучка точилась с совместимостью под Windows 98, сначала сделав версию под Qt 4.4.3, а затем сделал отдельную WinAPI-версию, чтобы весила лишь 150 килобайт и не жрала оперативку, особенно если её мало на "подопытном".
Также пытаюсь создать вариант для Windows 3.x, ибо там тоже на железе делаю разные эксперименты.