Мне нравится периодически читать советы по разным ЯП или их фреймворкам, потому что реально узнаёшь что-то новое. Но зачастую - не описывается реальный прикладной опыт, который мог бы помочь.
Поэтому решил, что периодически буду описывать СВОй опыт в работе с разными инструментами с советами для других (и себя в том числе)
И вот первый совет - не знаете, откуда у вас тянутся маршруты? Например, изменилась версия фреймворка или вы решили попробовать что-то другое,где есть стандартные маршруты
И вы сразу увидите тип маршрута, откуда он исходит и какой конфигурационный файл отвечает за него
Поэтому решил, что периодически буду описывать СВОй опыт в работе с разными инструментами с советами для других (и себя в том числе)
И вот первый совет - не знаете, откуда у вас тянутся маршруты? Например, изменилась версия фреймворка или вы решили попробовать что-то другое,где есть стандартные маршруты
php artisan route:list
И вы сразу увидите тип маршрута, откуда он исходит и какой конфигурационный файл отвечает за него
POST reset-password ......................................................................................................................................................................................................................................................................................................................................... password.update › Laravel\Fortify › NewPasswordController@store
GET|HEAD reset-password/{token} ................................................................................................................................................................................................................................................................................................................................. password.reset › Laravel\Fortify › NewPasswordController@create
ANY settings ....................................................................................................................................................................................................................................................................................................................................................................... Illuminate\Routing › RedirectController
GET|HEAD settings/appearance ..................................................................................................................................................................................................................................................................................................................................... appearance.edit › Livewire\Mechanisms › LivewirePageController
GET|HEAD settings/password .................................................................................................................................................................................................................................................................................................................................... user-password.edit › Livewire\Mechanisms › LivewirePageController
GET|HEAD settings/profile ........................................................................................................................................................................................................................................................................................................................................... profile.edit › Livewire\Mechanisms › LivewirePageController
🔥1
А вообще, я забыл вам расписать одну вещь ещё утром
РЭД ОС С обновилась. И боже мой, походу они услышали мои просьбы
Наконец-то интерфейс камеры сделали нормальным. И он супер удобный и практичный (скрин прилагаю)
И наконец-то они починили запись экрана встроенным средством. Мое уважение, этого я реально ждал.
Компании РЭД ОС М выражаю огромную благодарность за проделанную работу. Работайте, братья
РЭД ОС С обновилась. И боже мой, походу они услышали мои просьбы
Наконец-то интерфейс камеры сделали нормальным. И он супер удобный и практичный (скрин прилагаю)
И наконец-то они починили запись экрана встроенным средством. Мое уважение, этого я реально ждал.
Компании РЭД ОС М выражаю огромную благодарность за проделанную работу. Работайте, братья
Глава NVIDIA Дженсен Хуанг отметил 25‑летие GeForce 3, назвав её стартом ИИ‑революции. По словам Хуанга, переход к программируемым шейдерам и последующее появление CUDA заложили основу для современных ИИ‑технологий, включая RTX и DLSS.
Для меня было огромной радостью служить всем вам. Спасибо вам за всё, что вы сделали для GeForce. Без GeForce не было бы CUDA. Без CUDA не было бы ИИ. Без ИИ не было бы сегодняшнего дня. И именно благодаря вам это стало возможным.
Дженсен Хуанг
Для меня было огромной радостью служить всем вам. Спасибо вам за всё, что вы сделали для GeForce. Без GeForce не было бы CUDA. Без CUDA не было бы ИИ. Без ИИ не было бы сегодняшнего дня. И именно благодаря вам это стало возможным.
Дженсен Хуанг
Временные отключения связи в крупных городах РФ создают условия для возрождения на улицах телефонных будок, но на новом уровне - с доступом в интернет. Об этом заявил ТАСС член комитета Госдумы по промышленности и торговле Игорь Антропенко ("Единая Россия").
"Остро назрела тема возрождения таксофонов, но уже с выходом в интернет. Это позволит гражданам оставаться на связи даже в период отключений и обеспечит должный уровень безопасности", - сказал Антропенко.
А может быть вы реально запустите белый список? Ну просто когда ты даже в банк зайти не можешь, такси заказать или (неожиданно для меня) зайти даже в национальный (теперь не только) мессенджер - это проблема явно не решится точками доступа
"Остро назрела тема возрождения таксофонов, но уже с выходом в интернет. Это позволит гражданам оставаться на связи даже в период отключений и обеспечит должный уровень безопасности", - сказал Антропенко.
А может быть вы реально запустите белый список? Ну просто когда ты даже в банк зайти не можешь, такси заказать или (неожиданно для меня) зайти даже в национальный (теперь не только) мессенджер - это проблема явно не решится точками доступа
А вот еще совет по Python Flask
Если вы закидываете файлы в static , то обязательно проверяйте нет ли в начале пути лишнего символа '/'
Иначе будете минут 5 думать а что собственно не так с вашим проектом, когда всё будет работать в dev моде , а подключенный модуль на тестовом стенде - нет
Так что запомните
Это наш БРО
Эта гнида НЕ БРО
Если вы закидываете файлы в static , то обязательно проверяйте нет ли в начале пути лишнего символа '/'
Иначе будете минут 5 думать а что собственно не так с вашим проектом, когда всё будет работать в dev моде , а подключенный модуль на тестовом стенде - нет
Так что запомните
<script src="{{ url_for('static', filename='plugins/particles/particles.js') }}"></script>Это наш БРО
<script src="{{ url_for('static', filename='/plugins/particles/particles.js') }}"></script>Эта гнида НЕ БРО
Forwarded from НеФормат | Сергей Смирнов
Нам больше двадцати лет с абсолютно серьезными лицами рассказывали одну и ту же мантру, которую чиновники и силовики повторяли как таблицу умножения, что малый и средний бизнес в России якобы никогда не перекрывает своими налогами нефтегазовый сектор, что вся эта мелкая предпринимательская суета является лишь приятным фоном для настоящей экономики, где серьезные деньги приносит экспорт нефти и газа, а все эти магазины, сервисы, айтишники, кафе, рекламные агентства, маркетплейсы и прочая предпринимательская жизнь существуют где то на периферии государственного бюджета и потому в любой момент могут быть слегка прижаты регуляторной рукой без особых последствий для казны.
Поэтому когда где то в кабинетах принимаются гениальные управленческие решения вроде того, что можно спокойно отключить интернет, можно неделю держать центр Москвы с кассовыми терминалами без нормальной связи, можно одним росчерком пера перекрыть рекламные потоки в Телеграме или внезапно придумать очередную систему регулирования цифровой экономики.
И вот здесь возникает маленькая математическая проблема, которая почему то плохо помещается в эту уютную картину мира, потому что в 2024 году малый и средний бизнес перечислил в бюджетную систему России более 11 триллионов рублей налогов и сборов, что уже само по себе выглядит довольно забавно на фоне старых лекций о том, что предприниматели якобы не способны сформировать серьезную налоговую базу.
Более того, по прогнозам и данным ФНС в 2025 году эта сумма вырастет уже до 12–13 триллионов рублей, причем сама налоговая служба говорит о рекордных поступлениях свыше 13 триллионов рублей.
Если же посмотреть на долю в налоговых доходах бюджетной системы, то картина становится еще интереснее, потому что МСП уже формирует около 30 процентов всех налоговых поступлений страны, и это уже не какая то статистическая погрешность, а вполне себе фундаментальная часть бюджетной конструкции.
В Москве в 2024 году малый и средний бизнес перечислил в городскую казну 1,314 триллиона рублей налогов, что составляет 26 процентов всех налоговых доходов столицы, причем это на 30 процентов больше чем годом ранее, то есть буквально каждый четвертый рубль в московском бюджете приносит тот самый бизнес, который так легко регулировать запретами, отключениями и административными экспериментами.
Теперь давайте откроем вторую колонку той самой старой легенды про главного кормильца бюджета, то есть нефтегазовую отрасль, где в 2024 году нефтегазовые доходы федерального бюджета составили 11,13 триллиона рублей, что выглядело вполне солидно. Но уже в 2025 году ситуация резко изменилась, потому что по итогам года нефтегазовые доходы федерального бюджета составили около 8,5 триллиона рублей, что на 24 процента меньше чем годом ранее.
Если же посмотреть на структуру бюджета, то доля нефтегазовых поступлений постепенно снижается, и в 2025 году она составила около 27 процентов федерального бюджета, тогда как Минфин уже прямо говорит о том, что к 2026 году ожидается сокращение этой доли примерно до 22 процентов.
И вот здесь возникает очень неловкая арифметика, потому что если сложить эти цифры в одну таблицу, то выясняется, что в 2025 году малый и средний бизнес впервые обогнал нефтегазовый сектор по объему налоговых поступлений в бюджетную систему страны, где МСП дал около 13 триллионов рублей, а нефтегаз принес около 8,5 триллиона.
Причем нефтегазовые доходы в основном идут в федеральный бюджет и сильно зависят от мировых цен, валютного курса и геополитики, тогда как налоги от малого и среднего бизнеса распределяются по всей бюджетной системе страны, включая федеральный, региональные и муниципальные уровни, формируя устойчивую налоговую базу, которая гораздо меньше зависит от того, сколько стоит баррель нефти на мировом рынке.
И вот после всей этой арифметики у людей, которые двадцать лет слушали лекции о вторичности малого бизнеса, возникает довольно простой и логичный вопрос, который, возможно, стоит адресовать тем самым любителям отключать интернет, блокировать рекламные каналы и экспериментировать с цифровой инфраструктурой.
Поэтому когда где то в кабинетах принимаются гениальные управленческие решения вроде того, что можно спокойно отключить интернет, можно неделю держать центр Москвы с кассовыми терминалами без нормальной связи, можно одним росчерком пера перекрыть рекламные потоки в Телеграме или внезапно придумать очередную систему регулирования цифровой экономики.
И вот здесь возникает маленькая математическая проблема, которая почему то плохо помещается в эту уютную картину мира, потому что в 2024 году малый и средний бизнес перечислил в бюджетную систему России более 11 триллионов рублей налогов и сборов, что уже само по себе выглядит довольно забавно на фоне старых лекций о том, что предприниматели якобы не способны сформировать серьезную налоговую базу.
Более того, по прогнозам и данным ФНС в 2025 году эта сумма вырастет уже до 12–13 триллионов рублей, причем сама налоговая служба говорит о рекордных поступлениях свыше 13 триллионов рублей.
Если же посмотреть на долю в налоговых доходах бюджетной системы, то картина становится еще интереснее, потому что МСП уже формирует около 30 процентов всех налоговых поступлений страны, и это уже не какая то статистическая погрешность, а вполне себе фундаментальная часть бюджетной конструкции.
В Москве в 2024 году малый и средний бизнес перечислил в городскую казну 1,314 триллиона рублей налогов, что составляет 26 процентов всех налоговых доходов столицы, причем это на 30 процентов больше чем годом ранее, то есть буквально каждый четвертый рубль в московском бюджете приносит тот самый бизнес, который так легко регулировать запретами, отключениями и административными экспериментами.
Теперь давайте откроем вторую колонку той самой старой легенды про главного кормильца бюджета, то есть нефтегазовую отрасль, где в 2024 году нефтегазовые доходы федерального бюджета составили 11,13 триллиона рублей, что выглядело вполне солидно. Но уже в 2025 году ситуация резко изменилась, потому что по итогам года нефтегазовые доходы федерального бюджета составили около 8,5 триллиона рублей, что на 24 процента меньше чем годом ранее.
Если же посмотреть на структуру бюджета, то доля нефтегазовых поступлений постепенно снижается, и в 2025 году она составила около 27 процентов федерального бюджета, тогда как Минфин уже прямо говорит о том, что к 2026 году ожидается сокращение этой доли примерно до 22 процентов.
И вот здесь возникает очень неловкая арифметика, потому что если сложить эти цифры в одну таблицу, то выясняется, что в 2025 году малый и средний бизнес впервые обогнал нефтегазовый сектор по объему налоговых поступлений в бюджетную систему страны, где МСП дал около 13 триллионов рублей, а нефтегаз принес около 8,5 триллиона.
Причем нефтегазовые доходы в основном идут в федеральный бюджет и сильно зависят от мировых цен, валютного курса и геополитики, тогда как налоги от малого и среднего бизнеса распределяются по всей бюджетной системе страны, включая федеральный, региональные и муниципальные уровни, формируя устойчивую налоговую базу, которая гораздо меньше зависит от того, сколько стоит баррель нефти на мировом рынке.
И вот после всей этой арифметики у людей, которые двадцать лет слушали лекции о вторичности малого бизнеса, возникает довольно простой и логичный вопрос, который, возможно, стоит адресовать тем самым любителям отключать интернет, блокировать рекламные каналы и экспериментировать с цифровой инфраструктурой.
🤔1
Forwarded from Похек (Сергей Зыбнев)
"Управляемый бэкдор" в MAX: разбор вирусного фейка от Liberty
#MAX #разбор
Liberty выкатили тред, где называют CDN-сервер мессенджера MAX "модулем удалённого управления". 148K просмотров. Разберём по-взрослому — без эмоций и маркетинга.
Что реально происходит
В начале марта на ntc.party и Хабре разобрали сетевой трафик MAX. Нашли модуль HOST_REACHABILITY:
➡️ Пингует Telegram, WhatsApp, gosuslugi.ru и ещё ряд хостов
➡️ Тянет IP-адрес из нескольких чекеров
➡️ Смотрит статус VPN через Android ConnectivityManager API
➡️ Отправляет собранное на api.oneme.ru
Это нашли ребята с Хабра, подтвердили реверсом APK. Вопросы к такой телеметрии — справедливы.
А теперь — фейковая часть
Liberty взяли чужое исследование и докрутили: st.max.ru — это, мол, "домен удалённого управления, который руководит приложением в вашем смартфоне".
На деле st.max.ru — CDN для статики. Он указан в документации MAX для разработчиков:
https://dev.max.ru/docs/webapps/bridge — откройте и проверьте сами.
Liberty называют скачанный 1 МБ "размером с целую книгу" команд. Ок, 1 МБ — это действительно объём небольшой книги. Но это и объём пачки эмодзи, иконок и JS-библиотек. Стандартный набор для мессенджера с
мини-приложениями. Если там "команды" — покажите их. Декодируйте. Распечатайте эту "книгу".
Где пруфы?
Если Liberty перехватили 1 МБ "команд управления" — почему не показали содержимое? Декомпилировали трафик? Расшифровали payload? Показали структуру этих "команд"? Ничего. Только "мы делаем однозначный вывод".
Авторы с Хабра реверсили APK, нашли конкретные классы и методы, показали бинарный протокол с MessagePack-сериализацией. А тут — "мегабайт, значит книга, значит бэкдор". Ну ок.
Feature flags = бэкдор?
Liberty пишут: раз модуль включается не у всех — это "управляемый бэкдор". Feature flags используют все: Google, Apple, Telegram, любое приложение в телефоне. A/B тесты, постепенный rollout — обычная инженерная практика, не заговор.
А что вообще может сделать приложение на телефоне?
Тут стоит напомнить базовую вещь. На современных Android и iOS приложение без явно выданных разрешений не может сделать с устройством ничего критичного. Хотите управлять чужим телефоном? Получите Accessibility Service. Хотите блокировать приложения или стирать данные? Device Administrator privileges. Всё это выдаётся руками пользователя с ОЧЕНЬ явным системным предупреждением.
MAX таких разрешений не запрашивает. Можете проверить в настройках прямо сейчас.
И какого бы я ни был мнения о команде MAX — вряд ли у них, как у NSO Group с их Pegasus, есть свой набор 0day-эксплойтов под обе платформы. Чтобы следить за тем, как вы отправляете показания счётчиков арендодателю квартиры))
Комменты из треда — имба
Уровень "расследования" лучше всего видно по комментариям:
➡️ "вот что мне ответил чат GPT на это" —
➡️ "
➡️ "Почему нельзя нормальный технический отчёт написать. Вас даже на хабре обоссали бы за такое" —
➡️ Один пользователь рассказал историю про FlashGet Kids на телефоне знакомой — приложение для родительского контроля, которое имеет легитимное удалённое управление и блокировку приложений. Причём тут MAX — загадка вселенной.
Итог
Телеметрия в любом приложении вызывает вопросы. Но наброс про "Управляемый бэкдор" — совсем разное. Это фантазия пользователей X, которые не показали ни одного расшифрованного payload.
#MAX #разбор
Liberty выкатили тред, где называют CDN-сервер мессенджера MAX "модулем удалённого управления". 148K просмотров. Разберём по-взрослому — без эмоций и маркетинга.
Что реально происходит
В начале марта на ntc.party и Хабре разобрали сетевой трафик MAX. Нашли модуль HOST_REACHABILITY:
Это нашли ребята с Хабра, подтвердили реверсом APK. Вопросы к такой телеметрии — справедливы.
А теперь — фейковая часть
Liberty взяли чужое исследование и докрутили: st.max.ru — это, мол, "домен удалённого управления, который руководит приложением в вашем смартфоне".
На деле st.max.ru — CDN для статики. Он указан в документации MAX для разработчиков:
<script src="https://st.max.ru/js/max-web-app.js"></script>https://dev.max.ru/docs/webapps/bridge — откройте и проверьте сами.
Liberty называют скачанный 1 МБ "размером с целую книгу" команд. Ок, 1 МБ — это действительно объём небольшой книги. Но это и объём пачки эмодзи, иконок и JS-библиотек. Стандартный набор для мессенджера с
мини-приложениями. Если там "команды" — покажите их. Декодируйте. Распечатайте эту "книгу".
Где пруфы?
Если Liberty перехватили 1 МБ "команд управления" — почему не показали содержимое? Декомпилировали трафик? Расшифровали payload? Показали структуру этих "команд"? Ничего. Только "мы делаем однозначный вывод".
Авторы с Хабра реверсили APK, нашли конкретные классы и методы, показали бинарный протокол с MessagePack-сериализацией. А тут — "мегабайт, значит книга, значит бэкдор". Ну ок.
Feature flags = бэкдор?
Liberty пишут: раз модуль включается не у всех — это "управляемый бэкдор". Feature flags используют все: Google, Apple, Telegram, любое приложение в телефоне. A/B тесты, постепенный rollout — обычная инженерная практика, не заговор.
А что вообще может сделать приложение на телефоне?
Тут стоит напомнить базовую вещь. На современных Android и iOS приложение без явно выданных разрешений не может сделать с устройством ничего критичного. Хотите управлять чужим телефоном? Получите Accessibility Service. Хотите блокировать приложения или стирать данные? Device Administrator privileges. Всё это выдаётся руками пользователя с ОЧЕНЬ явным системным предупреждением.
MAX таких разрешений не запрашивает. Можете проверить в настройках прямо сейчас.
И какого бы я ни был мнения о команде MAX — вряд ли у них, как у NSO Group с их Pegasus, есть свой набор 0day-эксплойтов под обе платформы. Чтобы следить за тем, как вы отправляете показания счётчиков арендодателю квартиры))
Комменты из треда — имба
Уровень "расследования" лучше всего видно по комментариям:
@fist_tsif приложил скриншоты ChatGPT. Зачем разбираться самому, если нейросеть рядом.@grok что может сделать max на айфоне?" — два человека вместо подумать своими мозгами позвали Grok в комменты.@cozz777. 343 лайка. Комментарий дороже треда.Итог
Телеметрия в любом приложении вызывает вопросы. Но наброс про "Управляемый бэкдор" — совсем разное. Это фантазия пользователей X, которые не показали ни одного расшифрованного payload.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
В марте 2026 года продавцы и владельцы пунктов выдачи заказов направили обращение к «Яндекс Маркету», выразив обеспокоенность участившимися случаями взломов личных кабинетов. Злоумышленники, получив доступ к аккаунтам, оформляют возвраты за ранее приобретённые товары на крупные суммы, при этом сами товары не возвращают. В результате маркетплейс предъявляет претензии владельцам пунктов выдачи, утверждая, что товары были утрачены.
Предприниматели сталкиваются с претензиями на миллионы рублей из-за подозрительных возвратов. Эксперты рекомендуют временно изменить текущую практику и не удерживать средства с пунктов выдачи до завершения проверки.
Предприниматели сталкиваются с претензиями на миллионы рублей из-за подозрительных возвратов. Эксперты рекомендуют временно изменить текущую практику и не удерживать средства с пунктов выдачи до завершения проверки.
Punk Programmer | Рассуждаю об IT
DRAG AND DROP В UNITY VK RuTube YouTube
Добавил YouTube
Удивительная ситуация, как браузер от одной конторы блокирует доступ к своим же ресурсам и режет трафик на YouTube с включёнными 3-буквенным сервисом
При этом, открывая Firefox и заходя в их поисковик - всё работает
Удивительная ситуация, как браузер от одной конторы блокирует доступ к своим же ресурсам и режет трафик на YouTube с включёнными 3-буквенным сервисом
При этом, открывая Firefox и заходя в их поисковик - всё работает
Forwarded from ФИПИВИ
На сайте Минтруда Тывы нашли ссылки на запрещённые ресурсы
В разделе «Интернет-приёмная Главы Тувы» на сайте Министерства труда и социальной политики Республики Тыва до сих пор размещены ссылки на давно запрещённые в России социальные сети.
Вместе с ссылкой на сайт правительства Республики Тыва и сообщество в VK там фигурируют ссылки на группы в Facebook и Instagram. Оба ресурса принадлежат экстремистской организации Meta, деятельность которой запретили на территории РФ ещё в марте 2022 года.
📸 Скриншот с сайта Министерства труда и социальной политики Республики Тыва
RuHard в MAX | RuHard в VK | RuHard в Дзен | Максим Горшенин в VK
В разделе «Интернет-приёмная Главы Тувы» на сайте Министерства труда и социальной политики Республики Тыва до сих пор размещены ссылки на давно запрещённые в России социальные сети.
Вместе с ссылкой на сайт правительства Республики Тыва и сообщество в VK там фигурируют ссылки на группы в Facebook и Instagram. Оба ресурса принадлежат экстремистской организации Meta, деятельность которой запретили на территории РФ ещё в марте 2022 года.
📸 Скриншот с сайта Министерства труда и социальной политики Республики Тыва
RuHard в MAX | RuHard в VK | RuHard в Дзен | Максим Горшенин в VK
Forwarded from Про tech и этих
Игроки Pokémon Go годами тренировали ИИ. Бесплатно и не догадываясь об этом
Niantic, создатель игры, параллельно развивает платформу визуального картографирования Niantic Lightship. Данные для нее собирались в том числе руками игроков.
За все время пользователи сделали десятки миллиардов фотографий реального мира: улицы, здания, парки, дворы. Формально это подавалось как сканирование покестопов и арен для улучшения AR. На деле снимки шли в обучение моделей компьютерного зрения.
На этой базе Niantic построила «визуальную позиционную систему». Она позволяет ИИ и роботам ориентироваться в физическом пространстве: распознавать объекты, понимать их взаимное расположение, выстраивать карту окружения. Область применения: робототехника, навигация, дополненная реальность. В том числе военная.
Игроки при этом думали, что просто прокачивают покестоп или зарабатывают бонусы.
Формально все чисто: согласие на обработку данных прописано в пользовательском соглашении. Но то, что собранные снимки пойдут на обучение моделей для сторонних задач, из текста соглашения не следовало никак. Классическая схема: пользователь создает ценность, платформа ее монетизирует, а разрыв между ожиданием и реальностью прикрыт юридическим мелким шрифтом.
😎 Читайте Про tech и этих
Теперь и в MAX
Niantic, создатель игры, параллельно развивает платформу визуального картографирования Niantic Lightship. Данные для нее собирались в том числе руками игроков.
За все время пользователи сделали десятки миллиардов фотографий реального мира: улицы, здания, парки, дворы. Формально это подавалось как сканирование покестопов и арен для улучшения AR. На деле снимки шли в обучение моделей компьютерного зрения.
На этой базе Niantic построила «визуальную позиционную систему». Она позволяет ИИ и роботам ориентироваться в физическом пространстве: распознавать объекты, понимать их взаимное расположение, выстраивать карту окружения. Область применения: робототехника, навигация, дополненная реальность. В том числе военная.
Игроки при этом думали, что просто прокачивают покестоп или зарабатывают бонусы.
Формально все чисто: согласие на обработку данных прописано в пользовательском соглашении. Но то, что собранные снимки пойдут на обучение моделей для сторонних задач, из текста соглашения не следовало никак. Классическая схема: пользователь создает ценность, платформа ее монетизирует, а разрыв между ожиданием и реальностью прикрыт юридическим мелким шрифтом.
Теперь и в MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
MIT Technology Review
How Pokémon Go is giving delivery robots an inch-perfect view of the world
Exclusive: Niantic's AI spinout is training a new world model using 30 billion images of urban landmarks crowdsourced from players.