Comments 18
Какая-то доля OSINT в этом есть
Я взял это https://github.com/telegramdesktop/tdesktop Возможно это не официальная сборка, но выглядит как официальная
Частично опенсорсный, клиентная часть. https://telegram.org/apps#source-code
Репа, конечно, есть, но как минимум клиент мобильный для андроида в сторе собирается из чуть другого кода. Видимо, у них какая-то приватная репа, изменения в которой они со временем в публичный апстрим льют
проверяем уникальные символы в текстах коммитах (например: ł для Польши, ß для Германии, ñ для Испании);
Насколько я помню, из немецко-говорящих стран ß действительно используется только в Германии (ну и для ваших целей, можно пренебречь), но из испано-говорящих стран ñ используется всюду. Есть и другие языки, где ñ используется. Если вы определяете страну по ñ в комбинации с часовой зоной, будет точнее (из текста неочевидно).
С последней картинкой интересно. Аргентина внезапно наибольшее количество имеет. Знаю, что c у Canonical здесь много персонала, конечно. Но все равно удивительно
В данном случае это смесь Аргентино-Бразильцев. При том, что часть Бразильцев я отрезал по Испанскому алфавиту и частично по популярным фамилиям, а в сторону Аргентины сдвинул, т.к. у неё более сильная экономика и IT отрасль. Но возможно я ошибся, т.к. следуя "карте офисов", работяги Canonical имеются в Сан-Паулу, а это Бразилия (на 1000 км выше).
Видимо "карта офисов" для ТОП 100 компаний сильно поправит разброс и нужно будет её сделать.
Вам бы кружочки побольше делать, а то на последней картинке четырёхзначные числа не влезают, я сначала удивился даже от странного распределения, пока не разглядел.
Я думал, скорость света будет сопоставляться со временем в коммитах, или что-то вроде этого. А тут — «смотрим в таймзону юзера».
— И это всё дал анализ слюны?!
— Да. К счастью, преступник, уходя, обронил паспорт, что полностью подтвердило наши подозрения.
(Но всё равно круто).
Для тех, кого это волнует - можно указать таймзону для git. Например, вот так можно установить UTC для всей активности (а заодно писать лог команд):
#!/bin/bash
LOG=..... path to your log file.txt
timestamp=$(date +'%Y-%m-%d %H:%M:%S %Z')
# quote the arguments if necessary
args_string=$(printf "%q " "$@")
echo -e "$timestamp: git $args_string\n" >> "$LOG"
# Check if the file has 1500+ lines, truncate it to 1000
if [ $(wc -l < "$LOG") -ge 1500 ]; then
tail -n 1000 "$LOG" > "$LOG.tmp" && mv "$LOG.tmp" "$LOG"
fi
export TZ="UTC"
/usr/bin/git "$@"
И работать только через этот скрипт. Рецепт для macOS и unix-like. Как это сделать в Windows - не знаю, скорее всего примерно так же.
Ну определил ты, и что?
Определяем местоположение по коммитам в git