На самом деле достаточно много людей получали такие ЗП, если иметь в виду 5000 баксов. Понятно, что 3 года назад из-за более низкого курса ЗП не была 500 тыс рублей.
Предполагаю, что сейчас многие (или почти все) люди с такой ЗП переехали в другие страны, вместе с компанией или самостоятельно.
Часть таких позиций да, сократилась в связи с уходом компаний. Но чисто российские компании остались в РФ и они выросли, а значит и выросла потребность в специалистах такого уровня.
Почему противоположность? Верхнеуровнево, как я это понимаю из своего опыта, одна из целей ООП/ООД это дать возможность переиспользовать код, другая цель - облегчить модульность, чтобы можно было декомпозировать систему на более-менее независимые части.
HTTP это транспортный протокол, и по OSI и по инженерному принципу проектирования Separation of concerns, состояние выносится в другую компоненту/часть/протокол/систему. И хорошо, что все что касается состояния нереализованно в самом HTTP. Соответственно, мы, как программисты, можем использовать произвольную технологию контроля и управления состоянием. Более того, в случае ошибки или уязвимости в такой технологии нам не нужно обновлять HTTP. Проще тестировать, проще обновлять и разрабатывать.
А дальше мы можем реализовать [интерактивный] документ или приложение, используя удаленный вызов процедур и/или удаленный доступ к данным, отображая в браузере (или приложении) некое состояние, полезное пользователю. Или не отображая, ха-ха :) И файлы во многих случаях оказываются просто не нужны. Что имеет и свои минусы и свои плюсы.
Например, "работая" с Хабром, зачем нам может понадобиться файл? Чаще всего, это если только поделиться фоткой/картинкой, которую мы сами сделали, а не нашли в интернете.
Классные у вас воспоминания. Я какое-то время ради интереса ресерчил про COM и схожие технологии, интересная штука, много полезных вещей решала (и решает). Например, C++ не имеет стабильного ABI, поэтому очень сложно было бы писать либы, в т.ч. системные, чтобы все фичи С++ можно было бы использовать в сторонних программах при использовании этих уже скомпилированных либ. А так, за счет COM (OLE, ActivX и т.п.) все это решалось.
Современный мир все равно пришел к некоему аналогу компонентов - это Web API в виде RESTfull и JSON. И документ у нас тоже есть - Document Object Model (DOM), в одной страничке html мы можем показать и использовать компоненты/виджеты из совершенно разных сервисов.
Предметно не могу поспорить, нужно искать и сравнивать, какие скорости были типовыми в те времена.
Винчестеры CF-размере не отличались скоростью - ну значит сам интерфейс не был ограничением. А вот сама флеш память и контроллеры могли быть ограничением. Опять таки, я не могу утверждать точно. Возможно и были очень быстрые CF не уступающие тем винтам по скорости.
почему медленно, это же фактически SSD с IDE-разъёмом ?
В те времена устройства на флеш-памяти были медленными, если вспомнить всякие первые SD и флешки. Современные SSD/NVME устройства намного быстрее, я не могу сказать точно, что было изменено, не слежу за этим, но насколько понимаю, в них и технологию самой памяти отточили (и изменили) и архитектурно они по-другому устроены, типа намного более быстрые контролеры, работающие параллельно.
Про WindSurf не слышал, сейчас все рекомендуют https://www.cursor.com/. Еще слышал хорошие отзывы про https://bolt.new/. Я сам пользуюсь Claude.AI, результаты очень хорошие.
Да, количество токенов это главное ограничение, но тут нужно ждать как нового железа с большим объемом памяти, типа там 256-512 GB. H100 сейчас имеет 94 GB. Так и использования более продвинутых техник запихивания кода в промпт. Минифицировать код не нужно, это слишком наивный подход. Нужно делать эмбединги по отфильтрованному и обработанному AST, использовать классический LSP, использовать векторные ДБ для индексации кода.
Вот я выше писал про свой опыт использования:
Мне недавно нужно было по работе сделать внутреннюю тулзу - GUI к нашему API, чтобы у тулзы был доступ к файловой системе. Используя Claude я полностью написал GUI часть на Python (GUI библиотека Tkinter) за 3 дня ("Часть 1", полностью использую AI). Еще дня 3 доводил до ума и прикручивал логику работы с API ("Часть 2", в основном вручную).
Часть 1 я писал только промпты к Claude, проверял как работает, понимал что нужно еще кое-что добавить/исправить и делал это через промпт.
Часть 2 я делал вручную, потому что в этом случае было слишком много мелких деталей, которые мне было быстрее самому в коде написать, чем писать большой и детальный промпт.
Нужно просто научиться использовать этот инструмент, применяя знания как он примерно работает и какие у него ограничения :)
Мне недавно нужно было по работе сделать внутреннюю тулзу - GUI к нашему API, чтобы у тулзы был доступ к файловой системе. Используя Claude я полностью написал GUI часть на Python (GUI библиотека Tkinter) за 3 дня ("Часть 1", полностью использую AI). Еще дня 3 доводил до ума и прикручивал логику работы с API ("Часть 2", в основном вручную).
Часть 1 я писал только промпты к Claude, проверял как работает, понимал что нужно еще кое-что добавить/исправить и делал это через промпт.
Часть 2 я делал вручную, потому что в этом случае было слишком много мелких деталей, которые мне было быстрее самому в коде написать, чем писать большой и детальный промпт.
И люди до сих пор ведутся на это? Скриншот без ссылки на диалог?
Даже если исключить просто подделку скриншота, то ChatGPT можно запрограммировать ("попросить") со стороны пользователя, чтобы он отвечал практически все что угодно. Кастомные инструкции, промпт, хаканье фильтров...
Cам тетрис написан на JavaScript, а вот уже для генерации PDF используется скрипт на Python. Сам этот PDF у меня не открылся в Preview (macOS) и Adobe Acrobat Reader, ошибка файла. Только в браузере заработало, интересно, почему?
Вообще, то, что JS скрипты можно добавить в свой PDF я знал еще достаточно давно, на них делались всякие интерактивные штуки. Вот, к примеру, документация и статьи на эту тему:
Интересно, можно ли сделать терминал? Наверное нет, т.к. скорее всего запрещено работать с сетью или с любыми другими ресурсами вне самого PDF. Но наверное можно сделать простой GUI фремворк и реализовать на нем например TODO лист :)
Ну а как еще делать. А то будет - Почему у тебя нет финансовой подушки? Потому что зарплата маленькая. А почему работу не сменишь тогда? Потому что нет финансовой подушки.
У многих бывает, когда безопасный путь так себе и приходиться рисковать, чтобы выиграть в долгосрочной перспективе.
Я предполагаю, что под оферту подпадает ограниченный вид товаров и услуг. Найм на работу маловероятно что является таким.
Формально, кмк Сбер прав, до подписания трудового договора они могут отказать. Аналогично, и будущий сотрудник тоже может отказаться от офера в любой момент.
Да, получилось очень нехорошо, автору сочувствую, но такое может быть.
Довольно забавно, что автор этой заметки не оставил на Хабре ни одного комментария :) И даже в коментах под своей заметкой, привлекшее немалое внимание, он не оставил ни одного комментария :)
Знание доменной области нужно в любом языке программирования. Просто для некоторых языков, типа PHP/Ruby она единственная. Интересно, какие вещи вы разрабатывали 15 лет на C++? Тоже ведь вероятно какие-то определенные вещи разрабатывали, а не писали некий абстрактный С++. Область MFC/COM вероятно действительно схлопывается, уж точно найти работу джуна в ней не получится. Ну и с ростом должности потребность в знании доменной области только растет.
На рынке всегда много скрытых вакансий, которых никто и не где не публикует, а заполняет за счет знакомых, знакомых знакомых и т.п.
Искать работу в лабах в универах, часто там нужны программисты, но их выращивают из внутренних кадров. Искать во всяких НИИ. Проявить наглость, хитросить и креатив, и придумать для себя, как можно показать (и рассказать!) свою резюме во всяких небольших компаниях (и больших), где даже могут не знать, что у них есть C++ программисты. И т.д. и т.п.
Так уже налажено. Два самых известных примера, город Новосибирск, два завода: Электроконнект (https://pselectro.ru/) и Резонит (https://www.rezonit.ru/). В Томске тоже был (есть?) маленький заводик, нас туда во времена студенчества водили на экскурсию. А также такие свои производства есть у предприятий Роскосмоса: НПЦ Полюс (Томск), АО ИСС (Железногорск). Вроде и в Микране есть свой (Томск). Это про то, что я лично знаю.
Думаю и у других предприятий есть такие цеха.
Почему заказывают в Китае? Потому что дешевле. Всякие кастомизации могут стоить дешевле и какие-то специфические виды диэлектрика могут стоить дешевле (и быть в наличии).
На самом деле нет. Я до войны пользовался сервисом, не помню уже как он назывался, он позволял делать переводы с карты на карты для всего мира. Типа я привязывал свою российскую карточку и переводил себе или другому человеку в банк на карту в другую страну. И комиссия была достаточно выгодная. Перевод мгновенный.
Другой пример: Wise позволяют делать перевод в другую страну, и перевод приходит быстро. И это честный банковский перевод на счет в банке, типа по реквизитам IBAN или ACH. Обычно в течении нескольких минут. Еще можно вспомнить другие онлайн банки, Revolut, Payoneer и т.п., если делаешь перевод другому пользователю, то это секунды. В Payoneer таким образом можно и организациям платить, весь набор: B2B, B2C, C2B (про этот вариант не уверен, но скорее всего тоже да). Wise и Revolut можно было пополнять (и выводить) на российские карты, но вот детали я уже забыл, типа насколько быстро и какие комиссии.
Ну и из очевидных вариантов, это PayPal, WebMoney. Наверное и куча других сервисов была и есть.
Привет, Егор! Классно, что вы пришли сюда в коменты. Интересная работа и исследование. Вопросы у меня следующие.
1) За какой период времени анализировались данные? Какие-то данные я увидел только на картинке Company B - USA - Web Team, период 2019.1 – 2022.4 не выглядит достаточным и репрезентативным. Для того, чтобы сравнивать производительность в офисе/гибриде/удаленке период ковида и адаптации к удаленной работе не подходит, т.к. очевидно, что из-за стресса, локдауна и необходимости менять свои привычки, производительность пострадала. Более того, моя гипотеза, чтобы корректно сравнивать офис и удаленку, нужно брать один исторически период, т.к. внешние условия очень сильно могут влиять. Например, можно было бы трактовать снижение производительности после начала ковида как негативное влияние общемирового стресса и неопределенности. Метрики за 2023 и 2024 - последствия экономического кризиса и увольнений.
2) Пробовали ли вы отслеживать, как меняются метрики Ghost Engineers в течении длительного времени? Моя гипотеза, что часть людей по каким-то внутренним или внешним причинам имела плохую производительность, типа депрессия, выгорания, неинтересный проект, конфликт в команде или с менеджментом и т.п., и со временем эти люди восстанавливаются.
3) Аналогично, какая динамика на длительном промежутке времени (разброс вашей метрики) для среднего/хорошего/крутого инженера?
4) Какой разброс метрик внутри каждой качественной группы (Ghost/плохой/средний/хороший/крутой)?
5) Есть ли какая-то корреляция между параметрами метрик (например, резкими изменениями) и самостоятельным увольнением человека?
6) Есть ли какая-то корреляция между параметрами метрик (например, резкими изменениями) при изменении должности человека?
7) Пробовали ли вы делать опросы Ghost Engineers и их коллег, чтобы как-то еще валидировать свою гипотезу о них?
8) Вообще, в принципе, вы как-то еще валидировали вашу модель и ваши гипотезы, кроме анализа комитов и их экспертной оценки?
9) Как чистили и матчили данные? Типа у одного человека может быть несколько идентификаторов в репозитории.
10) Пробовали ли вы оценить, есть ли bias у вашей модели?
11) Есть ли у вас более техническое описание, что за модель? Как обучали, как валидировали, какая архитектура, loss function, метрики и т.п.
Вообще, классная задачи, сделать некий сервис, который будет оценивать параметры инженера, используя разные его активности. Но уж очень много всего нужно отдавать в такой сервис.
PS К слову говоря, после начала войны, большая часть аудитории иммигрировала на другие ресурсы, и ее качество изменилось.
PPS Я Computer Vision Engineer / ML Engineer, на Хабре я могу только раз в сутки отвечать, если интересно, пишите в Линкедин (https://www.linkedin.com/in/ilirium/).
Можно не только по координатам проверять. Если у нас есть доступ к интернету, то время от времени сверять время со спутника со временем с нескольких серверов NTP. Плюс можно реализовать проверку, что время со спутника не изменилось резко на большой промежуток времени.
Картинка смешная, спасибо. В реальности, теоретическую модель затем проверяют многократно с помощью экспериментов. Если что-то не подтверждается экспериментами, то это неработающая теория. А если подтверждается экспериментами, но выявляются условия, когда нет, приходит новая теория. И так по кругу ;)
На самом деле достаточно много людей получали такие ЗП, если иметь в виду 5000 баксов. Понятно, что 3 года назад из-за более низкого курса ЗП не была 500 тыс рублей.
Предполагаю, что сейчас многие (или почти все) люди с такой ЗП переехали в другие страны, вместе с компанией или самостоятельно.
Часть таких позиций да, сократилась в связи с уходом компаний. Но чисто российские компании остались в РФ и они выросли, а значит и выросла потребность в специалистах такого уровня.
Почему противоположность? Верхнеуровнево, как я это понимаю из своего опыта, одна из целей ООП/ООД это дать возможность переиспользовать код, другая цель - облегчить модульность, чтобы можно было декомпозировать систему на более-менее независимые части.
HTTP это транспортный протокол, и по OSI и по инженерному принципу проектирования Separation of concerns, состояние выносится в другую компоненту/часть/протокол/систему. И хорошо, что все что касается состояния нереализованно в самом HTTP. Соответственно, мы, как программисты, можем использовать произвольную технологию контроля и управления состоянием. Более того, в случае ошибки или уязвимости в такой технологии нам не нужно обновлять HTTP. Проще тестировать, проще обновлять и разрабатывать.
А дальше мы можем реализовать [интерактивный] документ или приложение, используя удаленный вызов процедур и/или удаленный доступ к данным, отображая в браузере (или приложении) некое состояние, полезное пользователю. Или не отображая, ха-ха :) И файлы во многих случаях оказываются просто не нужны. Что имеет и свои минусы и свои плюсы.
Например, "работая" с Хабром, зачем нам может понадобиться файл? Чаще всего, это если только поделиться фоткой/картинкой, которую мы сами сделали, а не нашли в интернете.
Классные у вас воспоминания. Я какое-то время ради интереса ресерчил про COM и схожие технологии, интересная штука, много полезных вещей решала (и решает). Например, C++ не имеет стабильного ABI, поэтому очень сложно было бы писать либы, в т.ч. системные, чтобы все фичи С++ можно было бы использовать в сторонних программах при использовании этих уже скомпилированных либ. А так, за счет COM (OLE, ActivX и т.п.) все это решалось.
Современный мир все равно пришел к некоему аналогу компонентов - это Web API в виде RESTfull и JSON. И документ у нас тоже есть - Document Object Model (DOM), в одной страничке html мы можем показать и использовать компоненты/виджеты из совершенно разных сервисов.
Предметно не могу поспорить, нужно искать и сравнивать, какие скорости были типовыми в те времена.
Винчестеры CF-размере не отличались скоростью - ну значит сам интерфейс не был ограничением. А вот сама флеш память и контроллеры могли быть ограничением. Опять таки, я не могу утверждать точно. Возможно и были очень быстрые CF не уступающие тем винтам по скорости.
В те времена устройства на флеш-памяти были медленными, если вспомнить всякие первые SD и флешки. Современные SSD/NVME устройства намного быстрее, я не могу сказать точно, что было изменено, не слежу за этим, но насколько понимаю, в них и технологию самой памяти отточили (и изменили) и архитектурно они по-другому устроены, типа намного более быстрые контролеры, работающие параллельно.
Про WindSurf не слышал, сейчас все рекомендуют https://www.cursor.com/. Еще слышал хорошие отзывы про https://bolt.new/. Я сам пользуюсь Claude.AI, результаты очень хорошие.
Да, количество токенов это главное ограничение, но тут нужно ждать как нового железа с большим объемом памяти, типа там 256-512 GB. H100 сейчас имеет 94 GB. Так и использования более продвинутых техник запихивания кода в промпт. Минифицировать код не нужно, это слишком наивный подход. Нужно делать эмбединги по отфильтрованному и обработанному AST, использовать классический LSP, использовать векторные ДБ для индексации кода.
Вот я выше писал про свой опыт использования:
Нужно просто научиться использовать этот инструмент, применяя знания как он примерно работает и какие у него ограничения :)
Мне недавно нужно было по работе сделать внутреннюю тулзу - GUI к нашему API, чтобы у тулзы был доступ к файловой системе. Используя Claude я полностью написал GUI часть на Python (GUI библиотека Tkinter) за 3 дня ("Часть 1", полностью использую AI). Еще дня 3 доводил до ума и прикручивал логику работы с API ("Часть 2", в основном вручную).
Часть 1 я писал только промпты к Claude, проверял как работает, понимал что нужно еще кое-что добавить/исправить и делал это через промпт.
Часть 2 я делал вручную, потому что в этом случае было слишком много мелких деталей, которые мне было быстрее самому в коде написать, чем писать большой и детальный промпт.
И люди до сих пор ведутся на это? Скриншот без ссылки на диалог?
Даже если исключить просто подделку скриншота, то ChatGPT можно запрограммировать ("попросить") со стороны пользователя, чтобы он отвечал практически все что угодно. Кастомные инструкции, промпт, хаканье фильтров...
Cам тетрис написан на JavaScript, а вот уже для генерации PDF используется скрипт на Python. Сам этот PDF у меня не открылся в Preview (macOS) и Adobe Acrobat Reader, ошибка файла. Только в браузере заработало, интересно, почему?
Вообще, то, что JS скрипты можно добавить в свой PDF я знал еще достаточно давно, на них делались всякие интерактивные штуки. Вот, к примеру, документация и статьи на эту тему:
https://opensource.adobe.com/dc-acrobat-sdk-docs/library/jsapiref/index.html
https://helpx.adobe.com/acrobat/using/applying-actions-scripts-pdfs.html
https://www.t10.org/ftp/js_api_reference.pdf
https://www.nutrient.io/blog/using-javascript-in-pdf-form-fields/
https://github.com/cornerpirate/JS2PDFInjector?tab=readme-ov-file
Интересно, можно ли сделать терминал? Наверное нет, т.к. скорее всего запрещено работать с сетью или с любыми другими ресурсами вне самого PDF. Но наверное можно сделать простой GUI фремворк и реализовать на нем например TODO лист :)
Финансовый коврик для мышки :)
Ну а как еще делать. А то будет - Почему у тебя нет финансовой подушки? Потому что зарплата маленькая. А почему работу не сменишь тогда? Потому что нет финансовой подушки.
У многих бывает, когда безопасный путь так себе и приходиться рисковать, чтобы выиграть в долгосрочной перспективе.
Я предполагаю, что под оферту подпадает ограниченный вид товаров и услуг. Найм на работу маловероятно что является таким.
Формально, кмк Сбер прав, до подписания трудового договора они могут отказать. Аналогично, и будущий сотрудник тоже может отказаться от офера в любой момент.
Да, получилось очень нехорошо, автору сочувствую, но такое может быть.
Ну и да, офер - offer - предложение.
Довольно забавно, что автор этой заметки не оставил на Хабре ни одного комментария :) И даже в коментах под своей заметкой, привлекшее немалое внимание, он не оставил ни одного комментария :)
Знание доменной области нужно в любом языке программирования. Просто для некоторых языков, типа PHP/Ruby она единственная. Интересно, какие вещи вы разрабатывали 15 лет на C++? Тоже ведь вероятно какие-то определенные вещи разрабатывали, а не писали некий абстрактный С++. Область MFC/COM вероятно действительно схлопывается, уж точно найти работу джуна в ней не получится. Ну и с ростом должности потребность в знании доменной области только растет.
На рынке всегда много скрытых вакансий, которых никто и не где не публикует, а заполняет за счет знакомых, знакомых знакомых и т.п.
Искать работу в лабах в универах, часто там нужны программисты, но их выращивают из внутренних кадров. Искать во всяких НИИ. Проявить наглость, хитросить и креатив, и придумать для себя, как можно показать (и рассказать!) свою резюме во всяких небольших компаниях (и больших), где даже могут не знать, что у них есть C++ программисты. И т.д. и т.п.
Так уже налажено. Два самых известных примера, город Новосибирск, два завода: Электроконнект (https://pselectro.ru/) и Резонит (https://www.rezonit.ru/). В Томске тоже был (есть?) маленький заводик, нас туда во времена студенчества водили на экскурсию. А также такие свои производства есть у предприятий Роскосмоса: НПЦ Полюс (Томск), АО ИСС (Железногорск). Вроде и в Микране есть свой (Томск). Это про то, что я лично знаю.
Думаю и у других предприятий есть такие цеха.
Почему заказывают в Китае? Потому что дешевле. Всякие кастомизации могут стоить дешевле и какие-то специфические виды диэлектрика могут стоить дешевле (и быть в наличии).
На самом деле нет. Я до войны пользовался сервисом, не помню уже как он назывался, он позволял делать переводы с карты на карты для всего мира. Типа я привязывал свою российскую карточку и переводил себе или другому человеку в банк на карту в другую страну. И комиссия была достаточно выгодная. Перевод мгновенный.
Другой пример: Wise позволяют делать перевод в другую страну, и перевод приходит быстро. И это честный банковский перевод на счет в банке, типа по реквизитам IBAN или ACH. Обычно в течении нескольких минут. Еще можно вспомнить другие онлайн банки, Revolut, Payoneer и т.п., если делаешь перевод другому пользователю, то это секунды. В Payoneer таким образом можно и организациям платить, весь набор: B2B, B2C, C2B (про этот вариант не уверен, но скорее всего тоже да). Wise и Revolut можно было пополнять (и выводить) на российские карты, но вот детали я уже забыл, типа насколько быстро и какие комиссии.
Ну и из очевидных вариантов, это PayPal, WebMoney. Наверное и куча других сервисов была и есть.
Привет, Егор! Классно, что вы пришли сюда в коменты. Интересная работа и исследование. Вопросы у меня следующие.
1) За какой период времени анализировались данные? Какие-то данные я увидел только на картинке Company B - USA - Web Team, период 2019.1 – 2022.4 не выглядит достаточным и репрезентативным. Для того, чтобы сравнивать производительность в офисе/гибриде/удаленке период ковида и адаптации к удаленной работе не подходит, т.к. очевидно, что из-за стресса, локдауна и необходимости менять свои привычки, производительность пострадала. Более того, моя гипотеза, чтобы корректно сравнивать офис и удаленку, нужно брать один исторически период, т.к. внешние условия очень сильно могут влиять. Например, можно было бы трактовать снижение производительности после начала ковида как негативное влияние общемирового стресса и неопределенности. Метрики за 2023 и 2024 - последствия экономического кризиса и увольнений.
2) Пробовали ли вы отслеживать, как меняются метрики Ghost Engineers в течении длительного времени? Моя гипотеза, что часть людей по каким-то внутренним или внешним причинам имела плохую производительность, типа депрессия, выгорания, неинтересный проект, конфликт в команде или с менеджментом и т.п., и со временем эти люди восстанавливаются.
3) Аналогично, какая динамика на длительном промежутке времени (разброс вашей метрики) для среднего/хорошего/крутого инженера?
4) Какой разброс метрик внутри каждой качественной группы (Ghost/плохой/средний/хороший/крутой)?
5) Есть ли какая-то корреляция между параметрами метрик (например, резкими изменениями) и самостоятельным увольнением человека?
6) Есть ли какая-то корреляция между параметрами метрик (например, резкими изменениями) при изменении должности человека?
7) Пробовали ли вы делать опросы Ghost Engineers и их коллег, чтобы как-то еще валидировать свою гипотезу о них?
8) Вообще, в принципе, вы как-то еще валидировали вашу модель и ваши гипотезы, кроме анализа комитов и их экспертной оценки?
9) Как чистили и матчили данные? Типа у одного человека может быть несколько идентификаторов в репозитории.
10) Пробовали ли вы оценить, есть ли bias у вашей модели?
11) Есть ли у вас более техническое описание, что за модель? Как обучали, как валидировали, какая архитектура, loss function, метрики и т.п.
Вообще, классная задачи, сделать некий сервис, который будет оценивать параметры инженера, используя разные его активности. Но уж очень много всего нужно отдавать в такой сервис.
PS К слову говоря, после начала войны, большая часть аудитории иммигрировала на другие ресурсы, и ее качество изменилось.
PPS Я Computer Vision Engineer / ML Engineer, на Хабре я могу только раз в сутки отвечать, если интересно, пишите в Линкедин (https://www.linkedin.com/in/ilirium/).
Можно не только по координатам проверять. Если у нас есть доступ к интернету, то время от времени сверять время со спутника со временем с нескольких серверов NTP. Плюс можно реализовать проверку, что время со спутника не изменилось резко на большой промежуток времени.
Картинка смешная, спасибо. В реальности, теоретическую модель затем проверяют многократно с помощью экспериментов. Если что-то не подтверждается экспериментами, то это неработающая теория. А если подтверждается экспериментами, но выявляются условия, когда нет, приходит новая теория. И так по кругу ;)