Аж олдскулы свело. Код для Delphi из далёкого 2008.
function AlreadyWorks(Str: PWideChar): Boolean;
var
Hdle: THandle;
begin
(* Проверяет наличие уже запущенного указанного экземпляра приложения *)
//Открытие Мьютекса (виртуального файла)
Hdle:=OpenMutex(MUTEX_ALL_ACCESS, False, Str);
//... в памяти
Result:=(Hdle<>0);
//Если ещё не был создан, то создаём
If Hdle=0 then CreateMutex(nil, False, Str);
end;
// И использование
program App;
uses
Forms,
Main in 'Main.pas' {fMain};
{$R *.res}
begin
If AlreadyWorks('MyApp') then
Begin
// Тут показываем сообщение, что приложение уже запущено
Exit;
End;
...
Application.Run;
end.
Да ладно "Альцгеймер". Вы пробовали ходить на свидание и говорить с переводчиком, не зная языков друг друга? Даже с уровнем А2 одного из пары результат разительно отличается. Знание языков открывает гораздо больше возможностей для общения в любом виде, в любой ситуации.
И уж, поверьте, слово "coger" (взять) в испанском вы точно не захотите употребить на свидании не в том контексте. А смысл будет слишком разным для Испании и Аргентины. Вряд ли приложение сможет это учесть.
Та же фигня с испанским, только ещё хуже: un/el libro - книга una/la libra - фунт (мера веса) yo libro - я избавляю él libre - он избавляет libre - свободный(-ая) se libra - избегает tu libra - твой фунт tú libras - ты избавляешь tus libras - твои фунты
Я так уволился из одной из компаний. За полгода неплохо продвинулся, выучил новый для себя язык программирования, неплохо оптимизировал приложения. Далее придумал 12 идей по улучшению ПО и процесса разработки, согласовал с руководством и начал выполнять. Одна половина задач зависела только от меня, другая - ещё и от сисадмина, но там ничего сложного. Но только он там дольше всех и считал себя самым важным человеком. А такому "важному" человеку не по статусу мне задачи на него ставить. В итоге он саботировал половину этих самых задач.
Если это ещё были бонусные задачи и не совсем обязательные, то дальше случилось внезапное. После майских (несколько лет назад) я прихожу в офис, как всегда, первый из IT-отдела - график у мен такой был - и вижу помощника сисадмина, который сказал, что поднимал упавший в праздники сервер. Я начал работать и ранее созданное мною расширение для браузера выкинуло сообщение о потере соединения с БД. А у нас при этом одна настройка постоянно сбрасывалась и мы ничего с этим не могли сделать, кроме ручного изменения. Когда открыл дашборд, он уже показывал соединение, но настройка была сброшена. Через 40 мпнут повторилось, потом опять. Но дашборд при этом показывал соединение. Не понимая, что происходит, я описал проблему всем к тому моменту пришедшим коллегам, в т.ч. сисадмину, на что он показал мне график Графаны за последние сутки с красивой прямой линией соединения, утверждая, что всё в порядке и мне показалось. Других подтверждений ему было не достаточно, при том, что другие программисты тоже заметили проблему. Когда случился очередной обрыв связи, я в графике указал диапазон в последние 5 минут и показал сисадмину провал в соединении на одну секунду. В это время я уже активно искал решение и нагуглил до четырёх возможных, в которых нужен прямой доступ к логам сервера, конечно же, и пр. Я написал задачу на сисадмина в нашем внутреннем задачнике, где подробно расписал, где что можно сделать, указав ссылки. А также написал, что лучше всего было бы сделать копию сервера прямо сейчас и отдать копию пользователям, чтобы они не теряли вводимые данные в случае, если в момент отправки будет потеря соединения. А с проблемой можно уже параллельно разобраться, неспеша. Он эту задачу просто удалил. Да, так просто. При том, что я был ответственный за подобного рода проблемы и у меня нет всех нужных доступов. В итоге я послал этого админа и сказал ему самостоятельно разбираться с проблемой, а сам я буду просто делать свои задачи. По этому поводу даже организовывал встречу с начальством на троих - оно забило на неадекватное поведение сисадмина. Прошёл месяц. К тому моменту я уже уволился, а проблема была... Всё ещё была. Через пару недель я связался с одним из бывших коллег и поинтересовался, как у них дела. Он сказал, что проблему с БД совсем недавно "решили". Запустили копию, так и не поняв, что происходит. 🤦♂️ Зато меня туда взяли по знакомству с 0 знанием C#, а ушёл оттуда уже неплохо прокаченным разработчиком с некоторыми навыками тимлида.
В другой компании при смене менеджера в команде меня почти сразу оттуда убрали. По этому поводу я пообщался с одним из коллег, который там уже пару десятков лет работал, если не больше. На личной встрече он сказал, что есть два ответа. Официальная версия: ты не справляешь со своей работой. Реальная версия: ты ей просто не понравился.
Долгое время был только читателем, но хотелось что-то написать. При том, что у себя в соцсетях я постоянно что-то пишу, но не про IT. Но однажды попалась на глаза одна статься и моя первая родилась сама собой. Мне кажется, что если и хочется что-то написать, то, прежде всего, это должно быть искреннем желанием поделиться чем-то новым или интересным, а не ради плюсиков. А здесь ещё и в тематику сайта должно попадать.
То ли дело раньше, когда надо было еду самостоятельно вырастить. Растишь большую семью, чтобы помогали, но и есть будут больше. Значит, и огород надо больше, и пастбища, и коровник, и дом, и сарай. И вот ты работаешь, строишь, растишь. Депрессия? Какая ещё депрессия? У нас на неё и времени не было. Встаёшь спозаранку - и сразу в сарай, к курям.
А потом пришли эти, как его, автоматизаторы. И всё, не нужны мы больше. Семью большую растить уже не надо. Поставил машину и она сама тебе и картошку вырастит, и корову надоит, и к курям ходить больше не надо. Всего несколько человек со всем справляется, а всю деревню обеспечить могут. И, скажи, куда теперь нам податься? Чего делать? Мы же больше ничего и не умеем.
Заменят нас, вымрем все, машины будут всё делать, а у нас теперь депрессия от безделья. Эх...
Моё стандартное одно из первых действий при установки Винды - это переназначение поведения клавиши, чтобы она дублировала Enter. Теперь у меня их 3 на клавиатуре, что удобно, когда на клавиатуре только левая рука.
http://iwd.today - "I Wanna Dance", веб-сервис для поиска мест, где потанцевать социальные танцы по всему миру. Если вы организатор вечеринок, преподаватель, владелец танцевальной школы или зала, диджей или выступающий (группа, певец и т.д.), создавайте аккаунт и добавляйте информацию о себе, чтобы все желающие могли вас найти. В планах добавить кучу полезного функционала. В ближайшее время будет добавлено несколько языков.
https://gymstats.info/watch - веб-сервис для сбора личной статистики по тренировкам в спортзале. Пока в режиме только для чтения, т.к. делал для себя. Когда внесу нужные изменения, исправлю все проблемы и что-нибудь сделаю с картинками (чтобы не получить проблем с авторскими правами), открою для всех. Пока на главной странице можно оставить свой email на будущее, чтобы я мог сообщить, когда сайт станет доступен (этот email больше никак не будет использоваться). Особых идей по развитию нет, но принимаются предложения.
Как-то был проект, где использовали Raspberry Pi с российским адаптером USB-to-RS485, сделанным по всем правилам. У заказчика внезапно перестало работать и перезагрузка не помогала.
Позже выяснилось, что у "правильный" адаптер при загрузке Linux должен быть вытащен из гнезда и вставлен обратно после загрузки. Тогда всё работает. В следующем проекте использовали купленный на AliExpress в 7 раз дешевле (брал для домашних проектов). Работал идеально - хоть сколько перезагружай.
Так речь о том, что всё уже есть, но только с другим языком в основе. Senior из одного языка может перейти на позицию middle'а и быстро вырасти там уже до senior'а, благодаря ИИ.
Когда устроился работать в одну крупную известную компанию, которая предоставляет услуги аутстафа и попал в первую команду из восточной Европы, где никто не говорил по-русски, почти не получал никакой информации о проекте в течение месяца. В итоге мой менеджер мне сказал, что я покидаю тот проект и не исключено, что из-за национальности. Потом я нашёл другую команду с руководством в США и почти всеми разработчиками из разных стран, кто если хотя бы не говорит, то понимает по-русски - никаких проблем не было. Была одна из самых приятных команд, в которых я работал.
Это было летом 2022, так что я не особо переживал о возможном предвзятом отношении, вполне понимая тех людей.
Учитывая, какие иногда такси попадаются, то в Буэнос-Айресе автобусы вполне сопоставимы по комфорту и скорости с такси. Условно, если ехать час на автобусе, на такси обычно выйдет минут 50 - автобусы тут дикие! На личном автомобиле вряд ли доедете сильно быстрее такси.
Статья напомнила задание для курсовой, в котором надо было написать программу, которая рисовала бы шахматные часы с возможностью переключения и остановки для BC31. Задание оказалось слишком простым и я позже добавил доску, нарисовал фигуры (предварительно нарисовав в тетради в клетку). Игра на двоих, управлялась с клавиатуры стрелками и пробелом, отображала цветом возможные ходы, отображала взятые фигуры и сделанные ходы, была возможность сохранить игру и потом её пошагово просмотреть. Часы, конечно же, остались. Всегда было желание добавить туда какой-нибудь интеллект.
В своё время написал собственный эмулятор (на Delphi). Там задавал список устройств, их названия, названия входов и выходов и запускал (настройки каждого предприятия хранились в отдельном xml). В тестируемой программе полностью формировался запрос и посылался в очередь запросов, но при непосредственной передаче он уходил не в COM-порт, а в эмулятор через Socket. Эмулятор его принимал, разбирал и выполнял, посылая соответствующий ответ. В эмуляторе можно было менять состояние устройства вручную как угодно, имитируя всевозможные ситуации: застрявший материал, медленное дозирование, ложное срабатывание датчика, отключение устройства, аварийная остановка и пр.
Скриншоты программы
Программа очень помогла! Потому что до этого эмулятор был физический и, например, приходилось руками растягивать тензодатчик для изменения веса - то ещё "веселье".
Пожалуй, стоит выложить исходники, хотя код вряд ли будет красив и хорошо читаем.
Мне однажды удалось сохранить важную, но удалённую переписку довольно простым способом. Когда я не обнаружил чата в телефоне, придя домой, первым делом выключил роутер и уже после этого включил комп. Не дав Телеграму синхронизироваться, сумел сохранить нужные сообщения.
Да и вообще любые действительно важные сообщения лучше просто отдельно куда-нибудь сохранять, чтобы в нужный момент не искать в мессенджере.
Тоже приложил руку к созданию мнемосхем (и всего, что под ними) в своё время. Мне кажется, что создание удобной, понятной, не перегруженной, но при этом наглядной и имеющей всю необходимую функциональность мнемосхемы - это особый вид искусства создания UX/UI. Тут нужен человек, любящий минимализм.
Аж олдскулы свело. Код для Delphi из далёкого 2008.
Да ладно "Альцгеймер". Вы пробовали ходить на свидание и говорить с переводчиком, не зная языков друг друга? Даже с уровнем А2 одного из пары результат разительно отличается.
Знание языков открывает гораздо больше возможностей для общения в любом виде, в любой ситуации.
И уж, поверьте, слово "coger" (взять) в испанском вы точно не захотите употребить на свидании не в том контексте. А смысл будет слишком разным для Испании и Аргентины. Вряд ли приложение сможет это учесть.
Та же фигня с испанским, только ещё хуже:
un/el libro - книга
una/la libra - фунт (мера веса)
yo libro - я избавляю
él libre - он избавляет
libre - свободный(-ая)
se libra - избегает
tu libra - твой фунт
tú libras - ты избавляешь
tus libras - твои фунты
Я так уволился из одной из компаний. За полгода неплохо продвинулся, выучил новый для себя язык программирования, неплохо оптимизировал приложения. Далее придумал 12 идей по улучшению ПО и процесса разработки, согласовал с руководством и начал выполнять. Одна половина задач зависела только от меня, другая - ещё и от сисадмина, но там ничего сложного. Но только он там дольше всех и считал себя самым важным человеком. А такому "важному" человеку не по статусу мне задачи на него ставить. В итоге он саботировал половину этих самых задач.
Если это ещё были бонусные задачи и не совсем обязательные, то дальше случилось внезапное. После майских (несколько лет назад) я прихожу в офис, как всегда, первый из IT-отдела - график у мен такой был - и вижу помощника сисадмина, который сказал, что поднимал упавший в праздники сервер. Я начал работать и ранее созданное мною расширение для браузера выкинуло сообщение о потере соединения с БД. А у нас при этом одна настройка постоянно сбрасывалась и мы ничего с этим не могли сделать, кроме ручного изменения. Когда открыл дашборд, он уже показывал соединение, но настройка была сброшена. Через 40 мпнут повторилось, потом опять. Но дашборд при этом показывал соединение. Не понимая, что происходит, я описал проблему всем к тому моменту пришедшим коллегам, в т.ч. сисадмину, на что он показал мне график Графаны за последние сутки с красивой прямой линией соединения, утверждая, что всё в порядке и мне показалось. Других подтверждений ему было не достаточно, при том, что другие программисты тоже заметили проблему. Когда случился очередной обрыв связи, я в графике указал диапазон в последние 5 минут и показал сисадмину провал в соединении на одну секунду.
В это время я уже активно искал решение и нагуглил до четырёх возможных, в которых нужен прямой доступ к логам сервера, конечно же, и пр. Я написал задачу на сисадмина в нашем внутреннем задачнике, где подробно расписал, где что можно сделать, указав ссылки. А также написал, что лучше всего было бы сделать копию сервера прямо сейчас и отдать копию пользователям, чтобы они не теряли вводимые данные в случае, если в момент отправки будет потеря соединения. А с проблемой можно уже параллельно разобраться, неспеша. Он эту задачу просто удалил. Да, так просто. При том, что я был ответственный за подобного рода проблемы и у меня нет всех нужных доступов. В итоге я послал этого админа и сказал ему самостоятельно разбираться с проблемой, а сам я буду просто делать свои задачи. По этому поводу даже организовывал встречу с начальством на троих - оно забило на неадекватное поведение сисадмина.
Прошёл месяц. К тому моменту я уже уволился, а проблема была... Всё ещё была. Через пару недель я связался с одним из бывших коллег и поинтересовался, как у них дела. Он сказал, что проблему с БД совсем недавно "решили". Запустили копию, так и не поняв, что происходит. 🤦♂️
Зато меня туда взяли по знакомству с 0 знанием C#, а ушёл оттуда уже неплохо прокаченным разработчиком с некоторыми навыками тимлида.
В другой компании при смене менеджера в команде меня почти сразу оттуда убрали. По этому поводу я пообщался с одним из коллег, который там уже пару десятков лет работал, если не больше. На личной встрече он сказал, что есть два ответа. Официальная версия: ты не справляешь со своей работой. Реальная версия: ты ей просто не понравился.
Долгое время был только читателем, но хотелось что-то написать. При том, что у себя в соцсетях я постоянно что-то пишу, но не про IT. Но однажды попалась на глаза одна статься и моя первая родилась сама собой. Мне кажется, что если и хочется что-то написать, то, прежде всего, это должно быть искреннем желанием поделиться чем-то новым или интересным, а не ради плюсиков. А здесь ещё и в тематику сайта должно попадать.
То ли дело раньше, когда надо было еду самостоятельно вырастить. Растишь большую семью, чтобы помогали, но и есть будут больше. Значит, и огород надо больше, и пастбища, и коровник, и дом, и сарай. И вот ты работаешь, строишь, растишь. Депрессия? Какая ещё депрессия? У нас на неё и времени не было. Встаёшь спозаранку - и сразу в сарай, к курям.
А потом пришли эти, как его, автоматизаторы. И всё, не нужны мы больше. Семью большую растить уже не надо. Поставил машину и она сама тебе и картошку вырастит, и корову надоит, и к курям ходить больше не надо. Всего несколько человек со всем справляется, а всю деревню обеспечить могут. И, скажи, куда теперь нам податься? Чего делать? Мы же больше ничего и не умеем.
Заменят нас, вымрем все, машины будут всё делать, а у нас теперь депрессия от безделья. Эх...
Пользуясь случаем, покажу свою, в которой у меня мержатся конфиги из переменных окружения, файлов или строк в формате env, ini и json.
https://github.com/Mansiper/GoConfiguration
На мой взгляд, получалось довольно удобно в использовании.
У виджета есть невероятно тупая особенность. 5 минут без интернета или просто разблокируешь телефон - и ты не видишь погоду на несколько часов вперёд.
Моё стандартное одно из первых действий при установки Винды - это переназначение поведения клавиши, чтобы она дублировала Enter. Теперь у меня их 3 на клавиатуре, что удобно, когда на клавиатуре только левая рука.
http://iwd.today - "I Wanna Dance", веб-сервис для поиска мест, где потанцевать социальные танцы по всему миру. Если вы организатор вечеринок, преподаватель, владелец танцевальной школы или зала, диджей или выступающий (группа, певец и т.д.), создавайте аккаунт и добавляйте информацию о себе, чтобы все желающие могли вас найти. В планах добавить кучу полезного функционала. В ближайшее время будет добавлено несколько языков.
https://gymstats.info/watch - веб-сервис для сбора личной статистики по тренировкам в спортзале. Пока в режиме только для чтения, т.к. делал для себя. Когда внесу нужные изменения, исправлю все проблемы и что-нибудь сделаю с картинками (чтобы не получить проблем с авторскими правами), открою для всех. Пока на главной странице можно оставить свой email на будущее, чтобы я мог сообщить, когда сайт станет доступен (этот email больше никак не будет использоваться). Особых идей по развитию нет, но принимаются предложения.
https://t.me/SmartShoppingListBot - Телеграм-бот для списка покупок. Можно писать или говорить в свободной форме.
https://t.me/SmartTaskListBot - Телеграм-бот для списка задач. Можно писать или говорить в свободной форме.
Как-то был проект, где использовали Raspberry Pi с российским адаптером USB-to-RS485, сделанным по всем правилам. У заказчика внезапно перестало работать и перезагрузка не помогала.
Позже выяснилось, что у "правильный" адаптер при загрузке Linux должен быть вытащен из гнезда и вставлен обратно после загрузки. Тогда всё работает. В следующем проекте использовали купленный на AliExpress в 7 раз дешевле (брал для домашних проектов). Работал идеально - хоть сколько перезагружай.
Мне показалось, или все беды в мире от синглтонов?
Глобальное потепление, получается, тоже своего рода синглтон?
Так речь о том, что всё уже есть, но только с другим языком в основе. Senior из одного языка может перейти на позицию middle'а и быстро вырасти там уже до senior'а, благодаря ИИ.
Когда устроился работать в одну крупную известную компанию, которая предоставляет услуги аутстафа и попал в первую команду из восточной Европы, где никто не говорил по-русски, почти не получал никакой информации о проекте в течение месяца. В итоге мой менеджер мне сказал, что я покидаю тот проект и не исключено, что из-за национальности. Потом я нашёл другую команду с руководством в США и почти всеми разработчиками из разных стран, кто если хотя бы не говорит, то понимает по-русски - никаких проблем не было. Была одна из самых приятных команд, в которых я работал.
Это было летом 2022, так что я не особо переживал о возможном предвзятом отношении, вполне понимая тех людей.
Учитывая, какие иногда такси попадаются, то в Буэнос-Айресе автобусы вполне сопоставимы по комфорту и скорости с такси. Условно, если ехать час на автобусе, на такси обычно выйдет минут 50 - автобусы тут дикие! На личном автомобиле вряд ли доедете сильно быстрее такси.
Статья напомнила задание для курсовой, в котором надо было написать программу, которая рисовала бы шахматные часы с возможностью переключения и остановки для BC31. Задание оказалось слишком простым и я позже добавил доску, нарисовал фигуры (предварительно нарисовав в тетради в клетку). Игра на двоих, управлялась с клавиатуры стрелками и пробелом, отображала цветом возможные ходы, отображала взятые фигуры и сделанные ходы, была возможность сохранить игру и потом её пошагово просмотреть. Часы, конечно же, остались. Всегда было желание добавить туда какой-нибудь интеллект.
В своё время написал собственный эмулятор (на Delphi). Там задавал список устройств, их названия, названия входов и выходов и запускал (настройки каждого предприятия хранились в отдельном xml). В тестируемой программе полностью формировался запрос и посылался в очередь запросов, но при непосредственной передаче он уходил не в COM-порт, а в эмулятор через Socket. Эмулятор его принимал, разбирал и выполнял, посылая соответствующий ответ. В эмуляторе можно было менять состояние устройства вручную как угодно, имитируя всевозможные ситуации: застрявший материал, медленное дозирование, ложное срабатывание датчика, отключение устройства, аварийная остановка и пр.
Скриншоты программы
Программа очень помогла! Потому что до этого эмулятор был физический и, например, приходилось руками растягивать тензодатчик для изменения веса - то ещё "веселье".
Пожалуй, стоит выложить исходники, хотя код вряд ли будет красив и хорошо читаем.
Мне однажды удалось сохранить важную, но удалённую переписку довольно простым способом. Когда я не обнаружил чата в телефоне, придя домой, первым делом выключил роутер и уже после этого включил комп. Не дав Телеграму синхронизироваться, сумел сохранить нужные сообщения.
Да и вообще любые действительно важные сообщения лучше просто отдельно куда-нибудь сохранять, чтобы в нужный момент не искать в мессенджере.
Так я узнал, что у Chrome уже 130-я версия...
Тоже приложил руку к созданию мнемосхем (и всего, что под ними) в своё время. Мне кажется, что создание удобной, понятной, не перегруженной, но при этом наглядной и имеющей всю необходимую функциональность мнемосхемы - это особый вид искусства создания UX/UI. Тут нужен человек, любящий минимализм.